[Intel-gfx] [PATCH v3 1/2] drm/i915: Move engine->submit_request selection to a vfunc
Chris Wilson
chris at chris-wilson.co.uk
Wed Mar 15 09:41:29 UTC 2017
On Wed, Mar 15, 2017 at 08:14:04AM +0000, Tvrtko Ursulin wrote:
>
> On 14/03/2017 21:33, Chris Wilson wrote:
> >On Tue, Mar 14, 2017 at 04:31:58PM +0000, Tvrtko Ursulin wrote:
> >>
> >>On 14/03/2017 09:34, Chris Wilson wrote:
> >>>}
> >>>
> >>>void i915_guc_submission_fini(struct drm_i915_private *dev_priv)
> >>>diff --git a/drivers/gpu/drm/i915/intel_engine_cs.c b/drivers/gpu/drm/i915/intel_engine_cs.c
> >>>index 73fe718516a5..5663ebab851f 100644
> >>>--- a/drivers/gpu/drm/i915/intel_engine_cs.c
> >>>+++ b/drivers/gpu/drm/i915/intel_engine_cs.c
> >>>@@ -191,6 +191,7 @@ int intel_engines_init(struct drm_i915_private *dev_priv)
> >>> goto cleanup;
> >>> }
> >>>
> >>>+ engine->enable_submission(engine);
> >>
> >>Could be moved to intel_engines_setup_common if the
> >>logical_ring_setup was re-arranged a bit so that the default_vfuncs
> >>are assigned before it. Legacy looks like it would be alright with
> >>that approach already.
> >>
> >>My thinking here is not to expose this vfunc so prominently in the
> >>code since it is a bit of a low level internal implementation thing.
> >
> >The concern is reasonable, but equally moving it to
> >intel_engine_setup_common() is hairy. Otoh, I think it is suitable for
> >intel_engine_init_common(). Happy?
>
> Why do you think it is hairy for intel_engine_setup_common? It keeps
> the setup/init split for lrc, where all vfuncs are initialized in
> the setup phase which was the intention.
At the moment, setup_common() has no dependencies. Having the callback
for engine->set_default_submission inside init_common() doesn't break
the pattern of all vfuncs being in setup_common() - if you no longer
regard the two vfuncs set by the callback as being part of that set.
In init_common() we already utilize the state set on the engine, the
callback seems consistent there.
-Chris
--
Chris Wilson, Intel Open Source Technology Centre
More information about the Intel-gfx
mailing list