lkml.org 
[lkml]   [2008]   [Sep]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Put unused PCI devices in D3
On Mon, Sep 29, 2008 at 01:11:03PM -0700, Jeffrey W. Baker wrote:

> Currently it looks to me from browsing the code that D3 is only used in
> Linux when the whole machine is headed for S3, and the drivers are asked
> to suspend. I think the drivers should be able to enter D3 in other
> circumstances:
>
> * During pci_unregister_driver ... i.e. on module unload

The fact that Linux isn't using a device doesn't inherently mean that
the system isn't using it. For example, the smbus controller will
probably still be used by ACPI even if there's no Linux driver loaded.

> * When a network interface is downed

Yes. Drivers are moving towards this model.

> * If the device is a bridge or hub with no downstream device

Potential problems with hotplugging? But sure, this kind of thing is
being implemented in USB and SCSI.

> * Whenever userspace requests D3 via sysfs

This functionality was explicitly removed a few years back.

> So, what fundamental problem prevents me from, for example, calling
> pci_set_power_state() from ohci1394's __exit?

Nothing I'm aware of. It sounds pretty safe in that case. But that would
require you to load and unload the driver - better to have the driver
loaded the entire time and make sure it does as much runtime power
management as possible. I don't know enough about the firewire OHCI
hardware, but can you power down most of the chip and still get hotplug
events?
--
Matthew Garrett | mjg59@srcf.ucam.org

\
 
 \ /
  Last update: 2008-09-30 02:11    [from the cache]
©2003-2011 Jasper Spaans