aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/i915_request.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/i915/i915_request.c')
-rw-r--r--drivers/gpu/drm/i915/i915_request.c9
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
346static u32 next_global_seqno(struct i915_timeline *tl)
347{
348 if (!++tl->seqno)
349 ++tl->seqno;
350 return tl->seqno;
351}
352
346void __i915_request_submit(struct i915_request *request) 353void __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