diff mbox series

[2/3] drm/i915: Reset steer semaphore for media GT

Message ID 20230927102237.30773-2-nirmoy.das@intel.com (mailing list archive)
State New, archived
Headers show
Series [1/3] drm/i915: Introduce intel_gt_mcr_lock_reset() | expand

Commit Message

Nirmoy Das Sept. 27, 2023, 10:22 a.m. UTC
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.das@intel.com>
---
 drivers/gpu/drm/i915/gt/intel_gt.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

Comments

Andi Shyti Sept. 27, 2023, 11:32 a.m. UTC | #1
Hi Nirmoy,

On Wed, Sep 27, 2023 at 12:22:36PM +0200, Nirmoy Das wrote:
> During resime, the steer semaphore on GT1 was observed to be held. The

resime/resume/

> 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.das@intel.com>

Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com> 

Andi
Nirmoy Das Sept. 27, 2023, 12:27 p.m. UTC | #2
On 9/27/2023 1:32 PM, Andi Shyti wrote:
> Hi Nirmoy,
>
> On Wed, Sep 27, 2023 at 12:22:36PM +0200, Nirmoy Das wrote:
>> During resime, the steer semaphore on GT1 was observed to be held. The
> resime/resume/
will fix that.
>
>> 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.das@intel.com>
> Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com>

I need to resend. Managed to test on new IFWI and it seems I am doing 
that on resume.


Thanks,

Nirmoy

>
> Andi
diff mbox series

Patch

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);
 
 	/*