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
