drm/xe/ct: serialise fast_lock during CT disable
authorMatthew Auld <matthew.auld@intel.com>
Mon, 10 Jul 2023 09:40:44 +0000 (10:40 +0100)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Thu, 21 Dec 2023 16:35:23 +0000 (11:35 -0500)
commita4d362bbed8c86a632b5e22bf64d9c5564e3766e
treed8d5d5eebf42d398c0442b597c969455fc496cd6
parent4803f6e26f1678b8b5af2924199bc137e7ec5fad
drm/xe/ct: serialise fast_lock during CT disable

The fast-path CT could be running as we enter a runtime-suspend or
potentially a GT reset, however here we only use the ct->fast_lock and
not the full ct->lock. Before disabling the CT, also serialise against
the fast_lock to ensure any in-progress work finishes before we start
nuking the CT related stuff. Once we disable ct->enabled and drop the
lock, any new work should fail gracefully, and anything that was in
progress should be finished.

Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/xe/xe_guc_ct.c