[PATCH 09/91] drm/i915: Assert all timeline requests are gone before fini
Tvrtko Ursulin
tvrtko.ursulin at linux.intel.com
Thu Jan 5 13:54:25 UTC 2017
On 05/01/2017 10:34, Chris Wilson wrote:
> During i915_gem_timeline_fini(), assert that all the timeline's request
> are completed and removed from the timeline.
>
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> ---
> drivers/gpu/drm/i915/i915_gem_timeline.c | 16 ++++++++++++----
> 1 file changed, 12 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_gem_timeline.c b/drivers/gpu/drm/i915/i915_gem_timeline.c
> index bf8a471b61e6..b596ca7ee058 100644
> --- a/drivers/gpu/drm/i915/i915_gem_timeline.c
> +++ b/drivers/gpu/drm/i915/i915_gem_timeline.c
> @@ -81,10 +81,18 @@ int i915_gem_timeline_init__global(struct drm_i915_private *i915)
> &class, "&global_timeline->lock");
> }
>
> -void i915_gem_timeline_fini(struct i915_gem_timeline *tl)
> +void i915_gem_timeline_fini(struct i915_gem_timeline *timeline)
> {
> - lockdep_assert_held(&tl->i915->drm.struct_mutex);
> + int i;
>
> - list_del(&tl->link);
> - kfree(tl->name);
> + lockdep_assert_held(&timeline->i915->drm.struct_mutex);
> +
> + for (i = 0; i < ARRAY_SIZE(timeline->engine); i++) {
> + struct intel_timeline *tl = &timeline->engine[i];
> +
> + GEM_BUG_ON(!list_empty(&tl->requests));
> + }
> +
> + list_del(&timeline->link);
> + kfree(timeline->name);
> }
>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
Regards,
Tvrtko
More information about the Intel-gfx-trybot
mailing list