linux/drivers/soc/mediatek
Eugen Hristev 339ddc983b pmdomain: mediatek: fix race conditions with genpd
[ Upstream commit c41336f4d6 ]

If the power domains are registered first with genpd and *after that*
the driver attempts to power them on in the probe sequence, then it is
possible that a race condition occurs if genpd tries to power them on
in the same time.
The same is valid for powering them off before unregistering them
from genpd.
Attempt to fix race conditions by first removing the domains from genpd
and *after that* powering down domains.
Also first power up the domains and *after that* register them
to genpd.

Fixes: 59b644b01c ("soc: mediatek: Add MediaTek SCPSYS power domains")
Signed-off-by: Eugen Hristev <eugen.hristev@collabora.com>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20231225133615.78993-1-eugen.hristev@collabora.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2024-03-01 13:26:30 +01:00
..
Kconfig Char/Misc and other driver changes for 6.1-rc1 2022-10-08 08:56:37 -07:00
Makefile soc: mediatek: SVS: introduce MTK SVS engine 2022-06-17 10:50:07 +02:00
mt6795-pm-domains.h soc: mediatek: pm-domains: Add support for Helio X10 MT6795 2022-07-08 10:26:30 +02:00
mt8167-mmsys.h soc: mediatek: add DDP_DOMPONENT_DITHER0 enum for mt8195 vdosys0 2022-04-22 14:38:53 +02:00
mt8167-pm-domains.h soc: mediatek: pm-domains: Move power status offset to power domain data 2022-02-28 12:02:04 +01:00
mt8173-pm-domains.h soc: mediatek: pm-domains: Move power status offset to power domain data 2022-02-28 12:02:04 +01:00
mt8183-mmsys.h soc: mediatek: add DDP_DOMPONENT_DITHER0 enum for mt8195 vdosys0 2022-04-22 14:38:53 +02:00
mt8183-pm-domains.h soc: mediatek: mtk-pm-domains: Allow probing vreg supply on two MFGs 2022-07-07 12:07:23 +02:00
mt8186-mmsys.h soc: mediatek: Add mmsys func to adapt to dpi output for MT8186 2022-09-15 23:50:28 +02:00
mt8186-pm-domains.h soc: mediatek: mtk-pm-domains: Allow mt8186 ADSP default power on 2023-03-11 13:55:17 +01:00
mt8192-mmsys.h soc: mediatek: add DDP_DOMPONENT_DITHER0 enum for mt8195 vdosys0 2022-04-22 14:38:53 +02:00
mt8192-pm-domains.h soc: mediatek: mtk-pm-domains: Allow probing vreg supply on two MFGs 2022-07-07 12:07:23 +02:00
mt8195-mmsys.h soc: mediatek: add DDP_DOMPONENT_DITHER0 enum for mt8195 vdosys0 2022-04-22 14:38:53 +02:00
mt8195-pm-domains.h soc: mediatek: mtk-pm-domains: Allow probing vreg supply on two MFGs 2022-07-07 12:07:23 +02:00
mt8365-mmsys.h soc: mediatek: mt8365-mmsys: add DPI/HDMI display path 2022-06-17 12:25:57 +02:00
mtk-cmdq-helper.c soc: mediatek: cmdq: Use mailbox rx_callback instead of cmdq_task_cb 2022-04-20 14:14:59 +02:00
mtk-devapc.c soc: mediatek: devapc: Add support for MT8186 2022-06-07 18:25:15 +02:00
mtk-infracfg.c soc: mediatek: mtk-infracfg: Disable ACP on MT8192 2022-03-01 08:21:28 +01:00
mtk-mmsys.c soc: mediatek: Add mmsys func to adapt to dpi output for MT8186 2022-09-15 23:50:28 +02:00
mtk-mmsys.h soc: mediatek: add mtk-mmsys support for mt8195 vdosys0 2022-04-22 14:38:52 +02:00
mtk-mutex.c soc: mediatek: mutex: Add support for MT6795 Helio X10 display mutex 2022-09-15 18:15:22 +02:00
mtk-pm-domains.c pmdomain: mediatek: fix race conditions with genpd 2024-03-01 13:26:30 +01:00
mtk-pm-domains.h soc: mediatek: pm-domains: Add support always on flag 2022-06-17 13:49:37 +02:00
mtk-pmic-wrap.c soc: mediatek: Let PMIC Wrapper and SCPSYS depend on OF 2022-08-25 15:20:31 +02:00
mtk-scpsys.c soc: mediatek: Let PMIC Wrapper and SCPSYS depend on OF 2022-08-25 15:20:31 +02:00
mtk-svs.c soc: mediatek: SVS: Fix MT8192 GPU node name 2023-07-19 16:21:27 +02:00