diff options
Diffstat (limited to 'drivers/gpu/drm/i915/i915_request.c')
-rw-r--r-- | drivers/gpu/drm/i915/i915_request.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/i915_request.c b/drivers/gpu/drm/i915/i915_request.c index 33eb9df0dd0e..c7ce27785cda 100644 --- a/drivers/gpu/drm/i915/i915_request.c +++ b/drivers/gpu/drm/i915/i915_request.c | |||
@@ -343,6 +343,13 @@ static void move_to_timeline(struct i915_request *request, | |||
343 | spin_unlock(&request->timeline->lock); | 343 | spin_unlock(&request->timeline->lock); |
344 | } | 344 | } |
345 | 345 | ||
346 | static u32 next_global_seqno(struct i915_timeline *tl) | ||
347 | { | ||
348 | if (!++tl->seqno) | ||
349 | ++tl->seqno; | ||
350 | return tl->seqno; | ||
351 | } | ||
352 | |||
346 | void __i915_request_submit(struct i915_request *request) | 353 | void __i915_request_submit(struct i915_request *request) |
347 | { | 354 | { |
348 | struct intel_engine_cs *engine = request->engine; | 355 | struct intel_engine_cs *engine = request->engine; |
@@ -359,7 +366,7 @@ void __i915_request_submit(struct i915_request *request) | |||
359 | 366 | ||
360 | GEM_BUG_ON(request->global_seqno); | 367 | GEM_BUG_ON(request->global_seqno); |
361 | 368 | ||
362 | seqno = timeline_get_seqno(&engine->timeline); | 369 | seqno = next_global_seqno(&engine->timeline); |
363 | GEM_BUG_ON(!seqno); | 370 | GEM_BUG_ON(!seqno); |
364 | GEM_BUG_ON(intel_engine_signaled(engine, seqno)); | 371 | GEM_BUG_ON(intel_engine_signaled(engine, seqno)); |
365 | 372 | ||