From: Mika Kuoppala <[email protected]>

As all our access to execlist ports are through head and tail
helpers, we can now move the head instead of memmoving the array.

Cc: Michał Winiarski <[email protected]>
Cc: Joonas Lahtinen <[email protected]>
Cc: Chris Wilson <[email protected]>
Signed-off-by: Mika Kuoppala <[email protected]>
---
 drivers/gpu/drm/i915/intel_ringbuffer.h | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.h 
b/drivers/gpu/drm/i915/intel_ringbuffer.h
index cfec73400d0f..27f5c42ae7c8 100644
--- a/drivers/gpu/drm/i915/intel_ringbuffer.h
+++ b/drivers/gpu/drm/i915/intel_ringbuffer.h
@@ -573,12 +573,13 @@ static inline void
 execlists_port_complete(struct intel_engine_execlists * const execlists,
                        struct execlist_port * const port)
 {
-       const unsigned int m = execlists->port_mask;
+       GEM_BUG_ON(port_index(port, execlists) != execlists->port_head);
+       GEM_BUG_ON(!port_isset(port));
 
-       GEM_BUG_ON(port_index(port, execlists) != 0);
+       port->request_count = NULL;
+       GEM_DEBUG_DECL(port->context_id = 0);
 
-       memmove(port, port + 1, m * sizeof(struct execlist_port));
-       memset(port + m, 0, sizeof(struct execlist_port));
+       execlists->port_head = port_head_add(execlists, 1);
 }
 
 static inline unsigned int
-- 
2.11.0

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

Reply via email to