[PATCH 5/6] powerpc/fsl-pci: Add pci inbound/outbound PM support

Kumar Gala galak at kernel.crashing.org
Wed Aug 8 22:46:30 EST 2012


>>>>>> 
>>>>>> On Jul 24, 2012, at 5:20 AM, Jia Hongtao wrote:
>>>>>> 
>>>>>>> Power supply for PCI inbound/outbound window registers is off when
>>>>>> system
>>>>>>> go to deep-sleep state. We save the values of registers before
>>>>>>> suspend and restore to registers after resume.
>>>>>>> 
>>>>>>> Signed-off-by: Jiang Yutang <b14898 at freescale.com>
>>>>>>> Signed-off-by: Jia Hongtao <B38951 at freescale.com>
>>>>>>> Signed-off-by: Li Yang <leoli at freescale.com>
>>>>>>> ---
>>>>>>> arch/powerpc/include/asm/pci-bridge.h |    2 +-
>>>>>>> arch/powerpc/sysdev/fsl_pci.c         |  121
>>>>>> +++++++++++++++++++++++++++++++++
>>>>>>> 2 files changed, 122 insertions(+), 1 deletions(-)
>>>>>> 
>>>>>> Remind me why we need to save/restore PCI ATMUs, why not just
>>>>>> re-parse the device tree to restore?
>>>>>> 
>>>>>> - k
>>>>> 
>>>>> Save/restore is the more efficient way. Latency of sleep/wakeup is
>>>>> one of most important features in power management.
>>>>> 
>>>>> -Hongtao.
>>>> 
>>>> I don't think the time it takes to run through setup_pci_atmu() is
>>>> that long compared to fsl_pci_resume().
>>>> 
>>>> Also, don't you need to setup PCICCSRBAR and do setup_pci_cmd() on
>> resume?
>>>> 
>>>> - k
>>> 
>>> Hi Kumar,
>>> I did some tests on P1022DS and found out that PCI_CMD and PCICSRBAR
>>> is not lost when system in deep sleep. We don't need to save it.
>> 
>> How does the PCI code know you're entering deep sleep and not hibernation?
>> 
>> -Scott
> 
> When system come back from hibernation PCI will be initialized again.
> So no need to save PCI_CMD and PEXCSRBAR.
> 
> -Hongtao. 
> 

What do you mean PCI will be initialized again?  What code path are you talking about that would set PCI_CMD & PEXCSRBAR?

- k


More information about the Linuxppc-dev mailing list