]> git.baikalelectronics.ru Git - kernel.git/commit
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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 21 Jul 2022 19:24:25 +0000 (21:24 +0200)
commit25733f1d67fa55ab703ce5bce4c8d8f8a6a79233
tree2dcb0c94200145691414a147add66cb1c35acf0b
parent76c42542f48a1421249a9125f4c4975b2630bc5f
drm/i915/gt: Serialize GRDOM access between multiple engine resets

[ Upstream commit 8ff2ee9628d7452aa81667c44f7b918ed2f24f92 ]

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
(cherry picked from commit bd20aabd632c6728ec1ae979ce8abbe7861ebe27)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/i915/gt/intel_reset.c