From: Tvrtko Ursulin <tvrtko.ursu...@intel.com>

Use the newly added dma-fence API to apply waitboost not only requests
which have been marked with I915_WAIT_PRIORITY by i915, but which may be
waited upon by others (such as for instance buffer sharing in multi-GPU
scenarios).

Signed-off-by: Tvrtko Ursulin <tvrtko.ursu...@intel.com>
---
 drivers/gpu/drm/i915/i915_request.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/i915_request.c 
b/drivers/gpu/drm/i915/i915_request.c
index dd8a9045086a..c4adf34016d0 100644
--- a/drivers/gpu/drm/i915/i915_request.c
+++ b/drivers/gpu/drm/i915/i915_request.c
@@ -2041,7 +2041,8 @@ long i915_request_wait_timeout(struct i915_request *rq,
         * but at a cost of spending more power processing the workload
         * (bad for battery).
         */
-       if (flags & I915_WAIT_PRIORITY && !i915_request_started(rq))
+       if (((flags & I915_WAIT_PRIORITY) || dma_fence_wait_count(&rq->fence))
+           && !i915_request_started(rq))
                intel_rps_boost(rq);
 
        wait.tsk = current;
-- 
2.37.2

Reply via email to