Re: PCI ROM resource allocation issue with 2.6.17-rc2

From: Dave Airlie
Date: Mon Apr 24 2006 - 01:55:53 EST



I've been running 2.6.12-rc2-mm3 for a long time. Recently I upgraded
a bunch of OS packages (Debian unstable), so I thought I may as well
upgrade the kernel, too. I've got a dual-head setup driven by a Radeon
9200 and a Radeon 7000. When I booted 2.6.17-rc2, X never came up; I
got "RADEON: Cannot read V_BIOS" and "RADEON: VIdeo BIOS not detected
in PCI space!" for the RADEON 7000, and it eventually gets in a loop of
spitting out "RADEON: Idle timed out, resetting engine ... " messages
in Xorg.log. Doing a diff of working and broken logs uncovered that the
Radeon 7000's PCI ROM resource area had moved from ff8c000 to c6900000.
Once I removed the Radeon 7000 screen from the Xorg config, X came up fine
on the one head. Adding stupid amounts of printks to the PCI subsystem in
.17-rc2 uncovered that at some point, the ROM area is discovered to be
at ff8c0000, but is later reallocated to c6900000.


welcome to X have a nice day :-)

X is horribly horribly broken in this area, if you remove the pci_enable_device from drivers/char/drm/drm_stub.c

and restart everything does it still happen?

The problem is that X uses the fact that the pci bars are disabled to decide whether to POST the card using the BIOS, however the card isn't actually posted but pci_enable_device enables the BARs...

however not doing pci_enable_device causes interrupts to not work on the cards in a lot of circumstances..

Dave.

--
David Airlie, Software Engineer
http://www.skynet.ie/~airlied / airlied at skynet.ie
Linux kernel - DRI, VAX / pam_smb / ILUG

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/