drm/i915/gt: Serialize GRDOM access between multiple engine resets
authorChris Wilson <chris@chris-wilson.co.uk>
Tue, 12 Jul 2022 15:21:32 +0000 (16:21 +0100)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Tue, 12 Jul 2022 21:37:59 +0000 (17:37 -0400)
commit336561a914fc0c6f1218228718f633b31b7af1c3
treed4127eb757cef80a8089635c3153870c958a932b
parentb7580e669ca0d624b122455058aa6fe62c0fef44
drm/i915/gt: Serialize GRDOM access between multiple engine resets

Don't allow two engines to be reset in parallel, as they would both
try to select a reset bit (and send requests to common registers)
and wait on that register, at the same time. Serialize control of
the reset requests/acks using the uncore->lock, which will also ensure
that no other GT state changes at the same time as the actual reset.

Cc: stable@vger.kernel.org # v4.4 and upper
Reported-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Acked-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Reviewed-by: Andi Shyti <andi.shyti@intel.com>
Reviewed-by: Andrzej Hajda <andrzej.hajda@intel.com>
Acked-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/e0a2d894e77aed7c2e36b0d1abdc7dbac3011729.1657639152.git.mchehab@kernel.org
drivers/gpu/drm/i915/gt/intel_reset.c