0x7240:0x1002:0x7240:Radeon X1900 MacEdition (PCIe)
Hi, I am trying to set up a ATI Radeon X1900 MacEdition (PCIe) on my Quad G5 PowerMac. This card works correctly on Mac OS X and in Open Firmware. That's about all, since as soon as the linux kernel stop using OF, the screen stop updating (I can seen the early boot process on screen, although the boot continue as usual as shown by the dmesg logs). The linux kernel used (Linux marie 2.6.26-2-powerpc64 #1 SMP Sun Jun 21 14:43:08 UTC 2009 ppc64 GNU/Linux) is a regular debian testing one. It tries to use the card, even if nothing appears on screen (follows some meaningful parts of dmesg log): [ 0.000336] Console: colour dummy device 80x25 [ 0.000618] console handover: boot [udbg0] -> real [tty0] [...] [ 1.168930] Using unsupported 640x480 ATY,Prionace_B at ac008000, depth=8, pitch=768 [ 1.174572] Console: switching to colour frame buffer device 80x30 [ 1.179923] fb0: Open Firmware frame buffer device on /pci@0,f0000000/ATY,PrionaceParent@0/ATY,Prionace_B@1 [...] [ 4.283477] Linux agpgart interface v0.103 [...] [ 12.455795] [drm] Initialized drm 1.1.0 20060810 [ 12.478283] pci 0000:0a:00.0: enabling device (0006 -> 0007) [ 12.481290] [drm] Initialized radeon 1.29.0 20080528 on minor 0 [...] When I compare this with my Mac mini G4 with a much older radeon (R280) and AGP interface, I can see that the kernel doesn't start the radeonfb interface. It doesn't include uploading of Radeon microcode either. Coming to the Xorg part, upon the advices of M. Danzer from the debian PPC port, I tried the RadeonHD driver: (from Xorg.log): [...] (II) Loading /usr/lib/xorg/modules/drivers//radeonhd_drv.so (II) Module radeonhd: vendor="AMD GPG" compiled for 1.4.0.90, module version = 1.2.1 Module class: X.Org Video Driver ABI class: X.Org Video Driver, version 2.0 [...] (II) RADEONHD: X driver for the following AMD GPG (ATI) graphics devices: RV505 : Radeon X1550, X1550 64bit. RV515 : Radeon X1300, X1550, X1600; FireGL V3300, V3350. RV516 : Radeon X1300, X1550, X1550 64-bit, X1600; FireMV 2250. R520 : Radeon X1800; FireGL V5300, V7200, V7300, V7350. RV530 : Radeon X1300 XT, X1600, X1600 Pro, X1650; FireGL V3400, V5200. RV535 : Radeon X1300, X1650. RV550 : Radeon X2300 HD. RV560 : Radeon X1650. RV570 : Radeon X1950, X1950 GT; FireGL V7400. R580 : Radeon X1900, X1950; AMD Stream Processor. R600 : Radeon HD 2900 GT/Pro/XT; FireGL V7600/V8600/V8650. RV610 : Radeon HD 2350, HD 2400 Pro/XT, HD 2400 Pro AGP; FireGL V4000. RV620 : Radeon HD 3450, HD 3470. RV630 : Radeon HD 2600 LE/Pro/XT, HD 2600 Pro/XT AGP; Gemini RV630; FireGL V3600/V5600. RV635 : Radeon HD 3650, HD 3670. RV670 : Radeon HD 3690, 3850, HD 3870, FireGL V7700, FireStream 9170. R680 : Radeon HD 3870 X2. M52 : Mobility Radeon X1300. M54 : Mobility Radeon X1400; M54-GL. M56 : Mobility Radeon X1600; Mobility FireGL V5200. M58 : Mobility Radeon X1800, X1800 XT; Mobility FireGL V7100, V7200. M62 : Mobility Radeon X1350. M64 : Mobility Radeon X1450, X2300. M66 : Mobility Radeon X1700, X1700 XT; FireGL V5250. M68 : Mobility Radeon X1900. M71 : Mobility Radeon HD 2300. M72 : Mobility Radeon HD 2400; Radeon E2400. M74 : Mobility Radeon HD 2400 XT. M76 : Mobility Radeon HD 2600; (Gemini ATI) Mobility Radeon HD 2600 XT. M82 : Mobility Radeon HD 3400. RS600 : Radeon Xpress 1200, Xpress 1250. RS690 : Radeon X1200, X1250, X1270. (II) RADEONHD: version 1.2.1, built from dist of git branch master, commit 761940fd (II) Primary Device is: PCI 0a:00:0 (--) Chipset R580 found (II) resource ranges after xf86ClaimFixedResources() call: [0] -1 0 0x00100000 - 0x3fffffff (0x3ff00000) MX[B]E(B) [1] -1 0 0x000f0000 - 0x000fffff (0x10000) MX[B] [2] -1 0 0x000c0000 - 0x000effff (0x30000) MX[B] [3] -1 0 0x00000000 - 0x0009ffff (0xa0000) MX[B] [4] -1 0 0xfa500000 - 0xfa50ffff (0x10000) MX[B]E [5] -1 0 0xfa510000 - 0xfa51ffff (0x10000) MX[B]E [6] -1 0 0xfa520000 - 0xfa52ffff (0x10000) MX[B]E [7] -1 0 0xfa530000 - 0xfa53ffff (0x10000) MX[B]E [8] -1 0 0xfa400000 - 0xfa401fff (0x2000) MX[B]E [9] -1 0 0xfa404000 - 0xfa407fff (0x4000) MX[B]E [10] -1 0 0xfa402000 - 0xfa403fff (0x2000) MX[B]E [11] -1 0 0x80080000 - 0x80080fff (0x1000) MX[B]E [12] -1 0 0x80081000 - 0x80081fff (0x1000) MX[B]E [13] -1 0 0x80082000 - 0x80083fff (0x2000) MX[B]E [14] -1 0 0x80000000 - 0x8007ffff (0x80000) MX[B]E [15] -1 0 0xa0020000 - 0xa003ffff (0x20000) MX[B](B) [16] -1 0 0xf1000000 - 0xf100ffff (0x10000) MX[B](B) [17] -1 0 0xa0000000 - 0xa7ffffff (0x8000000) MX[B](B) [18] -1 0 0x80100000 - 0x8011ffff (0x20000) MX[B](B) [19] -1 0 0x81000000 - 0x81ffffff (0x1000000) MX[B](B) [20] -1 0 0x90000000 - 0x9fffffff (0x10000000) MX[B](B) [21] -1 0 0x82000000 - 0x82ffffff (0x1000000) MX[B](B) [22] -1 0 0x0000ffff - 0x0000ffff (0x1) IX[B] [23] -1 0 0x00000000 - 0x000000ff (0x100) IX[B] [24] -1 0 0xf0000000 - 0xf0000000 (0x1) IX[B]E [25] -1 0 0xf0000000 - 0xf0000000 (0x1) IX[B]E [26] -1 0 0xf0000000 - 0xf0000000 (0x1) IX[B]E [27] -1 0 0xf0000000 - 0xf0000000 (0x1) IX[B]E [28] -1 0 0xf0000000 - 0xf0000000 (0x1) IX[B]E (II) resource ranges after probing: [0] -1 0 0x00100000 - 0x3fffffff (0x3ff00000) MX[B]E(B) [1] -1 0 0x000f0000 - 0x000fffff (0x10000) MX[B] [2] -1 0 0x000c0000 - 0x000effff (0x30000) MX[B] [3] -1 0 0x00000000 - 0x0009ffff (0xa0000) MX[B] [4] -1 0 0xfa500000 - 0xfa50ffff (0x10000) MX[B]E [5] -1 0 0xfa510000 - 0xfa51ffff (0x10000) MX[B]E [6] -1 0 0xfa520000 - 0xfa52ffff (0x10000) MX[B]E [7] -1 0 0xfa530000 - 0xfa53ffff (0x10000) MX[B]E [8] -1 0 0xfa400000 - 0xfa401fff (0x2000) MX[B]E [9] -1 0 0xfa404000 - 0xfa407fff (0x4000) MX[B]E [10] -1 0 0xfa402000 - 0xfa403fff (0x2000) MX[B]E [11] -1 0 0x80080000 - 0x80080fff (0x1000) MX[B]E [12] -1 0 0x80081000 - 0x80081fff (0x1000) MX[B]E [13] -1 0 0x80082000 - 0x80083fff (0x2000) MX[B]E [14] -1 0 0x80000000 - 0x8007ffff (0x80000) MX[B]E [15] -1 0 0xa0020000 - 0xa003ffff (0x20000) MX[B](B) [16] -1 0 0xf1000000 - 0xf100ffff (0x10000) MX[B](B) [17] -1 0 0xa0000000 - 0xa7ffffff (0x8000000) MX[B](B) [18] -1 0 0x80100000 - 0x8011ffff (0x20000) MX[B](B) [19] -1 0 0x81000000 - 0x81ffffff (0x1000000) MX[B](B) [20] -1 0 0x90000000 - 0x9fffffff (0x10000000) MX[B](B) [21] -1 0 0x82000000 - 0x82ffffff (0x1000000) MX[B](B) [22] -1 0 0x0000ffff - 0x0000ffff (0x1) IX[B] [23] -1 0 0x00000000 - 0x000000ff (0x100) IX[B] [24] -1 0 0xf0000000 - 0xf0000000 (0x1) IX[B]E [25] -1 0 0xf0000000 - 0xf0000000 (0x1) IX[B]E [26] -1 0 0xf0000000 - 0xf0000000 (0x1) IX[B]E [27] -1 0 0xf0000000 - 0xf0000000 (0x1) IX[B]E [28] -1 0 0xf0000000 - 0xf0000000 (0x1) IX[B]E (**) RADEONHD(0): Depth 24, (--) framebuffer bpp 32 (**) RADEONHD(0): Selected XAA 2D acceleration. (II) RADEONHD(0): Unknown card detected: 0x7240:0x1002:0x7240. If - and only if - your card does not work or does not work optimally please contact radeonhd@opensuse.org to help rectify this. Use the subject: 0x7240:0x1002:0x7240: <name of board> and *please* describe the problems you are seeing in your message. (--) RADEONHD(0): Detected an R580 on an unidentified card (II) RADEONHD(0): Mapped IO at 0xf7fbe000 (size 0x00010000) (II) RADEONHD(0): Getting BIOS copy from legacy VBIOS location (EE) RADEONHD(0): Invalid BIOS length field (II) RADEONHD(0): Query for AtomBIOS Init: failed (II) RADEONHD(0): The detected amount of videoram exceeds the PCI BAR aperture. (II) RADEONHD(0): Using only 131072kB of the total 245824kB. (--) RADEONHD(0): VideoRAM: 131072 kByte (II) Loading sub module "i2c" (II) LoadModule: "i2c"(II) Module "i2c" already built-in (II) RADEONHD(0): I2C bus "RHD I2C line 0" initialized. (II) RADEONHD(0): I2C bus "RHD I2C line 1" initialized. (II) RADEONHD(0): I2C bus "RHD I2C line 2" initialized. (II) Loading sub module "ddc" (II) LoadModule: "ddc"(II) Module "ddc" already built-in (II) RADEONHD(0): Detected VGA mode. (EE) RADEONHD(0): Failed to retrieve the minimum PLL output clock from ATOM. (EE) RADEONHD(0): Failed to retrieve the maximum PLL output clock from ATOM. (EE) RADEONHD(0): Failed to retrieve the Pixel Clock clock from ATOM. (EE) RADEONHD(0): Failed to retrieve the reference clock clock from ATOM. (II) RADEONHD(0): Query for AtomBIOS Get Connectors: failed (EE) RADEONHD(0): RHDConnectorsInit: Failed to retrieve Connector information. (EE) RADEONHD(0): Card information has invalid connector information (II) RADEONHD(0): I2C bus "RHD I2C line 0" removed. (II) RADEONHD(0): I2C bus "RHD I2C line 1" removed. (II) RADEONHD(0): I2C bus "RHD I2C line 2" removed. (II) RADEONHD(0): Query for AtomBIOS Teardown: failed (II) UnloadModule: "radeonhd" (EE) Screen(s) found, but none have a usable configuration. Fatal server error: no screens found Since it is a Mac Edition of the card, it may not include an AtomBios (only openfirmware). Maybe also that the fact that the linux kernel that I use doesn't seems to handle the card either doesn't help. Some more info: LSPCI: 0000:00:0b.0 PCI bridge: Apple Computer Inc. CPC945 PCIe Bridge 0000:0a:00.0 VGA compatible controller: ATI Technologies Inc R580 [Radeon X1900] 0001:00:00.0 Host bridge: Apple Computer Inc. U4 HT Bridge 0001:00:01.0 PCI bridge: Broadcom BCM5780 [HT2000] PCI-X bridge (rev a3) 0001:00:02.0 PCI bridge: Broadcom BCM5780 [HT2000] PCI-X bridge (rev a3) 0001:00:03.0 PCI bridge: Broadcom BCM5780 [HT2000] PCI-Express Bridge (rev a3) 0001:00:04.0 PCI bridge: Broadcom BCM5780 [HT2000] PCI-Express Bridge (rev a3) 0001:00:05.0 PCI bridge: Broadcom BCM5780 [HT2000] PCI-Express Bridge (rev a3) 0001:00:06.0 PCI bridge: Broadcom BCM5780 [HT2000] PCI-Express Bridge (rev a3) 0001:00:07.0 PCI bridge: Apple Computer Inc. Shasta PCI Bridge 0001:00:08.0 PCI bridge: Apple Computer Inc. Shasta PCI Bridge 0001:00:09.0 PCI bridge: Apple Computer Inc. Shasta PCI Bridge 0001:01:07.0 Class ff00: Apple Computer Inc. Shasta Mac I/O 0001:01:0b.0 USB Controller: NEC Corporation USB (rev 43) 0001:01:0b.1 USB Controller: NEC Corporation USB (rev 43) 0001:01:0b.2 USB Controller: NEC Corporation USB 2.0 (rev 04) 0001:03:0c.0 IDE interface: Broadcom K2 SATA 0001:03:0d.0 Class ff00: Apple Computer Inc. Shasta IDE 0001:03:0e.0 FireWire (IEEE 1394): Apple Computer Inc. Shasta Firewire 0001:05:04.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5780 Gigabit Ethernet (rev 03) 0001:05:04.1 Ethernet controller: Broadcom Corporation NetXtreme BCM5780 Gigabit Ethernet (rev 03) 0001:06:00.0 VGA compatible controller: nVidia Corporation NV43 [GeForce 6600] (rev a2) (I left the original nVidia card in a secondary PCIe slot, but neither the kernel or the X server seem to try and use it anyway). I am ready to do some testing if required. Since I am not subscribed to the mailing list, please CC me. Thank you for reading me. Best regards, -- Stéphane Louise -- To unsubscribe, e-mail: radeonhd+unsubscribe@opensuse.org For additional commands, e-mail: radeonhd+help@opensuse.org
Stephane Louise wrote:
I am trying to set up a ATI Radeon X1900 MacEdition (PCIe) on my Quad G5 PowerMac.
IIRC, the powerpc on Mac is a big-endian architecture. Coupled with:
(II) RADEONHD: version 1.2.1, built from dist of git branch master, commit 761940fd
it is not surprising that it doesn't work as version 1.2.1 of radeonhd does not support big-endian architectures. You need to update to at least version 1.2.5 of readonhd. But even then you're probably screwed, as the fixes in 1.2.5 do not extend to accessing the AtomBios. I attach a patch that might help you. You apply it to git master (or version 1.2.5 source would suffice, if you prefer). There is a possibility that you have to insert a '#define linux' before the '#include "compiler.h"' before it works correctly. I have to do that on the Alpha architecture for some reason that I haven't had time to find out why. (The patch fixes both endian and alignment issues.) But, if your ati card has no AtomBIOS as you suggest, then my patch will likely be of no use to you. Upgrading to at least version 1.2.5 of radeonhd may still be a useful test. Cheers Michael. diff --git a/src/AtomBios/CD_Operations.c b/src/AtomBios/CD_Operations.c index 1e48f81..7e0738f 100644 --- a/src/AtomBios/CD_Operations.c +++ b/src/AtomBios/CD_Operations.c @@ -39,7 +39,7 @@ Revision History: #include "Decoder.h" #include "atombios.h" - +#include "compiler.h" VOID PutDataRegister(PARSER_TEMP_DATA STACK_BASED * pParserTempData); VOID PutDataPS(PARSER_TEMP_DATA STACK_BASED * pParserTempData); @@ -438,7 +438,7 @@ UINT32 GetParametersDirect16(PARSER_TEMP_DATA STACK_BASED * pParserTempData) UINT32 GetParametersDirect32(PARSER_TEMP_DATA STACK_BASED * pParserTempData) { pParserTempData->CD_Mask.SrcAlignment=alignmentDword; - pParserTempData->Index=*(UINT32*)pParserTempData->pWorkingTableData->IP; + pParserTempData->Index = ldl_u(pParserTempData->pWorkingTableData->IP); pParserTempData->pWorkingTableData->IP+=sizeof(UINT32); return pParserTempData->Index; }
Michael Cree wrote:
Stephane Louise wrote:
I am trying to set up a ATI Radeon X1900 MacEdition (PCIe) on my Quad G5 PowerMac.
IIRC, the powerpc on Mac is a big-endian architecture. Coupled with:
Indeed.
(II) RADEONHD: version 1.2.1, built from dist of git branch master, commit 761940fd
it is not surprising that it doesn't work as version 1.2.1 of radeonhd does not support big-endian architectures. You need to update to at least version 1.2.5 of readonhd. But even then you're probably screwed, as the fixes in 1.2.5 do not extend to accessing the AtomBios. I attach a patch that might help you. You apply it to git master (or version 1.2.5 source would suffice, if you prefer). There is a possibility that you have to insert a '#define linux' before the '#include "compiler.h"' before it works correctly. I have to do that on the Alpha architecture for some reason that I haven't had time to find out why. (The patch fixes both endian and alignment issues.)
But, if your ati card has no AtomBIOS as you suggest, then my patch will likely be of no use to you. Upgrading to at least version 1.2.5 of radeonhd may still be a useful test.
(II) LoadModule: "radeonhd" (II) Loading /usr/lib/xorg/modules/drivers//radeonhd_drv.so (II) Module radeonhd: vendor="AMD GPG" compiled for 1.4.2, module version = 1.2.5 Module class: X.Org Video Driver ABI class: X.Org Video Driver, version 2.0 [...] (II) RADEONHD: X driver for the following AMD GPG (ATI) graphics devices: RV505 : Radeon X1550, X1550 64bit. RV515 : Radeon X1300, X1550, X1600; FireGL V3300, V3350. RV516 : Radeon X1300, X1550, X1550 64-bit, X1600; FireMV 2250. R520 : Radeon X1800; FireGL V5300, V7200, V7300, V7350. RV530 : Radeon X1300 XT, X1600, X1600 Pro, X1650; FireGL V3400, V5200. RV535 : Radeon X1300, X1650. RV550 : Radeon X2300 HD. RV560 : Radeon X1650. RV570 : Radeon X1950, X1950 GT; FireGL V7400. R580 : Radeon X1900, X1950; AMD Stream Processor. R600 : Radeon HD 2900 GT/Pro/XT; FireGL V7600/V8600/V8650. RV610 : Radeon HD 2350, HD 2400 Pro/XT, HD 2400 Pro AGP; FireGL V4000. RV620 : Radeon HD 3450, HD 3470. RV630 : Radeon HD 2600 LE/Pro/XT, HD 2600 Pro/XT AGP; Gemini RV630; FireGL V3600/V5600. RV635 : Radeon HD 3650, HD 3670. RV670 : Radeon HD 3690, 3850, HD 3870, FireGL V7700, FireStream 9170. R680 : Radeon HD 3870 X2. M52 : Mobility Radeon X1300. M54 : Mobility Radeon X1400; M54-GL. M56 : Mobility Radeon X1600; Mobility FireGL V5200. M58 : Mobility Radeon X1800, X1800 XT; Mobility FireGL V7100, V7200. M62 : Mobility Radeon X1350. M64 : Mobility Radeon X1450, X2300. M66 : Mobility Radeon X1700, X1700 XT; FireGL V5250. M68 : Mobility Radeon X1900. M71 : Mobility Radeon HD 2300. M72 : Mobility Radeon HD 2400; Radeon E2400. M74 : Mobility Radeon HD 2400 XT. M76 : Mobility Radeon HD 2600; (Gemini ATI) Mobility Radeon HD 2600 XT. M82 : Mobility Radeon HD 3400. M86 : Mobility Radeon HD 3650, HD 3670, Mobility FireGL V5700. M88 : Mobility Radeon HD 3850, HD 3850 X2, HD 3870, HD3870 X2. RS600 : Radeon Xpress 1200, Xpress 1250. RS690 : Radeon X1200, X1250, X1270. RS740 : RS740, RS740M. RS780 : Radeon HD 3100/3200/3300 Series. RV770 : Radeon HD 4800 Series; Everest, K2, Denali ATI FirePro. R700 : Radeon R700. M98 : Radeon M98 Mobility. RV730 : Radeon HD4670, HD4650. M96 : Radeon M96 Mobility. RV710 : Radeon HD4570, HD4350. (II) RADEONHD: version 1.2.5, built from non-git sources (II) Primary Device is: PCI 0a:00:0 (--) Chipset R580 found (II) resource ranges after xf86ClaimFixedResources() call: [0] -1 0 0x00100000 - 0x3fffffff (0x3ff00000) MX[B]E(B) [1] -1 0 0x000f0000 - 0x000fffff (0x10000) MX[B] [2] -1 0 0x000c0000 - 0x000effff (0x30000) MX[B] [3] -1 0 0x00000000 - 0x0009ffff (0xa0000) MX[B] [4] -1 0 0xfa500000 - 0xfa50ffff (0x10000) MX[B]E [5] -1 0 0xfa510000 - 0xfa51ffff (0x10000) MX[B]E [6] -1 0 0xfa520000 - 0xfa52ffff (0x10000) MX[B]E [7] -1 0 0xfa530000 - 0xfa53ffff (0x10000) MX[B]E [8] -1 0 0xfa400000 - 0xfa401fff (0x2000) MX[B]E [9] -1 0 0xfa404000 - 0xfa407fff (0x4000) MX[B]E [10] -1 0 0xfa402000 - 0xfa403fff (0x2000) MX[B]E [11] -1 0 0x80080000 - 0x80080fff (0x1000) MX[B]E [12] -1 0 0x80081000 - 0x80081fff (0x1000) MX[B]E [13] -1 0 0x80082000 - 0x80083fff (0x2000) MX[B]E [14] -1 0 0x80000000 - 0x8007ffff (0x80000) MX[B]E [15] -1 0 0xa0020000 - 0xa003ffff (0x20000) MX[B](B) [16] -1 0 0xf1000000 - 0xf100ffff (0x10000) MX[B](B) [17] -1 0 0xa0000000 - 0xa7ffffff (0x8000000) MX[B](B) [18] -1 0 0x80100000 - 0x8011ffff (0x20000) MX[B](B) [19] -1 0 0x81000000 - 0x81ffffff (0x1000000) MX[B](B) [20] -1 0 0x90000000 - 0x9fffffff (0x10000000) MX[B](B) [21] -1 0 0x82000000 - 0x82ffffff (0x1000000) MX[B](B) [22] -1 0 0x0000ffff - 0x0000ffff (0x1) IX[B] [23] -1 0 0x00000000 - 0x000000ff (0x100) IX[B] [24] -1 0 0xf0000000 - 0xf0000000 (0x1) IX[B]E [25] -1 0 0xf0000000 - 0xf0000000 (0x1) IX[B]E [26] -1 0 0xf0000000 - 0xf0000000 (0x1) IX[B]E [27] -1 0 0xf0000000 - 0xf0000000 (0x1) IX[B]E [28] -1 0 0xf0000000 - 0xf0000000 (0x1) IX[B]E (II) resource ranges after probing: [0] -1 0 0x00100000 - 0x3fffffff (0x3ff00000) MX[B]E(B) [1] -1 0 0x000f0000 - 0x000fffff (0x10000) MX[B] [2] -1 0 0x000c0000 - 0x000effff (0x30000) MX[B] [3] -1 0 0x00000000 - 0x0009ffff (0xa0000) MX[B] [4] -1 0 0xfa500000 - 0xfa50ffff (0x10000) MX[B]E [5] -1 0 0xfa510000 - 0xfa51ffff (0x10000) MX[B]E [6] -1 0 0xfa520000 - 0xfa52ffff (0x10000) MX[B]E [7] -1 0 0xfa530000 - 0xfa53ffff (0x10000) MX[B]E [8] -1 0 0xfa400000 - 0xfa401fff (0x2000) MX[B]E [9] -1 0 0xfa404000 - 0xfa407fff (0x4000) MX[B]E [10] -1 0 0xfa402000 - 0xfa403fff (0x2000) MX[B]E [11] -1 0 0x80080000 - 0x80080fff (0x1000) MX[B]E [12] -1 0 0x80081000 - 0x80081fff (0x1000) MX[B]E [13] -1 0 0x80082000 - 0x80083fff (0x2000) MX[B]E [14] -1 0 0x80000000 - 0x8007ffff (0x80000) MX[B]E [15] -1 0 0xa0020000 - 0xa003ffff (0x20000) MX[B](B) [16] -1 0 0xf1000000 - 0xf100ffff (0x10000) MX[B](B) [17] -1 0 0xa0000000 - 0xa7ffffff (0x8000000) MX[B](B) [18] -1 0 0x80100000 - 0x8011ffff (0x20000) MX[B](B) [19] -1 0 0x81000000 - 0x81ffffff (0x1000000) MX[B](B) [20] -1 0 0x90000000 - 0x9fffffff (0x10000000) MX[B](B) [21] -1 0 0x82000000 - 0x82ffffff (0x1000000) MX[B](B) [22] -1 0 0x0000ffff - 0x0000ffff (0x1) IX[B] [23] -1 0 0x00000000 - 0x000000ff (0x100) IX[B] [24] -1 0 0xf0000000 - 0xf0000000 (0x1) IX[B]E [25] -1 0 0xf0000000 - 0xf0000000 (0x1) IX[B]E [26] -1 0 0xf0000000 - 0xf0000000 (0x1) IX[B]E [27] -1 0 0xf0000000 - 0xf0000000 (0x1) IX[B]E [28] -1 0 0xf0000000 - 0xf0000000 (0x1) IX[B]E (**) RADEONHD(0): Depth 24, (--) framebuffer bpp 32 (**) RADEONHD(0): Selected XAA 2D acceleration. (II) RADEONHD(0): Unknown card detected: 0x7240:0x1002:0x7240. If - and only if - your card does not work or does not work optimally please contact radeonhd@opensuse.org to help rectify this. Use the subject: 0x7240:0x1002:0x7240: <name of board> and *please* describe the problems you are seeing in your message. (--) RADEONHD(0): Detected an R580 on an unidentified card (II) RADEONHD(0): Mapped IO @ 0xf1000000 to 0xf7fbe000 (size 0x00010000) (II) RADEONHD(0): PCIE Card Detected (II) RADEONHD(0): Getting BIOS copy from legacy VBIOS location (EE) RADEONHD(0): Invalid BIOS length field (II) RADEONHD(0): Getting BIOS copy from PCI ROM (II) Attempted to read BIOS 128KB from /sys/bus/pci/devices/0000:0a:00.0/rom: got 0KB (EE) RADEONHD(0): Cannot read BIOS image (II) RADEONHD(0): Query for AtomBIOS Init: failed (EE) RADEONHD(0): No Video RAM detected. (II) RADEONHD(0): Query for AtomBIOS Teardown: failed (II) UnloadModule: "radeonhd" (EE) Screen(s) found, but none have a usable configuration. Fatal server error: no screens found Using "#define linux" or not doesn't change a thing. In a way it seems worse than before since it doesn't detect the amount of video RAM. But I may have done something bad regarding the compilation or installation of the new radeonhd module. Thank you anyway for taking the time to answer. Best regards, -- Stéphane Louise -- To unsubscribe, e-mail: radeonhd+unsubscribe@opensuse.org For additional commands, e-mail: radeonhd+help@opensuse.org
On 13/07/2009, at 12:53 AM, Stephane Louise wrote:
I am trying to set up a ATI Radeon X1900 MacEdition (PCIe) on my Quad G5 PowerMac.
Looking at your xorg.conf:
(--) RADEONHD(0): Detected an R580 on an unidentified card (II) RADEONHD(0): Mapped IO @ 0xf1000000 to 0xf7fbe000 (size 0x00010000) (II) RADEONHD(0): PCIE Card Detected (II) RADEONHD(0): Getting BIOS copy from legacy VBIOS location (EE) RADEONHD(0): Invalid BIOS length field
The above error is not an issue. It is to be expected on a PPC system as the BIOS at the legacy VBIOS location is only supported on x86/ amd64 and ia64 architectures according to comments in the Linux kernel source. So radeonhd then attempts to read the BIOS from the PCI ROM:
(II) RADEONHD(0): Getting BIOS copy from PCI ROM (II) Attempted to read BIOS 128KB from /sys/bus/pci/devices/0000:0a: 00.0/rom: got 0KB (EE) RADEONHD(0): Cannot read BIOS image
The above is your problem. Radeonhd couldn't read the PCI ROM to get the BIOS. If you examine the directory /sys/bus/pci/devices/0000:0a:00.0/ you should see an entry rom and its typically 131072 bytes long. The advice under question 10.18 on http://www.x.org/wiki/radeonhd might be appropriate. Just be aware that the boot option pci=rom is useless to you as it is only implemented on x86 kernels, but the echo 1 to the rom entry might get things going - but I would be surprised as the code in radeonhd, IIRC, does just that prior to reading the ROM. The other possibility is that you need to enable the PCI card. The radeonhd driver does not do that; it assumes the card has been enabled already. So I also suggest trying: echo 1 > /sys/bus/pci/devices/0000:0a:00.0/enable echo 1 > /sys/bus/pci/devices/0000:0a:00.0/rom I advise against the setpci commands as the one to set COMMAND=2 will probably do more damage than good. What version of the Xserver are your running? Related to question 10.18 mentioned above is quite a bit of discussion about detecting secondary cards (which is equivalent to a primary card on some architectures) in the Xserver bugzilla earlier this year. I know changes were made to the linux kernel and presumably changes have also been made in the Xserver as it was determined that the problems required fixes in all of the kernel, the Xserver and the video drivers. A recent Xserver might be necessary. Another option is to disable the AtomBIOS - I think you set the UseAtomBIOS option to off in the xorg.conf file. My understanding is that not using AtomBIOS is not supported so you're on your own with that one. Cheers Michael. -- To unsubscribe, e-mail: radeonhd+unsubscribe@opensuse.org For additional commands, e-mail: radeonhd+help@opensuse.org
On Jul 13, 09 11:19:04 +1200, Michael Cree wrote:
Another option is to disable the AtomBIOS - I think you set the UseAtomBIOS option to off in the xorg.conf file. My understanding is that not using AtomBIOS is not supported so you're on your own with that one.
That said, you probably need a quirks table entry, as otherwise no
connectors would be detected. In order to find out the connector
information, run the conntest utility as described in its README.
CU
Matthias
--
Matthias Hopf
Michael Cree wrote:
On 13/07/2009, at 12:53 AM, Stephane Louise wrote:
(II) RADEONHD(0): Getting BIOS copy from legacy VBIOS location (EE) RADEONHD(0): Invalid BIOS length field
The above error is not an issue. It is to be expected on a PPC system as the BIOS at the legacy VBIOS location is only supported on x86/amd64 and ia64 architectures according to comments in the Linux kernel source.
Yes, in fact I know some little things about IA32, driver writing and PC video cards because I have done a little development for an obscure real-time monitor that works on bare bone PCs.
So radeonhd then attempts to read the BIOS from the PCI ROM:
(II) RADEONHD(0): Getting BIOS copy from PCI ROM (II) Attempted to read BIOS 128KB from /sys/bus/pci/devices/0000:0a:00.0/rom: got 0KB (EE) RADEONHD(0): Cannot read BIOS image
The above is your problem. Radeonhd couldn't read the PCI ROM to get the BIOS.
If you examine the directory /sys/bus/pci/devices/0000:0a:00.0/ you should see an entry rom and its typically 131072 bytes long.
Indeed: -r-------- 1 root root 131072 jui 11 17:12 rom
The advice under question 10.18 on http://www.x.org/wiki/radeonhd might be appropriate. Just be aware that the boot option pci=rom is useless to you as it is only implemented on x86 kernels, but the echo 1 to the rom entry might get things going - but I would be surprised as the code in radeonhd, IIRC, does just that prior to reading the ROM.
The other possibility is that you need to enable the PCI card. The radeonhd driver does not do that; it assumes the card has been enabled already. So I also suggest trying:
echo 1 > /sys/bus/pci/devices/0000:0a:00.0/enable echo 1 > /sys/bus/pci/devices/0000:0a:00.0/rom
Didn't change even a coma in the Xorg.log output. Thank you anyway for the tips. I think, I'll try without the AtomBIOS option, but I need to study the documentation beforehand. I'll see also what Matthias Hopf is suggesting. I'll take you informed if I make any progress.
What version of the Xserver are your running?
Kind'of old one. This is only Testing, since I don't want to deal with the the bugs directly from SiD. I think it is 1.4.1. There is 1.6.2 in SiD, thought. But here, living with a notoriously rare configuration, it may be worth it. Thank you for all, (Matthias also), I hope that I have the time to do some testing before my holidays, but anyway, I'll try and do it. Best regards, -- Stéphane Louise -- To unsubscribe, e-mail: radeonhd+unsubscribe@opensuse.org For additional commands, e-mail: radeonhd+help@opensuse.org
On 15/07/2009, at 9:45 AM, Stephane Louise wrote:
What version of the Xserver are your running?
Kind'of old one. This is only Testing, since I don't want to deal with the the bugs directly from SiD. I think it is 1.4.1. There is 1.6.2 in SiD, thought.
Ah, you're running Debian. So am I. The Lenny (and Squeeze) 1.4.1 Xserver fails to work on my Alphas with a radeon rv610 card and radeonhd. I suspect, but can't remember for sure, that I had similar messages in the Xorg log file as you report. A couple or so months ago I did have the Xserver working with the rv610 card after compiling my own 1.5.3 xserver and radeonhd and using a patched Linux kernel. So it does work on esoteric architectures! (Mind you, I don't have endian issues since Alpha is little endian.) I have since upgraded to Debian Sid to try out the newer Debian Xserver and updated to the 2.6.30 kernel (which finally supports resource files in sysfs on the Alpha architecture) but it causes kernel oops (with corruption of disk partitions) in the middle of xserver initialisation :-( I must get around to reporting that one since it is particularly nasty! Cheers Michael. -- To unsubscribe, e-mail: radeonhd+unsubscribe@opensuse.org For additional commands, e-mail: radeonhd+help@opensuse.org
participants (3)
-
Matthias Hopf
-
Michael Cree
-
Stephane Louise