Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 8 May 2009 10:34:52 +0000
From:      "Paul B. Mahol" <onemda@gmail.com>
To:        "M. Warner Losh" <imp@bsdimp.com>
Cc:        mav@freebsd.org, freebsd-current@freebsd.org, freebsd-acpi@freebsd.org, freebsd-mobile@freebsd.org
Subject:   Re: Fighting for the power.
Message-ID:  <3a142e750905080334qb62dcb5hcd07ce028a4ff035@mail.gmail.com>
In-Reply-To: <20090507.001059.-1558772981.imp@bsdimp.com>
References:  <49FE1826.4060000@FreeBSD.org> <3a142e750905040240g58152e69p6fcb797a5e026426@mail.gmail.com> <20090507.001059.-1558772981.imp@bsdimp.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 5/7/09, M. Warner Losh <imp@bsdimp.com> wrote:
> In message: <3a142e750905040240g58152e69p6fcb797a5e026426@mail.gmail.com>
>             "Paul B. Mahol" <onemda@gmail.com> writes:
> : On 5/4/09, Alexander Motin <mav@freebsd.org> 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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3a142e750905080334qb62dcb5hcd07ce028a4ff035>