Skip to content

Commit e7ea59b

Browse files
miquelraynalbebarino
authored andcommitted
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 <[email protected]> Link: https://lkml.kernel.org/r/[email protected] Signed-off-by: Stephen Boyd <[email protected]>
1 parent 4d8fb49 commit e7ea59b

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

drivers/clk/mvebu/armada-37xx-periph.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -714,8 +714,8 @@ static int __maybe_unused armada_3700_periph_clock_resume(struct device *dev)
714714
}
715715

716716
static const struct dev_pm_ops armada_3700_periph_clock_pm_ops = {
717-
SET_SYSTEM_SLEEP_PM_OPS(armada_3700_periph_clock_suspend,
718-
armada_3700_periph_clock_resume)
717+
SET_NOIRQ_SYSTEM_SLEEP_PM_OPS(armada_3700_periph_clock_suspend,
718+
armada_3700_periph_clock_resume)
719719
};
720720

721721
static int armada_3700_periph_clock_probe(struct platform_device *pdev)

0 commit comments

Comments
 (0)