Mailinglist Archive: radeonhd (319 mails)

< Previous Next >
[radeonhd] [Bug 16264] rhdAtomGetTables: No AtomBios signature found for second card
  • From: bugzilla-daemon@xxxxxxxxxxxxxxx
  • Date: Mon, 3 Nov 2008 13:57:52 -0800 (PST)
  • Message-id: <20081103215752.2B1E013015D@xxxxxxxxxxxxxxxxxxxxxxxx>
http://bugs.freedesktop.org/show_bug.cgi?id=16264


Wayne Whitney <whitney@xxxxxxxxxxxxxxxx> changed:

What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |REOPENED
Resolution|NOTABUG |




--- Comment #14 from Wayne Whitney <whitney@xxxxxxxxxxxxxxxx> 2008-11-03
13:57:48 PST ---
Hi, I tried the patch you supplied to check the videoRAM size. First, for the
record, as we discussed I have to do manual setpci commands before running X to
be able to get anywhere with my secondary card. The commands are: "setpci -s
..:.. ROM_ADDRESS=....0001 ; setpci -s ..:.. COMMAND=2".

From a fresh boot, if I do the setpci commands and then try the patched
radeonhd_drv with an xorg.conf containing active sections for both cards, then
I am able to get both cards running together. This is the first time I've
achieved that. However, if I exit X and then try the same thing again, it
crashes. Looking at the log, it finds the wrong BIOS for the secondary card
during the second execution. The first time X is run, the secondary card
doesn't have its VRAM enabled, so the patch takes the correct path in
rhdAtomInit(). But the second time X runs, the VRAM has already been enabled,
so the legacy VBIOS path is taken for the secondary card, which causes radeonhd
to find the BIOS for the primary card. That is presumably the root of the
crash.

If I understand correctly the problem is to find the correct BIOS image for the
card, and in particular to know when to use the legacy VBIOS path in
rhdAtomInit(). As I understand it, the legacy VBIOS path should work for the
boot video device, so the question is how to determine if we are dealing with
the boot video device.

Without the patch, rhdAtomInit() uses xf86IsEntityPrimary() to decide whether
to check the legacy VBIOS path. According to
<http://www.x.org/archive/X11R6.8.1/doc/DESIGN9.html>, this is the right thing
to do: "This function returns TRUE if the entity referenced by entityIndex is
the primary display device (i.e., the one initialised at boot time and used in
text mode)". But in practice, sometimes the Xserver is uncertain (I get "(!!)
More than one possible primary device found" in Xorg.log), and sometimes it is
just wrong--when using IsolateDevice for a multi-seat setup (separate X
processes driving each card individually), Xserver only sees one card and flags
it as Primary. At least that is the behavior with the package
xorg-x11-server-Xorg-1.5.2-10.fc10.x86_64.

A couple questions:

(1) Should I log a bug on xfIsEntityPrimary() against Xserver? I'm not sure if
that interface ever worked, since I'm new to this. The reference I found is
rather old.

(2) Is there any other way to determine whether a card is the boot video
device?

(3) Some code could be added to verify that the BIOS image file found matches
the card being configured, and if not rhdAtomInit() could keep looking.

(4) Can we use /sys/bus/pci/devices/..../rom?

Lastly let me say I don't know anything about libpciaccess or whatever problems
its integration into Xorg has caused, so I may not have things straight here.

Thanks, Wayne


--
Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
_______________________________________________
xorg-team mailing list
xorg-team@xxxxxxxxxxx
http://lists.x.org/mailman/listinfo/xorg-team
--
To unsubscribe, e-mail: radeonhd+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: radeonhd+help@xxxxxxxxxxxx

< Previous Next >
List Navigation