From: Harald W. <la...@gn...> - 2005-12-21 20:37:23
|
Hi Ben! I have a couple of machines with an ASUS P4R800-VM mainboard. lspci looks like this: 00:00.0 Host bridge: ATI Technologies Inc Radeon 9100 IGP Host Bridge (rev = 02) 00:01.0 PCI bridge: ATI Technologies Inc Radeon 9100 IGP AGP Bridge 00:13.0 USB Controller: ATI Technologies Inc OHCI USB Controller #1 (rev 01) 00:13.1 USB Controller: ATI Technologies Inc OHCI USB Controller #2 (rev 01) 00:13.2 USB Controller: ATI Technologies Inc EHCI USB Controller (rev 01) 00:14.0 SMBus: ATI Technologies Inc ATI SMBus (rev 18) 00:14.1 IDE interface: ATI Technologies Inc: Unknown device 4349 00:14.3 ISA bridge: ATI Technologies Inc: Unknown device 434c 00:14.4 PCI bridge: ATI Technologies Inc: Unknown device 4342 00:14.5 Multimedia audio controller: ATI Technologies Inc IXP150 AC'97 Audi= o Controller 01:05.0 VGA compatible controller: ATI Technologies Inc Radeon 9100 IGP 02:08.0 Ethernet controller: 3Com Corporation 3Com 3C920B-EMB-WNM Integrate= d Fast Ethernet Controller (rev 40) 02:09.0 FireWire (IEEE 1394): Texas Instruments TSB43AB22/A IEEE-1394a-2000= Controller (PHY/Link) The issue is that those boards (as I believe most 9100IGP chips do) share main memory and video memory, and the user configures in CMOS SETUP whihc amount of memory he wants to dedicate to the video card. However (it might be a BIOS issue specific to this board), the cards report 0k videoram. radeonfb as it is in 2.6.14.4 therefore only does the following: radeonfb_pci_register BEGIN ACPI: PCI Interrupt 0000:01:05.0[A] -> GSI 16 (level, low) -> IRQ 177 radeonfb (0000:01:05.0): Found 0k of DDR 128 bits wide videoram radeonfb (0000:01:05.0): cannot map FB ACPI: PCI interrupt for device 0000:01:05.0 disabled radeonfb: probe of 0000:01:05.0 failed with error -5 I've altered radeon_base.c with a special exception for this chip, see the patch below. Now everything works like a charm. Cheers, Harald --- linux-2.6.14.4/drivers/video/aty/radeon_base.c 2005-12-15 00:50:41.0000= 00000 +0100 +++ linux-2.6.14.4-radeonfb/drivers/video/aty/radeon_base.c 2005-12-21 21:2= 6:27.000000000 +0100 @@ -2157,6 +2157,11 @@ case PCI_CHIP_RADEON_LZ: rinfo->video_ram =3D 8192 * 1024; break; + case PCI_CHIP_RS300_5834: + /* This chip ?can? have shared main memory / VRAM, + * and the size is configured according to CMOS SETUP */ + rinfo->video_ram =3D pci_resource_len(rinfo->pdev, 0); + break; default: break; } --=20 - Harald Welte <la...@gn...> http://gnumonks.org/ =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D "Privacy in residential applications is a desirable marketing option." (ETSI EN 300 175-7 Ch. A6) |
From: Benjamin H. <be...@ke...> - 2005-12-21 22:58:44
|
On Wed, 2005-12-21 at 21:37 +0100, Harald Welte wrote: > I've altered radeon_base.c with a special exception for this chip, see > the patch below. Now everything works like a charm. Hi ! Actually, this isn't the right way, the PCI resource might be bigger than the RAM assigned to the IGP chip. I'll try to get something better for you. The thing to do looks like that in X: else if ((info->ChipFamily == CHIP_FAMILY_RS100) || (info->ChipFamily == CHIP_FAMILY_RS200) || (info->ChipFamily == CHIP_FAMILY_RS300)) { CARD32 tom = INREG(RADEON_NB_TOM); pScrn->videoRam = (((tom >> 16) - (tom & 0xffff) + 1) << 6); OUTREG(RADEON_CONFIG_MEMSIZE, pScrn->videoRam * 1024); With #define RADEON_NB_TOM 0x15c Ben. |
From: Harald W. <la...@gn...> - 2005-12-21 22:26:49
|
On Wed, Dec 21, 2005 at 09:37:06PM +0100, Harald Welte wrote: > I've altered radeon_base.c with a special exception for this chip, see > the patch below. Now everything works like a charm. unfortunately I now discovered that the PCI resource is always 64MB in size, even when the UMA BIOS setting is configured to smaller (e.g. 8MB) sizes. I don't have a clue for a proper fix, but maybe you have ;) --=20 - Harald Welte <la...@gn...> http://gnumonks.org/ =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D "Privacy in residential applications is a desirable marketing option." (ETSI EN 300 175-7 Ch. A6) |
From: Benjamin H. <be...@ke...> - 2005-12-23 00:42:46
|
On Wed, 2005-12-21 at 23:26 +0100, Harald Welte wrote: > On Wed, Dec 21, 2005 at 09:37:06PM +0100, Harald Welte wrote: > > I've altered radeon_base.c with a special exception for this chip, see > > the patch below. Now everything works like a charm. > > unfortunately I now discovered that the PCI resource is always 64MB in > size, even when the UMA BIOS setting is configured to smaller (e.g. 8MB) > sizes. > > I don't have a clue for a proper fix, but maybe you have ;) You didn't get my mail about using RADEON_NB_TOM instead ? Ben. |