Hi, Peter Chen writes: > Introduce runtime PM and wakeup interrupt handler for cdns3, > the runtime PM is default off since other cdns3 has not implemented > glue layer support for runtime PM. it should be left disabled by default even after every glue implements it. Enabling runtime PM is a policy decision better left to userspace, IMO. > When the controller is in low power mode, the lpm flag will be set. > The interrupt triggered later than lpm flag is set considers as > wakeup interrupt and handled at cdns_drd_irq. Once the wakeup This sentence doesn't parse very well. Do you want to rephrase it? > occurs, it first disables interrupt to avoid later interrupt > occurrence since the controller is in low power mode at that > time, and access registers may be invalid at that time. At wakeup > handler, it will call pm_runtime_get to wakeup controller, and > at runtime resume handler, it will enable interrupt again. Then what? Are you going to, somehow, process pending interrupts? At what point? > The API platform_suspend is introduced for glue layer to implement > platform specific PM sequence. I really think that's unnecessary. Why can't we rely on parent->child relationship for this? -- balbi