[Intel-gfx] [PATCH 2/2] drm/i915: Wrap execlist port completion into a function

Chris Wilson chris at chris-wilson.co.uk
Wed Aug 30 11:38:21 UTC 2017


Quoting Mika Kuoppala (2017-08-30 12:32:11)
> +static inline void
> +execlist_port_complete(struct intel_engine_execlist * const el)
> +{
> +       struct execlist_port * const port = el->port;
> +
> +       port[0] = port[1];
> +       memset(&port[1], 0, sizeof(port[1]));
> +}
> +
> +static inline void
> +execlist_cancel_port_requests(struct intel_engine_execlist * const el)
> +{
> +       unsigned int i;
> +
> +       for (i = 0; i < ARRAY_SIZE(el->port); i++) {
> +               i915_gem_request_put(port_request(&el->port[i]));
> +               execlist_port_complete(el);

No. Cancellation is not defined as completion. Iterating over the ports
and then calling complete that only operates on the first port and
doesn't even take the port as implied by its name is horrible.
Just a patch moving the cancellation to its own function that doesn't
need to be inlined since it is called only on reset is what I want to
see.
-Chris


More information about the Intel-gfx mailing list