[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