]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915/guc: Initialize GuC submission locks and queues early
authorDaniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Tue, 15 Feb 2022 01:11:23 +0000 (17:11 -0800)
committerDaniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Tue, 1 Mar 2022 18:33:51 +0000 (10:33 -0800)
commitfc9da5d84b7530dffe73a8b52e3da98682e8e9f9
tree7c4d12a8fb9e2bfc34b0146602cadee8da0a85e2
parentd9b0b54c5bc0807fbe2c8ceca35d8574a7c284d9
drm/i915/guc: Initialize GuC submission locks and queues early

Move initialization of submission-related spinlock, lists and workers to
init_early. This fixes an issue where if the GuC init fails we might
still try to get the lock in the context cleanup code. Note that it is
safe to call the GuC context cleanup code even if the init failed
because all contexts are initialized with an invalid GuC ID, which will
cause the GuC side of the cleanup to be skipped, so it is easier to just
make sure the variables are initialized than to special case the cleanup
to handle the case when they're not.

References: https://gitlab.freedesktop.org/drm/intel/-/issues/4932
Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: John Harrison <John.C.Harrison@Intel.com>
Reviewed-by: John Harrison <John.C.Harrison@Intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220215011123.734572-1-daniele.ceraolospurio@intel.com
drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c