Bug 18310 - BIOS-related issue with ThinkPad T500
Summary: BIOS-related issue with ThinkPad T500
Status: RESOLVED NOTOURBUG
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/radeonhd (show other bugs)
Version: unspecified
Hardware: x86-64 (AMD64) FreeBSD
: medium normal
Assignee: Egbert Eich
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
: 18345 (view as bug list)
Depends on:
Blocks:
 
Reported: 2008-10-30 10:08 UTC by Mike Burns
Modified: 2008-12-14 21:54 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
Xorg.0.log file from running with the xorg.conf (29.75 KB, text/plain)
2008-10-30 10:08 UTC, Mike Burns
no flags Details
The xorg.conf (563 bytes, application/octet-stream)
2008-10-30 10:09 UTC, Mike Burns
no flags Details
Xorg.0.log without an xorg.conf (21.68 KB, text/plain)
2008-10-30 10:10 UTC, Mike Burns
no flags Details
pciconf -lcv (9.32 KB, text/plain)
2008-11-01 13:23 UTC, Mike Burns
no flags Details

Description Mike Burns 2008-10-30 10:08:29 UTC
Created attachment 19964 [details]
Xorg.0.log file from running with the xorg.conf

New ThinkPad T500 with "ATI Mobility Radeon 3650 with 256MB". Running startx any number of times on the attached xorg.conf gives:

 (EE) RADEONHD(0): Cannot read BIOS image

(full log in Xorg.0.log-with-xorg.conf)

Running without an xorg.conf also finds no display, as shown in Xorg.0.log-no-xorg.conf .

This is with the latest radeonhd driver from git.
Comment 1 Mike Burns 2008-10-30 10:09:24 UTC
Created attachment 19965 [details]
The xorg.conf
Comment 2 Mike Burns 2008-10-30 10:10:04 UTC
Created attachment 19966 [details]
Xorg.0.log without an xorg.conf
Comment 3 Egbert Eich 2008-10-30 11:32:12 UTC
The log without config file is irrelevant it doesn't show driver problems. Please attach a log created with config file.
Comment 4 Mike Burns 2008-10-30 12:41:03 UTC
The log from the config file was the first I attached: https://bugs.freedesktop.org/attachment.cgi?id=19964
Comment 5 Egbert Eich 2008-11-01 12:16:01 UTC
(II) xf86ReadPciBios: modifying membase[-1] for device 1:0:0
Requesting insufficient memory window!: start: 0xbff00000 end: 0xbfffffff size 0x10000000
(EE) Cannot find empty range to map base to
(EE) RADEONHD(0): Cannot read BIOS image
(II) RADEONHD(0): Query for AtomBIOS Init: failed

This is not a driver bug. The chip is not detected as a primary chip - probably due to certain OS specific settings. You may want to try out a later server version.
X looks at the graphics card to find out if memory / io access is enabled at startup time. If this is the case the card is assumed to be a primary card. It's BIOS is loaded at the legacy location at 0xc0000 in RAM. If the card isn't enabled it tries to read the BIOS from the PCI ROM BAR location. This usually works but in your case this address is overlapping with others and cannot be moved safely.
The real problem however is that we should not get that far.
I cannot test this as I'm not using FreeBSD, maybe you can talk to some FreeBSD experts to find out what's going on here.
Does FreeBSD have commands like 'lspci' or setpci?
If so, could you please do: lspci -vv?
Comment 6 Mike Burns 2008-11-01 13:23:33 UTC
Created attachment 19994 [details]
pciconf -lcv
Comment 7 Mike Burns 2008-11-01 13:29:01 UTC
I had forgotten to mention that the T500 is a laptop with switchable graphics. The current option in the BIOS related that is: OS Detections for Switchable Graphics: Enabled. The help text for that option explains that if enabled, the BIOS changes the Graphics Device setting to Switchable Graphics if the OS supports it (Windows), and to Discrete Graphics otherwise.

I know very little about this feature. If you think it's a FreeBSD issue I can open a bug there; I wasn't sure how well X supported switchable graphics yet.
Comment 8 Egbert Eich 2008-11-01 14:25:49 UTC
So I assume the active graphics is the integrated Intel chip.
In this case it is ineed correct that the chip isn't primary. Due to mapping limitations your Xserver is unable to read the ROM which is essential for ATI chipsets.
You could try Xserver 1.5 which uses libpciaccess. There should be support for FreeBSD in libpciaccess already, however I'm not sure if this is also true for reading PCI ROMs.
But even when the ROM is found I'm not sure if it will work as the display will most likely still be connected to the other card.
ATM we don't know enough about these shared graphics devices. I assume you need a special driver to switch the panel between the outputs of the two chips.
Comment 9 Egbert Eich 2008-11-02 00:45:27 UTC
*** Bug 18345 has been marked as a duplicate of this bug. ***
Comment 10 Mike Burns 2008-12-14 21:54:07 UTC
This card worked fine under X when I tried GNU/Linux; clearly a FreeBSD issue, and I'll take it up there when I get the chance. Thanks.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.