RadeonHD 3400 not recognized on a "switchable graphics" system
I just bought myself a U330 with an intel IGP and a radeon HD 3400 (switchable graphics). Its BIOS allows to disable the IGP, in which case the radeonhd driver works perfectly fine. However, when I go into "switchable graphics" mode in the BIOS, it the initialization fails. It seems that I hit the "cannot read ROM" bug. I tried the various hacks lying around, but it did not fix my particular situation. Namely, I tried: making sure that /sys/bus/pci/devices/<id>/enable is 1 echoing 1 to /sys/bus/pci/devices/<id>/rom making sure that the card's COMMAND register has its two first bits set making sure that the card's ROM_ADDRESS register has the right value (with first bit enabled to enable the ROM) cat-ing the rom file on sysfs fails with input/output error, and a dmesg that says that the ROM is invalid. Any clue as to what I can try now ? FYI, I'd like to boot in that mode to use the new powermanagement code in radeonhd and shut down the card as deep as possible ... so that I can save some battery by running only the intel chip. Does that make sense ? I tried putting it to D3 by writing a small kernel module, but that does not reduce the power consumption significantly (strangely enough). Sylvain -- To unsubscribe, e-mail: radeonhd+unsubscribe@opensuse.org For additional commands, e-mail: radeonhd+help@opensuse.org
Not sure I understand the question. The power management code in radeonhd only affects the HD3400, not the Intel chip. I imagine you would save more power by disabling the IGP in BIOS. -----Original Message----- From: Sylvain Joyeux [mailto:sylvain.joyeux@m4x.org] Sent: Tuesday, August 04, 2009 1:04 PM To: radeonhd@opensuse.org Subject: [radeonhd] RadeonHD 3400 not recognized on a "switchable graphics" system I just bought myself a U330 with an intel IGP and a radeon HD 3400 (switchable graphics). Its BIOS allows to disable the IGP, in which case the radeonhd driver works perfectly fine. However, when I go into "switchable graphics" mode in the BIOS, it the initialization fails. It seems that I hit the "cannot read ROM" bug. I tried the various hacks lying around, but it did not fix my particular situation. Namely, I tried: making sure that /sys/bus/pci/devices/<id>/enable is 1 echoing 1 to /sys/bus/pci/devices/<id>/rom making sure that the card's COMMAND register has its two first bits set making sure that the card's ROM_ADDRESS register has the right value (with first bit enabled to enable the ROM) cat-ing the rom file on sysfs fails with input/output error, and a dmesg that says that the ROM is invalid. Any clue as to what I can try now ? FYI, I'd like to boot in that mode to use the new powermanagement code in radeonhd and shut down the card as deep as possible ... so that I can save some battery by running only the intel chip. Does that make sense ? I tried putting it to D3 by writing a small kernel module, but that does not reduce the power consumption significantly (strangely enough). Sylvain -- To unsubscribe, e-mail: radeonhd+unsubscribe@opensuse.org For additional commands, e-mail: radeonhd+help@opensuse.org -- To unsubscribe, e-mail: radeonhd+unsubscribe@opensuse.org For additional commands, e-mail: radeonhd+help@opensuse.org
On Tue, Aug 4, 2009 at 7:06 PM, Bridgman, John
Not sure I understand the question. The power management code in radeonhd only affects the HD3400, not the Intel chip. I imagine you would save more power by disabling the IGP in BIOS.
What I wanted to try is put the radeon to sleep, i.e. not only clock down the engine, but also the memory and voltage. But maybe I'm mistaken and it won't work ... I had the impression that the whole purpose of switchable graphics was that the IGP will draw less power than the discrete chip. Sylvain -- To unsubscribe, e-mail: radeonhd+unsubscribe@opensuse.org For additional commands, e-mail: radeonhd+help@opensuse.org
FYI, I actually managed to shut down the ATI card completely, but without going through the driver. What could interest you is that the ACPI DSDT has methods that seem to set up the two cards (see attached DSDT). Shutting down the radeon is done by calling ATPX(2, [0 0 0]). I did not yet try to find out what the other modes are for. Another interesting bit: when in switchable graphics with Intel as primary the Radeon's SSID is changed from 3d9e to 3d9f, which is used by the DSDT to detect the mode. It could also be used by the radeonhd driver to blacklist the card. lenovo_acpi.tar.bz2 is the quick hack I made to disable the board. Just compile and load the module to kill the board. Note that it will work only if "switchable graphics" is selected in the BIOS. If "discrete graphics" is selected, the DSDT is modified so that ATPX is renamed into XTPX. This works on U330 ... It would be interesting to know if other Lenovo/non-Lenovo laptops with switchable graphics handle it the same way. Sylvain
Sylvain Joyeux wrote:
Namely, I tried:
making sure that /sys/bus/pci/devices/<id>/enable is 1 echoing 1 to /sys/bus/pci/devices/<id>/rom making sure that the card's COMMAND register has its two first bits set making sure that the card's ROM_ADDRESS register has the right value (with first bit enabled to enable the ROM)
cat-ing the rom file on sysfs fails with input/output error, and a dmesg that says that the ROM is invalid.
Yeah, that's not surprising on the newer radeon cards. You also have to setup certain I/O registers on the card first to enable the ROM for reading. The radeon and radeonhd drivers both enable the ROMs correctly. So does the rhd_conntest program in the utils directory of the radeonhd source. Try out rhd_conntest and see if that reads the ROM. You might need the '-r' option if it finds the onboard VBIOS rather than the ROM of the radeon card. Cheers Michael. -- To unsubscribe, e-mail: radeonhd+unsubscribe@opensuse.org For additional commands, e-mail: radeonhd+help@opensuse.org
No luck here either. rhd_conntest fails, and the kernel displays "invalid ROM Bios". Just for the record: - the kernel is 2.6.30.3 - the radeonHD code is latest from git Thanks Sylvain -- To unsubscribe, e-mail: radeonhd+unsubscribe@opensuse.org For additional commands, e-mail: radeonhd+help@opensuse.org
participants (3)
-
Bridgman, John
-
Michael Cree
-
Sylvain Joyeux