[PATCH 16/27] active-acquire
Chris Wilson
chris at chris-wilson.co.uk
Thu Jun 6 08:54:05 UTC 2019
---
drivers/gpu/drm/i915/i915_active.c | 6 ++++--
drivers/gpu/drm/i915/i915_active_types.h | 3 ++-
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_active.c b/drivers/gpu/drm/i915/i915_active.c
index 563299e50901..80a39cff9a67 100644
--- a/drivers/gpu/drm/i915/i915_active.c
+++ b/drivers/gpu/drm/i915/i915_active.c
@@ -158,7 +158,8 @@ void i915_active_init(struct drm_i915_private *i915,
ref->tree = RB_ROOT;
i915_active_request_init(&ref->last, NULL, last_retire);
init_llist_head(&ref->barriers);
- ref->count = 0;
+ atomic_set(&ref->count, 0);
+ mutex_init(&ref->mutex);
}
int i915_active_ref(struct i915_active *ref,
@@ -260,7 +261,8 @@ void i915_active_fini(struct i915_active *ref)
{
GEM_BUG_ON(i915_active_request_isset(&ref->last));
GEM_BUG_ON(!RB_EMPTY_ROOT(&ref->tree));
- GEM_BUG_ON(ref->count);
+ GEM_BUG_ON(atomic_read(&ref->count));
+ mutex_destroy(&ref->mutex);
}
#endif
diff --git a/drivers/gpu/drm/i915/i915_active_types.h b/drivers/gpu/drm/i915/i915_active_types.h
index c025991b9233..32af708320f6 100644
--- a/drivers/gpu/drm/i915/i915_active_types.h
+++ b/drivers/gpu/drm/i915/i915_active_types.h
@@ -29,7 +29,8 @@ struct i915_active {
struct rb_root tree;
struct i915_active_request last;
- unsigned int count;
+ struct mutex mutex;
+ atomic_t count;
void (*retire)(struct i915_active *ref);
--
2.20.1
More information about the Intel-gfx-trybot
mailing list