Re: [RFC v2 1/5] PM, Runtime, Add power_must_be_on flag
From: huang ying
Date: Sat May 05 2012 - 01:16:38 EST
On Sat, May 5, 2012 at 3:37 AM, Rafael J. Wysocki <rjw@xxxxxxx> wrote:
> On Friday, May 04, 2012, Huang Ying wrote:
>> The extreme way to save device power in runtime is to turn off power
>> of device. ÂFor example, D3cold for PCIe bus and ZPODD (Zero Power
>> Optical Disk Drive) for SATA bus will do that.
>>
>> But sometimes power off is not expected, some possible reason is as
>> follow
>>
>> - power off device usually incurs longer resume latency, if it exceeds
>> Â power QoS requirement, power off should be disabled.
>>
>> - For some buses, device in power off state can not support remote
>> Â wakeup. ÂIf remote wakeup is desired, power off should be disabled.
>>
>> In general, whether to put a device into power off state should be
>> decided by the driver of the device, but for some buses, whether to
>> put a device into power off state may be done by the parent of the
>> device. ÂFor example, a PCIe end point device may be put into power
>> off state by the PCIe port connected to it.
>>
>> So a flag is introduced for the children devices to tell the parent
>> device, whether it should be put into power off state.
>>
>> This flag is also used for device driver to tell bus layer whether it
>> is OK to be powered off.
>>
>> Signed-off-by: Huang Ying <ying.huang@xxxxxxxxx>
>
> I would be almost fine with this patch, if [2/5] were not present.
>
> However, if you introduce a flag like this, you need to put checks
> against it into all places where power may be removed from devices,
> like the generic PM domains framework (but not only there).
Yes. At least this flag will be needed by other buses, like ZPODD
support from Lin Ming:
https://lkml.org/lkml/2012/3/28/23
So my original plan is to introduce this flag firstly, then to add
checking for this flag in various places need it. Do you suggest to
put PCIe D3cold support, ZPODD support, power domain related checking
into one patchset.
Best Regards,
Huang Ying
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/