From: Boris Brezillon <[email protected]>

Changes panthor_gem_debugfs_set_usage_flags() to
panthor_gem_debugfs_add_usage_flags(). This will come in handy in a
later change when we split panthor_kernel_bo_create() to also handle
protected memory.

Signed-off-by: Boris Brezillon <[email protected]>
Co-developed-by: Ketil Johnsen <[email protected]>
Signed-off-by: Ketil Johnsen <[email protected]>

---

v4:
- First version of this change as a separate commit
---
 drivers/gpu/drm/panthor/panthor_gem.c | 15 +++++++++------
 drivers/gpu/drm/panthor/panthor_gem.h |  2 +-
 2 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/panthor/panthor_gem.c 
b/drivers/gpu/drm/panthor/panthor_gem.c
index c07a44057e426..2e39a32fcd673 100644
--- a/drivers/gpu/drm/panthor/panthor_gem.c
+++ b/drivers/gpu/drm/panthor/panthor_gem.c
@@ -74,14 +74,16 @@ static void panthor_gem_debugfs_bo_rm(struct 
panthor_gem_object *bo)
        mutex_unlock(&ptdev->gems.lock);
 }
 
-static void panthor_gem_debugfs_set_usage_flags(struct panthor_gem_object *bo, 
u32 usage_flags)
+static void panthor_gem_debugfs_add_usage_flags(struct panthor_gem_object *bo,
+                                               u32 usage_flags)
 {
-       bo->debugfs.flags = usage_flags;
-       panthor_gem_debugfs_bo_add(bo);
+       atomic_or(usage_flags, &bo->debugfs.flags);
 }
 #else
+static void panthor_gem_debugfs_bo_add(struct panthor_gem_object *bo) {}
 static void panthor_gem_debugfs_bo_rm(struct panthor_gem_object *bo) {}
-static void panthor_gem_debugfs_set_usage_flags(struct panthor_gem_object *bo, 
u32 usage_flags) {}
+static void panthor_gem_debugfs_add_usage_flags(struct panthor_gem_object *bo,
+                                               u32 usage_flags) {}
 static void panthor_gem_debugfs_bo_init(struct panthor_gem_object *bo) {}
 #endif
 
@@ -1031,7 +1033,8 @@ panthor_gem_create(struct drm_device *dev, size_t size, 
uint32_t flags,
                bo->base.resv = bo->exclusive_vm_root_gem->resv;
        }
 
-       panthor_gem_debugfs_set_usage_flags(bo, usage_flags);
+       panthor_gem_debugfs_add_usage_flags(bo, usage_flags);
+       panthor_gem_debugfs_bo_add(bo);
        return bo;
 
 err_put:
@@ -1644,9 +1647,9 @@ static void panthor_gem_debugfs_bo_print(struct 
panthor_gem_object *bo,
        enum panthor_gem_reclaim_state reclaim_state = bo->reclaim_state;
        unsigned int refcount = kref_read(&bo->base.refcount);
        int reclaimed_count = atomic_read(&bo->reclaimed_count);
+       u32 gem_usage_flags = atomic_read(&bo->debugfs.flags);
        char creator_info[32] = {};
        size_t resident_size;
-       u32 gem_usage_flags = bo->debugfs.flags;
        u32 gem_state_flags = 0;
 
        /* Skip BOs being destroyed. */
diff --git a/drivers/gpu/drm/panthor/panthor_gem.h 
b/drivers/gpu/drm/panthor/panthor_gem.h
index 5ae37d0d3646f..4da3f59693ce4 100644
--- a/drivers/gpu/drm/panthor/panthor_gem.h
+++ b/drivers/gpu/drm/panthor/panthor_gem.h
@@ -62,7 +62,7 @@ struct panthor_gem_debugfs {
        } creator;
 
        /** @flags: Combination of panthor_debugfs_gem_usage_flags flags */
-       u32 flags;
+       atomic_t flags;
 };
 
 /**
-- 
2.43.0

Reply via email to