Re: [PATCH v2 13/14] drm/msm/a6xx: Vastly increase HFI timeout

2023-08-09 Thread Rob Clark
On Tue, Aug 8, 2023 at 2:03 PM Konrad Dybcio  wrote:
>
> A7xx GMUs can be slow as molasses at times.
> Increase the timeout to 1 second to match the vendor driver.
>
> Tested-by: Neil Armstrong  # on SM8550-QRD
> Tested-by: Dmitry Baryshkov  # sm8450
> Signed-off-by: Konrad Dybcio 
> ---
>  drivers/gpu/drm/msm/adreno/a6xx_hfi.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/msm/adreno/a6xx_hfi.c 
> b/drivers/gpu/drm/msm/adreno/a6xx_hfi.c
> index cdb3f6e74d3e..e25ddb82a087 100644
> --- a/drivers/gpu/drm/msm/adreno/a6xx_hfi.c
> +++ b/drivers/gpu/drm/msm/adreno/a6xx_hfi.c
> @@ -108,7 +108,7 @@ static int a6xx_hfi_wait_for_ack(struct a6xx_gmu *gmu, 
> u32 id, u32 seqnum,
>
> /* Wait for a response */
> ret = gmu_poll_timeout(gmu, REG_A6XX_GMU_GMU2HOST_INTR_INFO, val,
> -   val & A6XX_GMU_GMU2HOST_INTR_INFO_MSGQ, 100, 5000);
> +   val & A6XX_GMU_GMU2HOST_INTR_INFO_MSGQ, 100, 100);

yikes.. so our default autosuspend delay is 66ms.. and we hit this
path in the resume path (ie. if you click something after things have
been sitting idle for >66ms).. you really don't want something in that
critical path to take 1sec

BR,
-R

>
> if (ret) {
> DRM_DEV_ERROR(gmu->dev,
>
> --
> 2.41.0
>


[PATCH v2 13/14] drm/msm/a6xx: Vastly increase HFI timeout

2023-08-08 Thread Konrad Dybcio
A7xx GMUs can be slow as molasses at times.
Increase the timeout to 1 second to match the vendor driver.

Tested-by: Neil Armstrong  # on SM8550-QRD
Tested-by: Dmitry Baryshkov  # sm8450
Signed-off-by: Konrad Dybcio 
---
 drivers/gpu/drm/msm/adreno/a6xx_hfi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/msm/adreno/a6xx_hfi.c 
b/drivers/gpu/drm/msm/adreno/a6xx_hfi.c
index cdb3f6e74d3e..e25ddb82a087 100644
--- a/drivers/gpu/drm/msm/adreno/a6xx_hfi.c
+++ b/drivers/gpu/drm/msm/adreno/a6xx_hfi.c
@@ -108,7 +108,7 @@ static int a6xx_hfi_wait_for_ack(struct a6xx_gmu *gmu, u32 
id, u32 seqnum,
 
/* Wait for a response */
ret = gmu_poll_timeout(gmu, REG_A6XX_GMU_GMU2HOST_INTR_INFO, val,
-   val & A6XX_GMU_GMU2HOST_INTR_INFO_MSGQ, 100, 5000);
+   val & A6XX_GMU_GMU2HOST_INTR_INFO_MSGQ, 100, 100);
 
if (ret) {
DRM_DEV_ERROR(gmu->dev,

-- 
2.41.0