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); > } >
