On Wed, 17 Jun 2026 16:29:46 +0200
Boris Brezillon <[email protected]> wrote:

> If we don't do that, we end up with invalid timestamps in the
> block headers.
> 
> Fixes: 7786fd108777 ("drm/panfrost: Expose performance counters through 
> unstable ioctls")
> Signed-off-by: Boris Brezillon <[email protected]>
> ---
> Found while reworking the userside of the perfcnt logic.
> Up until now, we were not using the GPU timestamps in the dumps,
> but this is going to change, so we need that fix in, and
> backported to all stable releases, ideally.
> ---
>  drivers/gpu/drm/panfrost/panfrost_perfcnt.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/gpu/drm/panfrost/panfrost_perfcnt.c 
> b/drivers/gpu/drm/panfrost/panfrost_perfcnt.c
> index 7020c0192e18..63861b4c7d95 100644
> --- a/drivers/gpu/drm/panfrost/panfrost_perfcnt.c
> +++ b/drivers/gpu/drm/panfrost/panfrost_perfcnt.c
> @@ -15,6 +15,7 @@
>  #include "panfrost_device.h"
>  #include "panfrost_features.h"
>  #include "panfrost_gem.h"
> +#include "panfrost_gpu.h"
>  #include "panfrost_issues.h"
>  #include "panfrost_job.h"
>  #include "panfrost_mmu.h"
> @@ -166,6 +167,7 @@ static int panfrost_perfcnt_enable_locked(struct 
> panfrost_device *pfdev,
>       /* The BO ref is retained by the mapping. */
>       drm_gem_object_put(&bo->base);
>  
> +     panfrost_cycle_counter_get(pfdev);

As shashiko pointed out, the reset logic messes up with the
cycle_counter refcounting. Adrian, I believe this is something we can
address as part of the perfcnt fixes series you're working on (pre/post
reset hooks for perfcnt so we can release/reacquire resources properly).

>       perfcnt->user = user;
>  
>       return 0;
> @@ -207,6 +209,7 @@ static int panfrost_perfcnt_disable_locked(struct 
> panfrost_device *pfdev,
>       panfrost_mmu_as_put(pfdev, perfcnt->mapping->mmu);
>       panfrost_gem_mapping_put(perfcnt->mapping);
>       perfcnt->mapping = NULL;
> +     panfrost_cycle_counter_put(pfdev);
>       pm_runtime_put_autosuspend(pfdev->base.dev);
>  
>       return 0;
> 
> ---
> base-commit: 7caf2a2351d4053075670ff3e26a6815da0a9e1e
> change-id: 20260617-panfrost-perfcnt-timestamp-fix-51e04002f494
> 
> Best regards,

Reply via email to