Re: [PATCH v4 01/17] media: venus: hfi_venus: Only consider sys_idle_indicator on V1

From: Vikash Garodia
Date: Thu Jun 01 2023 - 05:10:04 EST


On 5/30/2023 6:00 PM, Konrad Dybcio wrote:
> As per information from Qualcomm [1], this property is not really
> supported beyond msm8916 (HFI V1) and some newer HFI versions really
> dislike receiving it, going as far as crashing the device.
>
> Only consider toggling it (via the module option) on HFIV1.
> While at it, get rid of the global static variable (which defaulted
> to zero) which was never explicitly assigned to for V1.
>
> Note: [1] is a reply to the actual message in question, as lore did not
> properly receive some of the emails..
>
> [1] https://lore.kernel.org/lkml/955cd520-3881-0c22-d818-13fe9a47e124@xxxxxxxxxx/
> Fixes: 7ed9e0b3393c ("media: venus: hfi, vdec: v6 Add IS_V6() to existing IS_V4() if locations")
> Fixes: d96d3f30c0f2 ("[media] media: venus: hfi: add Venus HFI files")
> Signed-off-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxx>

Reviewed-by: Vikash Garodia <quic_vgarodia@xxxxxxxxxxx>

> ---
> drivers/media/platform/qcom/venus/hfi_venus.c | 18 ++++++------------
> 1 file changed, 6 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/media/platform/qcom/venus/hfi_venus.c b/drivers/media/platform/qcom/venus/hfi_venus.c
> index f0b46389e8d5..918a283bd890 100644
> --- a/drivers/media/platform/qcom/venus/hfi_venus.c
> +++ b/drivers/media/platform/qcom/venus/hfi_venus.c
> @@ -131,7 +131,6 @@ struct venus_hfi_device {
>
> static bool venus_pkt_debug;
> int venus_fw_debug = HFI_DEBUG_MSG_ERROR | HFI_DEBUG_MSG_FATAL;
> -static bool venus_sys_idle_indicator;
> static bool venus_fw_low_power_mode = true;
> static int venus_hw_rsp_timeout = 1000;
> static bool venus_fw_coverage;
> @@ -927,17 +926,12 @@ static int venus_sys_set_default_properties(struct venus_hfi_device *hdev)
> if (ret)
> dev_warn(dev, "setting fw debug msg ON failed (%d)\n", ret);
>
> - /*
> - * Idle indicator is disabled by default on some 4xx firmware versions,
> - * enable it explicitly in order to make suspend functional by checking
> - * WFI (wait-for-interrupt) bit.
> - */
> - if (IS_V4(hdev->core) || IS_V6(hdev->core))
> - venus_sys_idle_indicator = true;
> -
> - ret = venus_sys_set_idle_message(hdev, venus_sys_idle_indicator);
> - if (ret)
> - dev_warn(dev, "setting idle response ON failed (%d)\n", ret);
> + /* HFI_PROPERTY_SYS_IDLE_INDICATOR is not supported beyond 8916 (HFI V1) */
> + if (IS_V1(hdev->core)) {
> + ret = venus_sys_set_idle_message(hdev, false);
> + if (ret)
> + dev_warn(dev, "setting idle response ON failed (%d)\n", ret);
> + }
>
> ret = venus_sys_set_power_control(hdev, venus_fw_low_power_mode);
> if (ret)
>