Pin-yen Lin
c0dcd5c072
clk: mediatek: Do a runtime PM get on controllers during probe
...
[ Upstream commit 2f7b1d8b5505efb0057cd1ab85fca206063ea4c3 ]
mt8183-mfgcfg has a mutual dependency with genpd during the probing
stage, which leads to a deadlock in the following call stack:
CPU0: genpd_lock --> clk_prepare_lock
genpd_power_off_work_fn()
genpd_lock()
generic_pm_domain::power_off()
clk_unprepare()
clk_prepare_lock()
CPU1: clk_prepare_lock --> genpd_lock
clk_register()
__clk_core_init()
clk_prepare_lock()
clk_pm_runtime_get()
genpd_lock()
Do a runtime PM get at the probe function to make sure clk_register()
won't acquire the genpd lock. Instead of only modifying mt8183-mfgcfg,
do this on all mediatek clock controller probings because we don't
believe this would cause any regression.
Verified on MT8183 and MT8192 Chromebooks.
Fixes: acddfc2c261b ("clk: mediatek: Add MT8183 clock support")
Signed-off-by: Pin-yen Lin <treapking@chromium.org>
Link: https://lore.kernel.org/r/20240312115249.3341654-1-treapking@chromium.org
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Tested-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-04-27 17:11:37 +02:00
..
2022-09-26 11:13:09 +08:00
2023-06-08 18:39:29 -07:00
2023-01-30 16:45:01 -08:00
2023-04-10 16:57:12 -07:00
2023-03-13 11:46:23 -07:00
2023-01-30 16:44:56 -08:00
2023-01-30 16:44:56 -08:00
2023-07-19 13:13:16 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-07-19 13:13:16 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-11-20 11:59:06 +01:00
2023-05-10 14:00:46 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-07-19 13:13:16 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-11-20 11:59:06 +01:00
2023-07-19 13:13:16 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-11-20 11:59:06 +01:00
2023-05-10 14:00:46 -07:00
2023-05-10 14:00:46 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 14:00:46 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-11-20 11:59:06 +01:00
2024-03-26 18:19:50 -04:00
2023-07-19 13:13:16 -07:00
2023-07-19 13:13:16 -07:00
2023-07-19 13:13:16 -07:00
2023-05-10 14:00:46 -07:00
2023-07-19 13:13:16 -07:00
2023-11-20 11:59:06 +01:00
2023-07-19 13:13:16 -07:00
2023-11-20 11:59:06 +01:00
2023-07-19 13:13:16 -07:00
2023-07-19 13:13:16 -07:00
2023-07-19 13:13:16 -07:00
2024-03-26 18:19:50 -04:00
2023-07-19 13:13:16 -07:00
2023-07-19 13:13:16 -07:00
2023-07-19 13:13:16 -07:00
2023-07-19 13:13:16 -07:00
2024-03-26 18:19:50 -04:00
2023-05-10 13:36:03 -07:00
2023-03-13 11:50:18 -07:00
2023-07-19 13:13:16 -07:00
2023-07-19 13:13:16 -07:00
2023-07-19 13:13:16 -07:00
2023-07-19 13:13:16 -07:00
2023-07-19 13:13:16 -07:00
2023-05-10 13:36:03 -07:00
2023-06-26 08:54:19 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 14:00:46 -07:00
2023-07-19 13:13:16 -07:00
2023-05-10 13:36:03 -07:00
2023-06-26 08:54:19 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-03-13 11:50:18 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2024-03-26 18:19:50 -04:00
2023-05-10 14:00:46 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-06-26 08:54:19 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-07-19 13:13:16 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-06-26 08:54:19 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-07-19 13:13:16 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 14:00:46 -07:00
2023-05-10 13:36:03 -07:00
2023-07-19 13:13:16 -07:00
2023-07-19 13:13:16 -07:00
2023-07-19 13:13:16 -07:00
2023-07-19 13:13:16 -07:00
2023-07-19 13:13:16 -07:00
2023-07-19 13:13:16 -07:00
2023-05-10 13:36:03 -07:00
2023-07-19 13:13:16 -07:00
2023-07-19 13:13:16 -07:00
2023-07-19 13:13:16 -07:00
2023-07-19 13:13:16 -07:00
2023-07-19 13:13:16 -07:00
2023-07-19 13:13:16 -07:00
2023-05-10 14:00:46 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-07-19 13:13:16 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-03-13 11:50:18 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-05-10 13:36:03 -07:00
2023-07-19 13:13:16 -07:00
2023-03-13 11:50:18 -07:00
2023-07-19 13:13:16 -07:00
2023-05-10 13:36:03 -07:00
2024-04-27 17:11:37 +02:00
2023-05-10 13:36:03 -07:00
2023-06-12 18:20:04 -07:00
2023-01-30 16:45:10 -08:00
2023-11-20 11:59:07 +01:00
2022-11-29 14:43:07 +08:00
2023-04-25 11:50:08 -07:00
2023-03-13 11:46:23 -07:00
2023-05-10 14:16:03 -07:00
2023-03-31 11:51:22 -07:00
2022-09-26 11:13:09 +08:00
2022-06-15 17:24:13 -07:00