On 04/06/2026 18:35, Adrián Larumbe wrote:
> Just for the sake of avoiding repetition.
> 
> Signed-off-by: Adrián Larumbe <[email protected]>

Reviewed-by: Steven Price <[email protected]>

> ---
>  drivers/gpu/drm/panfrost/panfrost_perfcnt.c | 31 
> ++++++++++++-----------------
>  1 file changed, 13 insertions(+), 18 deletions(-)
> 
> diff --git a/drivers/gpu/drm/panfrost/panfrost_perfcnt.c 
> b/drivers/gpu/drm/panfrost/panfrost_perfcnt.c
> index 7020c0192e18..ad1156678e91 100644
> --- a/drivers/gpu/drm/panfrost/panfrost_perfcnt.c
> +++ b/drivers/gpu/drm/panfrost/panfrost_perfcnt.c
> @@ -35,6 +35,16 @@ struct panfrost_perfcnt {
>       struct completion dump_comp;
>  };
>  
> +static void panfrost_perfcnt_gpu_disable(struct panfrost_device *pfdev)
> +{
> +     gpu_write(pfdev, GPU_PERFCNT_CFG,
> +               GPU_PERFCNT_CFG_MODE(GPU_PERFCNT_CFG_MODE_OFF));
> +     gpu_write(pfdev, GPU_PRFCNT_JM_EN, 0x0);
> +     gpu_write(pfdev, GPU_PRFCNT_SHADER_EN, 0x0);
> +     gpu_write(pfdev, GPU_PRFCNT_MMU_L2_EN, 0x0);
> +     gpu_write(pfdev, GPU_PRFCNT_TILER_EN, 0);
> +}
> +
>  void panfrost_perfcnt_clean_cache_done(struct panfrost_device *pfdev)
>  {
>       complete(&pfdev->perfcnt->dump_comp);
> @@ -193,12 +203,7 @@ static int panfrost_perfcnt_disable_locked(struct 
> panfrost_device *pfdev,
>       if (user != perfcnt->user)
>               return -EINVAL;
>  
> -     gpu_write(pfdev, GPU_PRFCNT_JM_EN, 0x0);
> -     gpu_write(pfdev, GPU_PRFCNT_SHADER_EN, 0x0);
> -     gpu_write(pfdev, GPU_PRFCNT_MMU_L2_EN, 0x0);
> -     gpu_write(pfdev, GPU_PRFCNT_TILER_EN, 0);
> -     gpu_write(pfdev, GPU_PERFCNT_CFG,
> -               GPU_PERFCNT_CFG_MODE(GPU_PERFCNT_CFG_MODE_OFF));
> +     panfrost_perfcnt_gpu_disable(pfdev);
>  
>       perfcnt->user = NULL;
>       drm_gem_vunmap(&perfcnt->mapping->obj->base.base, &map);
> @@ -327,12 +332,7 @@ int panfrost_perfcnt_init(struct panfrost_device *pfdev)
>       perfcnt->bosize = size;
>  
>       /* Start with everything disabled. */
> -     gpu_write(pfdev, GPU_PERFCNT_CFG,
> -               GPU_PERFCNT_CFG_MODE(GPU_PERFCNT_CFG_MODE_OFF));
> -     gpu_write(pfdev, GPU_PRFCNT_JM_EN, 0);
> -     gpu_write(pfdev, GPU_PRFCNT_SHADER_EN, 0);
> -     gpu_write(pfdev, GPU_PRFCNT_MMU_L2_EN, 0);
> -     gpu_write(pfdev, GPU_PRFCNT_TILER_EN, 0);
> +     panfrost_perfcnt_gpu_disable(pfdev);
>  
>       init_completion(&perfcnt->dump_comp);
>       mutex_init(&perfcnt->lock);
> @@ -344,10 +344,5 @@ int panfrost_perfcnt_init(struct panfrost_device *pfdev)
>  void panfrost_perfcnt_fini(struct panfrost_device *pfdev)
>  {
>       /* Disable everything before leaving. */
> -     gpu_write(pfdev, GPU_PERFCNT_CFG,
> -               GPU_PERFCNT_CFG_MODE(GPU_PERFCNT_CFG_MODE_OFF));
> -     gpu_write(pfdev, GPU_PRFCNT_JM_EN, 0);
> -     gpu_write(pfdev, GPU_PRFCNT_SHADER_EN, 0);
> -     gpu_write(pfdev, GPU_PRFCNT_MMU_L2_EN, 0);
> -     gpu_write(pfdev, GPU_PRFCNT_TILER_EN, 0);
> +     panfrost_perfcnt_gpu_disable(pfdev);
>  }
> 

Reply via email to