[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <47b362a2-116c-4260-84dc-0e0dc0ab7cc7@quicinc.com>
Date: Tue, 4 Mar 2025 18:49:53 +0800
From: Renjiang Han <quic_renjiang@...cinc.com>
To: Bjorn Andersson <andersson@...nel.org>,
Michael Turquette
<mturquette@...libre.com>,
Stephen Boyd <sboyd@...nel.org>,
Stanimir Varbanov
<stanimir.k.varbanov@...il.com>,
Vikash Garodia <quic_vgarodia@...cinc.com>,
Bryan O'Donoghue <bryan.odonoghue@...aro.org>,
Mauro Carvalho Chehab
<mchehab@...nel.org>
CC: <linux-arm-msm@...r.kernel.org>, <linux-clk@...r.kernel.org>,
<linux-kernel@...r.kernel.org>, <linux-media@...r.kernel.org>,
Taniya Das
<quic_tdas@...cinc.com>,
Dmitry Baryshkov <dmitry.baryshkov@...aro.org>
Subject: Re: [PATCH v4 0/2] Use APIs in gdsc genpd to switch gdsc mode for
venus v4 core
On 2/18/2025 6:33 PM, Renjiang Han wrote:
> 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.
>
> Make venus driver to use dev_pm_genpd_set_hwmode() to switch GDSC mode on
> v4.
> - 1. the venus driver adds compatibility with the new way to switch GDSC
> mode.
> - 2. the clock driver uses the HW_CTRL_TRIGGER flag, which means the venus
> driver needs to use the dev_pm_genpd_set_hwmode() API to switch GDSC mode.
>
> Validated this series on QCS615 and SC7180.
>
> Signed-off-by: Renjiang Han <quic_renjiang@...cinc.com>
> ---
> Changes in v4:
> - 1. Update the order of patches.
> - 2. Update vcodec_control_v4 to try dev_pm_genpd_set_hwmode first.
> - 3. Add hwmode_dev to indicate whether to use HW_CTRL_TRIGGER flag.
> - 4. Update commit message and cover letter message.
> - 5. Remove the patch that cleaned up dead code and will submit this patch
> with next patch series.
> - Link to v3: https://lore.kernel.org/r/20250115-switch_gdsc_mode-v3-0-9a24d2fd724c@quicinc.com
>
> Changes in v3:
> - 1. Update commit message.
> - 2. Add a patch to clean up the dead code for the venus driver.
> - 3. Remove vcodec_control_v4() function.
> - 4. Directly call dev_pm_genpd_set_hwmode() without vcodec_control_v4().
> - Link to v2: https://lore.kernel.org/r/20241223-switch_gdsc_mode-v2-0-eb5c96aee662@quicinc.com
>
> 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@quicinc.com
>
> ---
> Renjiang Han (1):
> venus: pm_helpers: add compatibility for dev_pm_genpd_set_hwmode 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/core.h | 2 ++
> drivers/media/platform/qcom/venus/pm_helpers.c | 38 ++++++++++++++------------
> 7 files changed, 32 insertions(+), 26 deletions(-)
> ---
> base-commit: 63b3ff03d91ae8f875fe8747c781a521f78cde17
> change-id: 20250115-switch_gdsc_mode-a9c14fad9a36
Gentle ping on this patch series.
>
> Best regards,
--
Best Regards,
Renjiang
Powered by blists - more mailing lists