Re: 2.6.10 dies when X tries to initialize PCI radeon 9200 SE

Jon Smirl
2005-01-16T10:33:10Z

I use PCI Rage128 cards which are working fine.

I suspect it is this code from radeon_drv.c. There is probably
something wrong with card's BIOS or whatever and it is saying that it
is an AGP card when it is really a PCI one. We used to specify this
manually in xconfig but now DRM code does it automatically. Fix is
probably to add a special case on the PCI_ID of the card that is
failing.

/* There are signatures in BIOS and PCI-SSID for a PCI card,
but they are not very reliable.
Following detection method works for all cards tested so far.
Note, checking AGP_ENABLE bit after drmAgpEnable call can also
give the correct result.
However, calling drmAgpEnable on a PCI card can cause some
strange lockup when the server
restarts next time.
*/
pci_read_config_dword(dev->pdev, RADEON_AGP_COMMAND_PCI_CONFIG, &save);
pci_write_config_dword(dev->pdev, RADEON_AGP_COMMAND_PCI_CONFIG,
save | RADEON_AGP_ENABLE);
pci_read_config_dword(dev->pdev, RADEON_AGP_COMMAND_PCI_CONFIG, &temp);
if (temp & RADEON_AGP_ENABLE)
dev_priv->flags |= CHIP_IS_AGP;
DRM_DEBUG("%s card detected\n",
((dev_priv->flags & CHIP_IS_AGP) ? "AGP" : "PCI"));
pci_write_config_dword(dev->pdev, RADEON_AGP_COMMAND_PCI_CONFIG, save);

--
Jon Smirl
jonsmirl@gmail.com