Re: Fighting for the power.

"Paul B. Mahol" <[email protected]>
Newsgroups gmane.os.freebsd.devel.acpi,gmane.os.freebsd.current,gmane.os.freebsd.devel.mobile
Message-ID <[email protected]>
On 5/7/09, M. Warner Losh <[email protected]> wrote:
> In message: <[email protected]>
>             "Paul B. Mahol" <[email protected]> writes:
> : On 5/4/09, Alexander Motin <[email protected]> wrote:
> : > 2. PCI devices
> : > PCI bus provides method to control device power. For example, I have
> : > completely no use for my FireWire controller and most of time - EHCI USB
> : > controller. Disabling them allows me to save about 3W of power. To
> : > disable all unneeded PCI devices you should build kernel without their
> : > drivers and add to loader.conf:
> : > hw.pci.do_power_nodriver=3
> : > To enable devices back all you need to do is just load their drivers as
> : > modules.
> :
> : Unloading modules doesnt put them back into into D3 state.
> : You are forced to load some another module again to put wanted device
> : into D3 state.
>
> It should.  If it isn't, that's a bug.

It's a bug.

On machine resume(pci_resume), pci_cfg_restore() is called causing D3 -> D0 for
all devices(including not attached ones).
Unloading module/detaching device doesn't call pci_cfg_save.

Should device_detach routine be used or new one like
pci_driver_removed() implemented?

-- 
Paul
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.