During resime, the steer semaphore on GT1 was observed to be held. The
hardware team has confirmed the safety of clearing the steer semaphore
during driver load/resume, as no lock acquisitions can occur in this
process by other agents.

Signed-off-by: Nirmoy Das <nirmoy....@intel.com>
---
 drivers/gpu/drm/i915/gt/intel_gt.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/drivers/gpu/drm/i915/gt/intel_gt.c 
b/drivers/gpu/drm/i915/gt/intel_gt.c
index 93062c35e072..f6d9aba9ebb0 100644
--- a/drivers/gpu/drm/i915/gt/intel_gt.c
+++ b/drivers/gpu/drm/i915/gt/intel_gt.c
@@ -686,6 +686,17 @@ int intel_gt_init(struct intel_gt *gt)
        if (err)
                return err;
 
+       /*
+        * Reset the steer semaphore on GT1, as we have observed it
+        * remaining held after a suspend operation. Confirmation
+        * from the hardware team ensures the safety of resetting
+        * the steer semaphore during driver load/resume, as there
+        * are no lock acquisitions during this process by other
+        * agents.
+        */
+       if (MEDIA_VER(gt->i915) >= 13 && gt->type == GT_MEDIA)
+               intel_gt_mcr_lock_reset(gt);
+
        intel_gt_init_workarounds(gt);
 
        /*
-- 
2.41.0

Reply via email to