[Query] Enabling parent device clock from resume_noirq

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

resume_noirq callbacks are used in PCIe core to restore PCI state (this
accesses PCI module). So the clocks of PCI module has to be enabled before
resume_noirq.

The clocks for the PCI module in DRA7xx is provided by PIPE3 PHY device which
in turn gets it's clock from OCP2SCP device. During resume_noirq callbacks,
pm_runtime is disabled, so pm_runtime_get_sync is ineffective. However
pm_runtime can be enabled using pm_runtime_force_resume. Now the problem is
adding pm_runtime_force_resume() in resume_noirq callback of pci-dra7xx driver
will enable only the pm_runtime of PCI device but not PIPE3 PHY or OCP2SCP.
Adding pm_runtime_force_resume() in resume_noirq callback of PIPE3 PHY driver
or OCP2SCP driver will not help if the resume_noirq callbacks in PIP3PHY driver
and OCP2SCP driver are invoked after the resume_noirq of pci-dra7xx driver.

How to enable the pm_runtime of parent devices in resume_noirq callback? Does
existing pm_runtime framework has support for that?

Thanks
Kishon



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux