[PATCH v2 0/2] Use APIs in gdsc genpd to switch gdsc mode for venus v4 core

From: Renjiang Han
Date: Mon Dec 23 2024 - 04:03:32 EST


The Venus driver requires vcodec GDSC to be ON in SW mode for clock
operations and move it back to HW mode to gain power benefits. Earlier,
as there is no interface to switch the GDSC mode from GenPD framework,
the GDSC is moved to HW control mode as part of GDSC enable callback and
venus driver is writing to its POWER_CONTROL register to keep the GDSC ON
from SW whereever required. But the POWER_CONTROL register addresses are
not constant and can vary across the variants.

Also as per the HW recommendation, the GDSC mode switching needs to be
controlled from respective GDSC register and this is a uniform approach
across all the targets. Hence use dev_pm_genpd_set_hwmode() API which
controls GDSC mode switching using its respective GDSC register.

Validated this patch series on QCS615 and SC7180.
Also, need help to verify on sdm845 as we have no sdm845 device in hand.

Signed-off-by: Renjiang Han <quic_renjiang@xxxxxxxxxxx>
---
Changes in v2:
- 1. Add the HW_CTRL_TRIGGER flag for the targets SM7150/SM8150 and SM8450
video GDSCs supporting movement between HW and SW mode of the GDSC.
(Suggested by Dmitry Baryshkov)
- 2. There is a dependency of the clock driver introducing the new flag
and the video driver adapting to this new API. Missing either the clock
and video driver could potentially break the video driver.
- Link to v1: https://lore.kernel.org/r/20241122-switch_gdsc_mode-v1-0-365f097ecbb0@xxxxxxxxxxx

---
Renjiang Han (1):
venus: pm_helpers: Use dev_pm_genpd_set_hwmode to switch GDSC mode on V4

Taniya Das (1):
clk: qcom: videocc: Use HW_CTRL_TRIGGER flag for video GDSC's

drivers/clk/qcom/videocc-sc7180.c | 2 +-
drivers/clk/qcom/videocc-sdm845.c | 4 ++--
drivers/clk/qcom/videocc-sm7150.c | 4 ++--
drivers/clk/qcom/videocc-sm8150.c | 4 ++--
drivers/clk/qcom/videocc-sm8450.c | 4 ++--
drivers/media/platform/qcom/venus/pm_helpers.c | 10 +++++-----
6 files changed, 14 insertions(+), 14 deletions(-)
---
base-commit: 3e42dc9229c5950e84b1ed705f94ed75ed208228
change-id: 20241223-switch_gdsc_mode-0653deac071a

Best regards,
--
Renjiang Han <quic_renjiang@xxxxxxxxxxx>