diff options
Diffstat (limited to 'drivers/gpu/drm/i915')
| -rw-r--r-- | drivers/gpu/drm/i915/i915_irq.c | 3 | ||||
| -rw-r--r-- | drivers/gpu/drm/i915/i915_request.c | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/i915/i915_request.h | 5 | ||||
| -rw-r--r-- | drivers/gpu/drm/i915/intel_breadcrumbs.c | 3 | ||||
| -rw-r--r-- | drivers/gpu/drm/i915/intel_lrc.c | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/i915/intel_pm.c | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/i915/intel_ringbuffer.c | 3 |
7 files changed, 11 insertions, 9 deletions
diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c index 1abfc3fa76ad..5fd5080c4ccb 100644 --- a/drivers/gpu/drm/i915/i915_irq.c +++ b/drivers/gpu/drm/i915/i915_irq.c | |||
| @@ -1182,8 +1182,7 @@ static void notify_ring(struct intel_engine_cs *engine) | |||
| 1182 | struct i915_request *waiter = wait->request; | 1182 | struct i915_request *waiter = wait->request; |
| 1183 | 1183 | ||
| 1184 | if (waiter && | 1184 | if (waiter && |
| 1185 | !test_bit(DMA_FENCE_FLAG_SIGNALED_BIT, | 1185 | !i915_request_signaled(waiter) && |
| 1186 | &waiter->fence.flags) && | ||
| 1187 | intel_wait_check_request(wait, waiter)) | 1186 | intel_wait_check_request(wait, waiter)) |
| 1188 | rq = i915_request_get(waiter); | 1187 | rq = i915_request_get(waiter); |
| 1189 | 1188 | ||
diff --git a/drivers/gpu/drm/i915/i915_request.c b/drivers/gpu/drm/i915/i915_request.c index c7ce27785cda..426194ee978a 100644 --- a/drivers/gpu/drm/i915/i915_request.c +++ b/drivers/gpu/drm/i915/i915_request.c | |||
| @@ -198,7 +198,7 @@ static void __retire_engine_request(struct intel_engine_cs *engine, | |||
| 198 | spin_unlock(&engine->timeline.lock); | 198 | spin_unlock(&engine->timeline.lock); |
| 199 | 199 | ||
| 200 | spin_lock(&rq->lock); | 200 | spin_lock(&rq->lock); |
| 201 | if (!test_bit(DMA_FENCE_FLAG_SIGNALED_BIT, &rq->fence.flags)) | 201 | if (!i915_request_signaled(rq)) |
| 202 | dma_fence_signal_locked(&rq->fence); | 202 | dma_fence_signal_locked(&rq->fence); |
| 203 | if (test_bit(DMA_FENCE_FLAG_ENABLE_SIGNAL_BIT, &rq->fence.flags)) | 203 | if (test_bit(DMA_FENCE_FLAG_ENABLE_SIGNAL_BIT, &rq->fence.flags)) |
| 204 | intel_engine_cancel_signaling(rq); | 204 | intel_engine_cancel_signaling(rq); |
diff --git a/drivers/gpu/drm/i915/i915_request.h b/drivers/gpu/drm/i915/i915_request.h index d014b0605445..c0f084ca4f29 100644 --- a/drivers/gpu/drm/i915/i915_request.h +++ b/drivers/gpu/drm/i915/i915_request.h | |||
| @@ -280,6 +280,11 @@ long i915_request_wait(struct i915_request *rq, | |||
| 280 | #define I915_WAIT_ALL BIT(3) /* used by i915_gem_object_wait() */ | 280 | #define I915_WAIT_ALL BIT(3) /* used by i915_gem_object_wait() */ |
| 281 | #define I915_WAIT_FOR_IDLE_BOOST BIT(4) | 281 | #define I915_WAIT_FOR_IDLE_BOOST BIT(4) |
| 282 | 282 | ||
| 283 | static inline bool i915_request_signaled(const struct i915_request *rq) | ||
| 284 | { | ||
| 285 | return test_bit(DMA_FENCE_FLAG_SIGNALED_BIT, &rq->fence.flags); | ||
| 286 | } | ||
| 287 | |||
| 283 | static inline bool intel_engine_has_started(struct intel_engine_cs *engine, | 288 | static inline bool intel_engine_has_started(struct intel_engine_cs *engine, |
| 284 | u32 seqno); | 289 | u32 seqno); |
| 285 | static inline bool intel_engine_has_completed(struct intel_engine_cs *engine, | 290 | static inline bool intel_engine_has_completed(struct intel_engine_cs *engine, |
diff --git a/drivers/gpu/drm/i915/intel_breadcrumbs.c b/drivers/gpu/drm/i915/intel_breadcrumbs.c index 4fad93fe3678..b58915b8708b 100644 --- a/drivers/gpu/drm/i915/intel_breadcrumbs.c +++ b/drivers/gpu/drm/i915/intel_breadcrumbs.c | |||
| @@ -631,8 +631,7 @@ static int intel_breadcrumbs_signaler(void *arg) | |||
| 631 | rq->signaling.wait.seqno = 0; | 631 | rq->signaling.wait.seqno = 0; |
| 632 | __list_del_entry(&rq->signaling.link); | 632 | __list_del_entry(&rq->signaling.link); |
| 633 | 633 | ||
| 634 | if (!test_bit(DMA_FENCE_FLAG_SIGNALED_BIT, | 634 | if (!i915_request_signaled(rq)) { |
| 635 | &rq->fence.flags)) { | ||
| 636 | list_add_tail(&rq->signaling.link, | 635 | list_add_tail(&rq->signaling.link, |
| 637 | &list); | 636 | &list); |
| 638 | i915_request_get(rq); | 637 | i915_request_get(rq); |
diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c index f0fa0f767eb6..382a1262f75a 100644 --- a/drivers/gpu/drm/i915/intel_lrc.c +++ b/drivers/gpu/drm/i915/intel_lrc.c | |||
| @@ -816,7 +816,7 @@ static void execlists_cancel_requests(struct intel_engine_cs *engine) | |||
| 816 | list_for_each_entry(rq, &engine->timeline.requests, link) { | 816 | list_for_each_entry(rq, &engine->timeline.requests, link) { |
| 817 | GEM_BUG_ON(!rq->global_seqno); | 817 | GEM_BUG_ON(!rq->global_seqno); |
| 818 | 818 | ||
| 819 | if (test_bit(DMA_FENCE_FLAG_SIGNALED_BIT, &rq->fence.flags)) | 819 | if (i915_request_signaled(rq)) |
| 820 | continue; | 820 | continue; |
| 821 | 821 | ||
| 822 | dma_fence_set_error(&rq->fence, -EIO); | 822 | dma_fence_set_error(&rq->fence, -EIO); |
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c index 8b63afa3a221..fdc28a3d2936 100644 --- a/drivers/gpu/drm/i915/intel_pm.c +++ b/drivers/gpu/drm/i915/intel_pm.c | |||
| @@ -6662,7 +6662,7 @@ void gen6_rps_boost(struct i915_request *rq, | |||
| 6662 | if (!rps->enabled) | 6662 | if (!rps->enabled) |
| 6663 | return; | 6663 | return; |
| 6664 | 6664 | ||
| 6665 | if (test_bit(DMA_FENCE_FLAG_SIGNALED_BIT, &rq->fence.flags)) | 6665 | if (i915_request_signaled(rq)) |
| 6666 | return; | 6666 | return; |
| 6667 | 6667 | ||
| 6668 | /* Serializes with i915_request_retire() */ | 6668 | /* Serializes with i915_request_retire() */ |
diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c index 26b7274a2d43..e39e483d8d16 100644 --- a/drivers/gpu/drm/i915/intel_ringbuffer.c +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c | |||
| @@ -836,8 +836,7 @@ static void cancel_requests(struct intel_engine_cs *engine) | |||
| 836 | list_for_each_entry(request, &engine->timeline.requests, link) { | 836 | list_for_each_entry(request, &engine->timeline.requests, link) { |
| 837 | GEM_BUG_ON(!request->global_seqno); | 837 | GEM_BUG_ON(!request->global_seqno); |
| 838 | 838 | ||
| 839 | if (test_bit(DMA_FENCE_FLAG_SIGNALED_BIT, | 839 | if (i915_request_signaled(request)) |
| 840 | &request->fence.flags)) | ||
| 841 | continue; | 840 | continue; |
| 842 | 841 | ||
| 843 | dma_fence_set_error(&request->fence, -EIO); | 842 | dma_fence_set_error(&request->fence, -EIO); |
