[PATCH] media: rockchip: rga: Keep the clocks enabled without CONFIG_PM

Igor Velkov via B4 Relay devnull+iav.iav.lv at kernel.org
Mon Nov 2 09:48:57 PST 2026


From: Igor Velkov <iav at iav.lv>

Only rga_runtime_resume() enables the clocks. Without CONFIG_PM the
runtime PM callbacks are not registered, so rga_probe() reads the
version register with the clocks disabled.

Enable the clocks from probe in that case, as etnaviv and v3d do.

Signed-off-by: Igor Velkov <iav at iav.lv>
---
Split out of the rkvdec CONFIG_PM discussion, as Nicolas asked [1].
Build-tested only (arm64, COMPILE_TEST, W=1, CONFIG_PM=n and =y):
ARCH_ROCKCHIP selects PM, so no board runs this path.

[1] https://lore.kernel.org/r/8aafdbbf04a0d939c6b4d7d5577d97bb58d1c439.camel@collabora.com
---
 drivers/media/platform/rockchip/rga/rga.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/media/platform/rockchip/rga/rga.c b/drivers/media/platform/rockchip/rga/rga.c
index 543a0da75572..c50141bb5654 100644
--- a/drivers/media/platform/rockchip/rga/rga.c
+++ b/drivers/media/platform/rockchip/rga/rga.c
@@ -701,7 +701,10 @@ static int rga_parse_dt(struct rockchip_rga *rga)
 	udelay(1);
 	reset_control_deassert(ahb_rst);
 
-	ret = devm_clk_bulk_get_all(rga->dev, &rga->clks);
+	if (IS_ENABLED(CONFIG_PM))
+		ret = devm_clk_bulk_get_all(rga->dev, &rga->clks);
+	else
+		ret = devm_clk_bulk_get_all_enabled(rga->dev, &rga->clks);
 	if (ret < 0) {
 		dev_err(rga->dev, "failed to get clocks\n");
 		return ret;

---
base-commit: 27285b099fbc5cb2ae3aef20f3bbd7b3c88b3005
change-id: 20261102-rga-runtime-pm-clocks-9a4e6faecda0

Best regards,
-- 
Igor Velkov <iav at iav.lv>





More information about the linux-arm-kernel mailing list