diff options
Diffstat (limited to 'drivers/gpu/drm')
| -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 | ||
