On Aug 9, 2012, at 12:05 AM, Li Yang wrote:
On Thu, Aug 9, 2012 at 10:52 AM, Jia Hongtao-B38951
[off-list ref] wrote:
quoted
=20
=20
quoted
-----Original Message-----
From: Linuxppc-dev [mailto:linuxppc-dev-
bounces+b38951=3Dfreescale.com@lists.ozlabs.org] On Behalf Of Kumar =
Gala
quoted
quoted
Sent: Wednesday, August 08, 2012 8:47 PM
To: Jia Hongtao-B38951
Cc: Wood Scott-B07421; <redacted>; Li Yang-R58472
Subject: Re: [PATCH 5/6] powerpc/fsl-pci: Add pci inbound/outbound =
PM
quoted
quoted
support
=20
quoted
quoted
quoted
quoted
quoted
quoted
=20
On Jul 24, 2012, at 5:20 AM, Jia Hongtao wrote:
=20
quoted
Power supply for PCI inbound/outbound window registers is off
when
system
quoted
go to deep-sleep state. We save the values of registers =
before
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
suspend and restore to registers after resume.
=20
Signed-off-by: Jiang Yutang <redacted>
Signed-off-by: Jia Hongtao <redacted>
Signed-off-by: Li Yang <redacted>
---
arch/powerpc/include/asm/pci-bridge.h | 2 +-
arch/powerpc/sysdev/fsl_pci.c | 121
+++++++++++++++++++++++++++++++++
quoted
2 files changed, 122 insertions(+), 1 deletions(-)
=20
Remind me why we need to save/restore PCI ATMUs, why not just
re-parse the device tree to restore?
=20
- k
=20
Save/restore is the more efficient way. Latency of sleep/wakeup =
is
quoted
quoted
quoted
quoted
quoted
quoted
quoted
one of most important features in power management.
=20
-Hongtao.
=20
I don't think the time it takes to run through setup_pci_atmu() =
is
quoted
quoted
quoted
quoted
quoted
quoted
that long compared to fsl_pci_resume().
=20
Also, don't you need to setup PCICCSRBAR and do setup_pci_cmd() =
on
quoted
quoted
quoted
quoted
resume?
quoted
quoted
=20
- k
=20
Hi Kumar,
I did some tests on P1022DS and found out that PCI_CMD and =
PCICSRBAR
quoted
quoted
quoted
quoted
quoted
is not lost when system in deep sleep. We don't need to save it.
=20
How does the PCI code know you're entering deep sleep and not
hibernation?
quoted
quoted
=20
-Scott
=20
When system come back from hibernation PCI will be initialized =
again.
quoted
quoted
quoted
So no need to save PCI_CMD and PEXCSRBAR.
=20
-Hongtao.
=20
=20
What do you mean PCI will be initialized again? What code path are =
you
quoted
quoted
talking about that would set PCI_CMD & PEXCSRBAR?
=20
- k
=20
=20
In hibernation mode:
=20
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.
=20
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.
=20
- 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=