[PATCH 5/6] powerpc/fsl-pci: Add pci inbound/outbound PM support
Kumar Gala
galak at kernel.crashing.org
Thu Aug 9 23:08:23 EST 2012
On Aug 9, 2012, at 12:05 AM, Li Yang wrote:
> On Thu, Aug 9, 2012 at 10:52 AM, Jia Hongtao-B38951
> <B38951 at freescale.com> wrote:
>>
>>
>>> -----Original Message-----
>>> From: Linuxppc-dev [mailto:linuxppc-dev-
>>> bounces+b38951=freescale.com at lists.ozlabs.org] On Behalf Of Kumar Gala
>>> Sent: Wednesday, August 08, 2012 8:47 PM
>>> To: Jia Hongtao-B38951
>>> Cc: Wood Scott-B07421; linuxppc-dev at lists.ozlabs.org; Li Yang-R58472
>>> Subject: Re: [PATCH 5/6] powerpc/fsl-pci: Add pci inbound/outbound PM
>>> support
>>>
>>>>>>>>>
>>>>>>>>> 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
>>
>>
>> In hibernation mode:
>>
>> When system come back from hibernation kernel will start up again.
>> Before loading hibernation image PCI initialization has already done.
>> Some other hardware also re-init again.
>
> In current Linux implementation, restoring from hibernation image is
> using late initcall. By that time, all the platform devices are
> already initialized like a fresh boot.
>
> - Leo
I ask against, what specific code path (I'd like a call trace) would cause PCI_CMD and PEXCSRBAR to be set in the wakeup case?
- k
More information about the Linuxppc-dev
mailing list