You are not logged in.

#1 2009-03-02 10:40:35

Neuro
Member
From: Poland
Registered: 2005-10-12
Posts: 352

A way to power off a PCI device

Hi

I've got a Lenovo Ideapad U330 laptop here with switchable graphics. One is ATi Radeon HD 3450 and the other Intel X4500MHD. The BIOS allows me to choose between discrete graphics (ATI only) and switchable graphics (ATI and Intel).

When the discrete mode is on, everything is dandy: the only device appearing on lspci is the ATI card. The framebuffer picks it up as the main display, and X.org works ok.
With the switchable mode both the Intel and the ATI card appear on the lspci. The Intel card is picked for the framebuffer and I can use which device to use in X.org (using the Device ID and choosing the appropriate driver). I would very much like this to use the Intel card for decreased power consumption in this mode, however I can't power off the ATI device. While running X on the intel graphics card powertop shows 25W, but on in the discrete mode (ATI only) I get 16W.

The relevant lspci entries of the ATI card look like this:

01:00.0 VGA compatible controller: ATI Technologies Inc Mobility Radeon HD 3400 Series
01:00.1 Audio device: ATI Technologies Inc RV620 Audio device [Radeon HD 34xx Series]

I found the following program: ftp://ftp.scyld.com/pub/diag/pci-config.c . It supposedly puts the devices into D3 (power off) ACPI state by doing for example

pci-config -s 01:00.0 -S
pci-config -s 01:00.1 -S

but I'm not sure that it works. It completely bypasses the kernel's PCI suspend/wake functions described here:
http://www.mjmwired.net/kernel/Document … er/pci.txt

Does anyone know any other programs which allow one to put a device to complete power off state?

Offline

Board footer

Powered by FluxBB