From: Boris Brezillon <[email protected]>

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]>
---
 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 a9def452d5ef..b26da057a1a0 100644
--- a/drivers/gpu/drm/panfrost/panfrost_perfcnt.c
+++ b/drivers/gpu/drm/panfrost/panfrost_perfcnt.c
@@ -17,6 +17,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"
@@ -52,6 +53,7 @@ static void panfrost_perfcnt_hw_disable(struct 
panfrost_device *pfdev)
        gpu_write(pfdev, GPU_PRFCNT_TILER_EN, 0);
 
        if (perfcnt->owns_as_ref) {
+               panfrost_cycle_counter_put(pfdev);
                panfrost_mmu_as_put(pfdev, perfcnt->mapping->mmu);
                perfcnt->owns_as_ref = false;
        }
@@ -84,6 +86,7 @@ static int panfrost_perfcnt_hw_enable(struct panfrost_device 
*pfdev)
                return ret;
 
        perfcnt->owns_as_ref = true;
+       panfrost_cycle_counter_get(pfdev);
 
        as = ret;
        cfg = GPU_PERFCNT_CFG_AS(as) |

-- 
2.55.0

Reply via email to