diff mbox series

[4/7] media: venus: hfi: Skip AON register programming for V6 1pipe

Message ID 1621417008-6117-5-git-send-email-dikshita@codeaurora.org (mailing list archive)
State New, archived
Headers show
Series media: venus: Enable venus support on sc7280 | expand

Commit Message

Dikshita Agarwal May 19, 2021, 9:36 a.m. UTC
AON register programming is used to set NOC to low
power mode during V6 power off sequence. However
AON register memory map is not applicable to 1pipe,
hence skipping AON register programming.

Co-developed-by: Mansur Alisha Shaik <mansur@codeaurora.org>
Co-developed-by: Vikash Garodia <vgarodia@codeaurora.org>
Signed-off-by: Dikshita Agarwal <dikshita@codeaurora.org>
---
 drivers/media/platform/qcom/venus/hfi_venus.c | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Stanimir Varbanov May 31, 2021, 11:19 a.m. UTC | #1
On 5/19/21 12:36 PM, Dikshita Agarwal wrote:
> AON register programming is used to set NOC to low
> power mode during V6 power off sequence. However
> AON register memory map is not applicable to 1pipe,
> hence skipping AON register programming.
> 
> Co-developed-by: Mansur Alisha Shaik <mansur@codeaurora.org>
> Co-developed-by: Vikash Garodia <vgarodia@codeaurora.org>
> Signed-off-by: Dikshita Agarwal <dikshita@codeaurora.org>
> ---
>  drivers/media/platform/qcom/venus/hfi_venus.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 

Acked-by: Stanimir Varbanov <stanimir.varbanov@linaro.org>
diff mbox series

Patch

diff --git a/drivers/media/platform/qcom/venus/hfi_venus.c b/drivers/media/platform/qcom/venus/hfi_venus.c
index ce98c52..3a75a27 100644
--- a/drivers/media/platform/qcom/venus/hfi_venus.c
+++ b/drivers/media/platform/qcom/venus/hfi_venus.c
@@ -551,6 +551,9 @@  static int venus_halt_axi(struct venus_hfi_device *hdev)
 	if (IS_V6(hdev->core)) {
 		writel(0x3, cpu_cs_base + CPU_CS_X2RPMH_V6);
 
+		if (hdev->core->res->num_vpp_pipes == 1)
+			goto skip_aon_mvp_noc;
+
 		writel(0x1, aon_base + AON_WRAPPER_MVP_NOC_LPI_CONTROL);
 		ret = readl_poll_timeout(aon_base + AON_WRAPPER_MVP_NOC_LPI_STATUS,
 					 val,
@@ -560,6 +563,7 @@  static int venus_halt_axi(struct venus_hfi_device *hdev)
 		if (ret)
 			return -ETIMEDOUT;
 
+skip_aon_mvp_noc:
 		mask_val = (BIT(2) | BIT(1) | BIT(0));
 		writel(mask_val, wrapper_base + WRAPPER_DEBUG_BRIDGE_LPI_CONTROL_V6);