On 19/06/2019 12:23, Chris Wilson wrote:
With the upcoming change to automanaged i915_active, the intent is that
whenever we wait on the set of active fences, they are signaled and
collected.  The requirement is that all successful returns from
i915_request_wait() signal the fence, so fixup the one remaining path
where we may return before the interrupt has been run.

Signed-off-by: Chris Wilson <[email protected]>
Cc: Tvrtko Ursulin <[email protected]>
---
  drivers/gpu/drm/i915/i915_request.c | 4 +++-
  1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/i915_request.c 
b/drivers/gpu/drm/i915/i915_request.c
index 0c2b53b8a3d1..8d59c35bd22f 100644
--- a/drivers/gpu/drm/i915/i915_request.c
+++ b/drivers/gpu/drm/i915/i915_request.c
@@ -1451,8 +1451,10 @@ long i915_request_wait(struct i915_request *rq,
        for (;;) {
                set_current_state(state);
- if (i915_request_completed(rq))
+               if (i915_request_completed(rq)) {
+                       dma_fence_signal(&rq->fence);
                        break;
+               }
if (signal_pending_state(state, current)) {
                        timeout = -ERESTARTSYS;


Reviewed-by: Tvrtko Ursulin <[email protected]>

Patch is fine, but I have to say commit message scares me a bit. Where are we adding such subtle fragility that wait has to exit with fence signaled? Is it just some specific i915_request_wait call site or all of them?

Regards,

Tvrtko
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to