[PATCH] clk: qcom: mmcc-sdm660: Do not keep the video core clock always on

From: Fabricio Akio via B4 Relay

Date: Thu Oct 08 2026 - 17:49:28 EST


From: Fabricio Akio <fabricioakio@xxxxxxxxx>

video_core_clk_src is marked CLK_IS_CRITICAL, so it is kept prepared and
enabled from boot, and with it its parent XO, which the RPM then can
never shut down. Nothing records why: the clock only feeds the video
codec, whose driver enables the core clock it needs, and the same clock
is not critical on MSM8996 or MSM8998.

Drop the flag.

Fixes: 5db3ae8b33de ("clk: qcom: Add SDM660 Multimedia Clock Controller (MMCC) driver")
Signed-off-by: Fabricio Akio <fabricioakio@xxxxxxxxx>
---
Tested on a Motorola Moto X4 (SDM630): with the other votes that hold
XO removed, the SoC shut XO down in every suspend with this change and
in none without it. With the video codec enabled for the test, it
probed and loaded its firmware, and the clock was off while the codec
was idle.
---
drivers/clk/qcom/mmcc-sdm660.c | 1 -
1 file changed, 1 deletion(-)

diff --git a/drivers/clk/qcom/mmcc-sdm660.c b/drivers/clk/qcom/mmcc-sdm660.c
index 9f8b8e29fa0f..a38631889797 100644
--- a/drivers/clk/qcom/mmcc-sdm660.c
+++ b/drivers/clk/qcom/mmcc-sdm660.c
@@ -1086,7 +1086,6 @@ static struct clk_rcg2 video_core_clk_src = {
.parent_data = mmcc_xo_mmpll0_mmpll8_mmpll3_mmpll6_gpll0_mmpll7,
.num_parents = ARRAY_SIZE(mmcc_xo_mmpll0_mmpll8_mmpll3_mmpll6_gpll0_mmpll7),
.ops = &clk_rcg2_ops,
- .flags = CLK_IS_CRITICAL,
},
};


---
base-commit: aac26bee2287c88af5be5a5ff96d783b19a28790
change-id: 20261008-mmcc-sdm660-video-core-0d856bbf32ae

Best regards,
--
Fabricio Akio <fabricioakio@xxxxxxxxx>