[PATCH] drm/i915: Fix MTL_STEER_SEMAPHORE timeout issue.

Nirmoy Das nirmoy.das at intel.com
Fri Oct 13 19:37:07 UTC 2023


Cc: Radhakrishna Sripada <radhakrishna.sripada at intel.com>
Signed-off-by: Nirmoy Das <nirmoy.das at intel.com>
---
 drivers/gpu/drm/i915/gt/intel_gt_mcr.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_gt_mcr.c b/drivers/gpu/drm/i915/gt/intel_gt_mcr.c
index d7842827cd97..ae7a58d356e2 100644
--- a/drivers/gpu/drm/i915/gt/intel_gt_mcr.c
+++ b/drivers/gpu/drm/i915/gt/intel_gt_mcr.c
@@ -420,8 +420,17 @@ void intel_gt_mcr_unlock(struct intel_gt *gt, unsigned long flags)
 {
 	spin_unlock_irqrestore(&gt->mcr_lock, flags);
 
-	if (GRAPHICS_VER_FULL(gt->i915) >= IP_VER(12, 70))
+	if (GRAPHICS_VER_FULL(gt->i915) >= IP_VER(12, 70)) {
 		intel_uncore_write_fw(gt->uncore, MTL_STEER_SEMAPHORE, 0x1);
+		/*
+		 * FIXME: We have observed that forcewake release happened
+		 * right after releasing the MCR semaphore lock which can
+		 * cause MTL_STEER_SEMAPHORE value to not get updated and in
+		 * return leave the lock held.
+		 * A delay after MTL_STEER_SEMAPHORE release seems help here.
+		 */
+		mdelay(10);
+	}
 }
 
 /**
-- 
2.41.0



More information about the Intel-gfx-trybot mailing list