Skip to content

Commit 37280ef

Browse files
committed
drm/i915: Clean steer semaphore on resume
During resume, the steer semaphore on GT1 was observed to be held. The hardware team has confirmed the safety of clearing steer semaphores for all GTs during driver load/resume, as no lock acquisitions can occur in this process by other agents. v2: reset on resume not in intel_gt_init(). v3: do the reset on intel_gt_resume_early() v4: do general sanitization for all GTs(Matt) Signed-off-by: Nirmoy Das <nirmoy.das@intel.com> Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20230928130015.6758-3-nirmoy.das@intel.com
1 parent 35ba33f commit 37280ef

1 file changed

Lines changed: 10 additions & 0 deletions

File tree

drivers/gpu/drm/i915/gt/intel_gt_pm.c

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
#include "intel_engine_pm.h"
1414
#include "intel_gt.h"
1515
#include "intel_gt_clock_utils.h"
16+
#include "intel_gt_mcr.h"
1617
#include "intel_gt_pm.h"
1718
#include "intel_gt_print.h"
1819
#include "intel_gt_requests.h"
@@ -218,6 +219,15 @@ void intel_gt_pm_fini(struct intel_gt *gt)
218219

219220
void intel_gt_resume_early(struct intel_gt *gt)
220221
{
222+
/*
223+
* Sanitize steer semaphores during driver resume. This is necessary
224+
* to address observed cases of steer semaphores being
225+
* held after a suspend operation. Confirmation from the hardware team
226+
* assures the safety of this operation, as no lock acquisitions
227+
* by other agents occur during driver load/resume process.
228+
*/
229+
intel_gt_mcr_lock_sanitize(gt);
230+
221231
intel_uncore_resume_early(gt->uncore);
222232
intel_gt_check_and_clear_faults(gt);
223233
}

0 commit comments

Comments
 (0)