In BOARDCFG_MANAGED mode, the firmware cannot restore the clock parents.
This responsibility is therefore delegated to the ti_sci driver, which uses
clk_restore_context() to trigger the context_restore() operation for all
registered clocks, including those managed by the sci-clk driver. The
sci-clk driver implements the context_restore() operation to ensure clock
parents are correctly restored.
Signed-off-by: Thomas Richard (TI.com) <thomas.richard@bootlin.com>
---
drivers/firmware/ti_sci.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/firmware/ti_sci.c b/drivers/firmware/ti_sci.c
index a4d28f37b58ae..1e3fe00ff9109 100644
--- a/drivers/firmware/ti_sci.c
+++ b/drivers/firmware/ti_sci.c
@@ -9,6 +9,7 @@
#define pr_fmt(fmt) "%s: " fmt, __func__
#include <linux/bitmap.h>
+#include <linux/clk.h>
#include <linux/cpu.h>
#include <linux/debugfs.h>
#include <linux/export.h>
@@ -3901,6 +3902,8 @@ static int ti_sci_resume_noirq(struct device *dev)
if (ret)
return ret;
}
+
+ clk_restore_context();
}
break;
default:
--
2.51.0