]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915: fix SFC reset flow
authorDaniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Thu, 19 Sep 2019 01:53:30 +0000 (18:53 -0700)
committerChris Wilson <chris@chris-wilson.co.uk>
Thu, 19 Sep 2019 10:04:55 +0000 (11:04 +0100)
commit46da1ec353b0d3a0a03ce2ebee49452e7d025eec
tree0c3caf6974f8711778a63569ebfada22b420b9d5
parentd17b3cfe612a1eb4c46b8eec1d121d7fde62672b
drm/i915: fix SFC reset flow

Our assumption that the we can ask the HW to lock the SFC even if not
currently in use does not match the HW commitment. The expectation from
the HW is that SW will not try to lock the SFC if the engine is not
using it and if we do that the behavior is undefined; on ICL the HW
ends up to returning the ack and ignoring our lock request, but this is
not guaranteed and we shouldn't expect it going forward.

Also, failing to get the ack while the SFC is in use means that we can't
cleanly reset it, so fail the engine reset in that scenario.

v2: drop rmw change, keep the log as debug and handle failure (Chris),
    improve comments (Tvrtko).

Reported-by: Owen Zhang <owen.zhang@intel.com>
Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Link: https://patchwork.freedesktop.org/patch/msgid/20190919015330.15435-1-daniele.ceraolospurio@intel.com
drivers/gpu/drm/i915/gt/intel_reset.c