forked from luck/tmp_suning_uos_patched
clk: mvebu: armada-37xx-periph: change suspend/resume time
Armada 3700 PCIe IP relies on the PCIe clock managed by this driver. For reasons related to the PCI core's organization when suspending/resuming, PCI host controller drivers must reconfigure their registers at suspend_noirq()/resume_noirq() which happens after suspend()/suspend_late() and before resume_early()/resume(). Device link support in the clock framework enforce that the clock driver's resume() callback will be called before the PCIe driver's. But, any resume_noirq() callback will be called before all the registered resume() callbacks. The solution to support PCIe resume operation is to change the "priority" of this clock driver PM callbacks to "_noirq()". Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> Link: https://lkml.kernel.org/r/20190627125245.26788-3-miquel.raynal@bootlin.com Signed-off-by: Stephen Boyd <sboyd@kernel.org>
This commit is contained in:
parent
4d8fb49484
commit
e7ea59b6dc
|
@ -714,8 +714,8 @@ static int __maybe_unused armada_3700_periph_clock_resume(struct device *dev)
|
|||
}
|
||||
|
||||
static const struct dev_pm_ops armada_3700_periph_clock_pm_ops = {
|
||||
SET_SYSTEM_SLEEP_PM_OPS(armada_3700_periph_clock_suspend,
|
||||
armada_3700_periph_clock_resume)
|
||||
SET_NOIRQ_SYSTEM_SLEEP_PM_OPS(armada_3700_periph_clock_suspend,
|
||||
armada_3700_periph_clock_resume)
|
||||
};
|
||||
|
||||
static int armada_3700_periph_clock_probe(struct platform_device *pdev)
|
||||
|
|
Loading…
Reference in New Issue
Block a user