OSDN Git Service

drm/i915/gt: Defer engine registration until fully initialised
authorChris Wilson <chris@chris-wilson.co.uk>
Thu, 7 Nov 2019 08:12:41 +0000 (08:12 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Thu, 7 Nov 2019 16:28:44 +0000 (16:28 +0000)
Only add the engine to the available set of uabi engines once it has
been fully initialised and we know we want it in the public set.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: MichaƂ Wajdeczko <michal.wajdeczko@intel.com>
Cc: Andi Shyti <andi.shyti@intel.com>
Acked-by: Andi Shyti <andi.shyti@intel.com>
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20191107081252.10542-17-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/gt/intel_engine_cs.c

index f8113bc..bf20305 100644 (file)
@@ -344,7 +344,6 @@ static int intel_engine_setup(struct intel_gt *gt, enum intel_engine_id id)
        gt->engine_class[info->class][info->instance] = engine;
        gt->engine[id] = engine;
 
-       intel_engine_add_user(engine);
        gt->i915->engine[id] = engine;
 
        return 0;
@@ -481,6 +480,8 @@ int intel_engines_init(struct intel_gt *gt)
                err = init(engine);
                if (err)
                        goto cleanup;
+
+               intel_engine_add_user(engine);
        }
 
        return 0;