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 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx