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

Kumar Gala galak at kernel.crashing.org
Thu Sep 20 01:49:20 EST 2012


>>> On Sep 17, 2012, at 9:10 PM, 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>
>>>> ---
>>>> Changes for V4:
>>>> We just rebase the patch upon following patch:
>>>> powerpc/fsl-pci: Unify pci/pcie initialization code
>>>> 
>>>> arch/powerpc/include/asm/pci-bridge.h |    2 +-
>>>> arch/powerpc/sysdev/fsl_pci.c         |  121
>>> +++++++++++++++++++++++++++++++++
>>>> 2 files changed, 122 insertions(+), 1 deletions(-)
>>> 
>>> Did you ever compare this to just re-parsing device tree method?
>>> 
>>> - k
>> 
>> I tested the re-parsing way by using setup_pci_atmu() when resume.
>> And I found out that re-parsing will *change* outbound IO translation
>> address regitster.
>> 
>> It seems that in the first bootup, after setup_atmu()
>> pcibios_setup_phb_resources() may update hose->io_resource, but atmu
>> is not updated according to the new hose->io_resource value.
>> In resume from sleep setup_atmu() will reset atmu according to the
>> new hose->io_resource value. So the setup_atmu() will cause different
>> result on outbound IO register between first bootup and resume from
>> sleep.
>> 
>> So... There's a possibility that in the first bootup atmu is not setup
>> properly.
> 
> [Are you seeing this happen in your testing?  If so its a bug we need to look at fixing.]
> 
> Yes, I see this in my testing.
> Also PCIe ethernet card works well after resuming from sleep in both save/restore
> and re-parsing way. (Maybe PCIe ethernet card don't need outbound IO resource)
> So, I guess the result of re-parsing (actually it's re-setup) is right and ATMU is not setup
> properly at the first bootup.

Are you seeing the following message - "PCI: I/O resource not set for host bridge" ?

Trying to understand why you'd hit the reassignment of io_resource.

- k

> 
> 
> 
>> 
>> Anyway, if setup_pci_atmu() at resume is functionally right then re-parsing
>> is a good way for PM. I also test the latency of re-parsing and save/restore,
>> both way are acceptable.
>> 
>> 
>> - Hongtao.
> 
> 



More information about the Linuxppc-dev mailing list