In gen8_emit_flush_xcs, we have to look at all the engines the request
may execute on, and emit an aux-invalidate for each. Currently, we
handle the virtual engine by looking at its engine mask, but that is
copied and refined as the request->execution_mask. If we prefer the
local mask, this is one fewer rq->engine pointer chasing we have to
eliminate later when we remove rq->engine.

Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk>
---
 drivers/gpu/drm/i915/gt/gen8_engine_cs.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/gt/gen8_engine_cs.c 
b/drivers/gpu/drm/i915/gt/gen8_engine_cs.c
index 07ba524da90b..cac80af7ad1c 100644
--- a/drivers/gpu/drm/i915/gt/gen8_engine_cs.c
+++ b/drivers/gpu/drm/i915/gt/gen8_engine_cs.c
@@ -277,7 +277,7 @@ int gen12_emit_flush_xcs(struct i915_request *rq, u32 mode)
        if (mode & EMIT_INVALIDATE)
                cmd += 2;
        if (mode & EMIT_INVALIDATE)
-               aux_inv = rq->engine->mask & ~BIT(BCS0);
+               aux_inv = rq->execution_mask & ~BIT(BCS0);
        if (aux_inv)
                cmd += 2 * hweight8(aux_inv) + 2;
 
-- 
2.20.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to