[Intel-gfx] [PATCH 3/8] drm/i915: Add execlist_port_complete

Chris Wilson chris at chris-wilson.co.uk
Tue Sep 12 10:19:11 UTC 2017


Quoting Mika Kuoppala (2017-09-12 09:36:13)
> @@ -412,8 +413,6 @@ static void execlists_dequeue(struct intel_engine_cs *engine)
>                  */
>                 last->tail = last->wa_tail;
>  
> -       GEM_BUG_ON(port_isset(&port[1]));

* Raises eyebrow

> -
>         /* Hardware submission is through 2 ports. Conceptually each port
>          * has a (RING_START, RING_HEAD, RING_TAIL) tuple. RING_START is
>          * static for a context, and unique to each, so we only execute
> @@ -485,25 +484,27 @@ static void execlists_dequeue(struct intel_engine_cs *engine)
>                                 if (submit)
>                                         port_assign(port, last);
>                                 port++;
> +
> +                               GEM_BUG_ON(port_isset(port));

* and relax

You had me worried there, but that looks like a neat generalisation.

> @@ -495,6 +495,18 @@ struct intel_engine_cs {
>  
>  void execlist_cancel_port_requests(struct intel_engine_execlist * const el);
>  
> +static inline void
> +execlist_port_complete(struct intel_engine_execlist * const el,
> +                      struct execlist_port * const port)
> +{
> +       struct execlist_port * const port1 = &el->port[1];
> +
> +       GEM_DEBUG_BUG_ON(port_index(port, el) != 0);

Just GEM_BUG_ON().

Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk>
-Chris


More information about the Intel-gfx mailing list