RE: [PATCH] Revert "venus: firmware: Correct non-pix start and end addresses"

From: Vikash Garodia
Date: Tue Feb 07 2023 - 11:40:48 EST


Hi Javier and Matthias,
Can we try the attached patch if that fixes the suspend issue for sc7180 and sc7280 ?

> -----Original Message-----
> From: Javier Martinez Canillas <javierm@xxxxxxxxxx>
> Sent: Tuesday, February 7, 2023 3:53 PM
> To: linux-kernel@xxxxxxxxxxxxxxx
> Cc: Albert Esteve <aesteve@xxxxxxxxxx>; stanimir.varbanov@xxxxxxxxxx;
> Matthias Kaehlcke <mka@xxxxxxxxxxxx>; Enric Balletbo i Serra
> <eballetb@xxxxxxxxxx>; Javier Martinez Canillas <javierm@xxxxxxxxxx>; Andy
> Gross <agross@xxxxxxxxxx>; Bjorn Andersson <andersson@xxxxxxxxxx>; Konrad
> Dybcio <konrad.dybcio@xxxxxxxxxx>; Mauro Carvalho Chehab
> <mchehab@xxxxxxxxxx>; Stanimir Varbanov
> <stanimir.k.varbanov@xxxxxxxxx>; Vikash Garodia (QUIC)
> <quic_vgarodia@xxxxxxxxxxx>; linux-arm-msm@xxxxxxxxxxxxxxx; linux-
> media@xxxxxxxxxxxxxxx
> Subject: [PATCH] Revert "venus: firmware: Correct non-pix start and end
> addresses"
>
> WARNING: This email originated from outside of Qualcomm. Please be wary of
> any links or attachments, and do not enable macros.
>
> This reverts commit a837e5161cfffbb3242cc0eb574f8bf65fd32640, which
> broke probing of the venus driver, at least on the SC7180 SoC HP X2
> Chromebook:
>
> [ 11.455782] qcom-venus aa00000.video-codec: Adding to iommu group 11
> [ 11.506980] qcom-venus aa00000.video-codec: non legacy binding
> [ 12.143432] qcom-venus aa00000.video-codec: failed to reset venus core
> [ 12.156440] qcom-venus: probe of aa00000.video-codec failed with error -
> 110
>
> Matthias Kaehlcke also reported that the same change caused a regression in
> SC7180 and sc7280, that prevents AOSS from entering sleep mode during
> system suspend. So let's revert this commit for now to fix both issues.
>
> Fixes: a837e5161cff ("venus: firmware: Correct non-pix start and end
> addresses")
> Reported-by: Matthias Kaehlcke <mka@xxxxxxxxxxxx>
> Signed-off-by: Javier Martinez Canillas <javierm@xxxxxxxxxx>
> ---
>
> drivers/media/platform/qcom/venus/firmware.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/media/platform/qcom/venus/firmware.c
> b/drivers/media/platform/qcom/venus/firmware.c
> index 142d4c74017c..d59ecf776715 100644
> --- a/drivers/media/platform/qcom/venus/firmware.c
> +++ b/drivers/media/platform/qcom/venus/firmware.c
> @@ -38,8 +38,8 @@ static void venus_reset_cpu(struct venus_core *core)
> writel(fw_size, wrapper_base + WRAPPER_FW_END_ADDR);
> writel(0, wrapper_base + WRAPPER_CPA_START_ADDR);
> writel(fw_size, wrapper_base + WRAPPER_CPA_END_ADDR);
> - writel(0, wrapper_base + WRAPPER_NONPIX_START_ADDR);
> - writel(0, wrapper_base + WRAPPER_NONPIX_END_ADDR);
> + writel(fw_size, wrapper_base + WRAPPER_NONPIX_START_ADDR);
> + writel(fw_size, wrapper_base + WRAPPER_NONPIX_END_ADDR);
>
> if (IS_V6(core)) {
> /* Bring XTSS out of reset */
> --
> 2.39.1

Thanks,
Vikash

Attachment: 0001-firmware-video-configure-the-secure-and-non-secure-r.patch
Description: 0001-firmware-video-configure-the-secure-and-non-secure-r.patch