Re: [PATCH] drm/v3d: Enable Performance Counters before clearing them

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Reviewed-by: Iago Toral Quiroga <itoral@xxxxxxxxxx>

El mié, 04-12-2024 a las 09:28 -0300, Maíra Canal escribió:
> On the Raspberry Pi 5, performance counters are not being cleared
> when `v3d_perfmon_start()` is called, even though we write to the
> CLR register. As a result, their values accumulate until they
> overflow.
> 
> The expected behavior is for performance counters to reset to zero
> at the start of a job. When the job finishes and the perfmon is
> stopped, the counters should accurately reflect the values for that
> specific job.
> 
> To ensure this behavior, the performance counters are now enabled
> before being cleared. This allows the CLR register to function as
> intended, zeroing the counter values when the job begins.
> 
> Fixes: 26a4dc29b74a ("drm/v3d: Expose performance counters to
> userspace")
> Signed-off-by: Maíra Canal <mcanal@xxxxxxxxxx>
> ---
>  drivers/gpu/drm/v3d/v3d_perfmon.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/v3d/v3d_perfmon.c
> b/drivers/gpu/drm/v3d/v3d_perfmon.c
> index b4c3708ea781..c49abb90954d 100644
> --- a/drivers/gpu/drm/v3d/v3d_perfmon.c
> +++ b/drivers/gpu/drm/v3d/v3d_perfmon.c
> @@ -255,9 +255,9 @@ void v3d_perfmon_start(struct v3d_dev *v3d,
> struct v3d_perfmon *perfmon)
>  		V3D_CORE_WRITE(0, V3D_V4_PCTR_0_SRC_X(source),
> channel);
>  	}
>  
> +	V3D_CORE_WRITE(0, V3D_V4_PCTR_0_EN, mask);
>  	V3D_CORE_WRITE(0, V3D_V4_PCTR_0_CLR, mask);
>  	V3D_CORE_WRITE(0, V3D_PCTR_0_OVERFLOW, mask);
> -	V3D_CORE_WRITE(0, V3D_V4_PCTR_0_EN, mask);
>  
>  	v3d->active_perfmon = perfmon;
>  }





[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux