Re: [PATCH v6 3/4] drm/i915: Reset steer semaphore for media GT on resume

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Nirmoy,

On Wed, Sep 27, 2023 at 11:03:56PM +0200, Nirmoy Das wrote:
> During resume, 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.
> 
> v2: reset on resume not in intel_gt_init().
> v3: do the reset on intel_gt_resume_early()
> 
> Signed-off-by: Nirmoy Das <nirmoy.das@xxxxxxxxx>

In the previous version I added my r-b here. Please consider it
for the next version:

Reviewed-by: Andi Shyti <andi.shyti@xxxxxxxxxxxxxxx> 

Even though there are still some quesions coming from Matt.

Thanks,
Andi

> ---
>  drivers/gpu/drm/i915/gt/intel_gt_pm.c | 12 ++++++++++++
>  1 file changed, 12 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/gt/intel_gt_pm.c b/drivers/gpu/drm/i915/gt/intel_gt_pm.c
> index dab73980c9f1..59cebf205b72 100644
> --- a/drivers/gpu/drm/i915/gt/intel_gt_pm.c
> +++ b/drivers/gpu/drm/i915/gt/intel_gt_pm.c
> @@ -13,6 +13,7 @@
>  #include "intel_engine_pm.h"
>  #include "intel_gt.h"
>  #include "intel_gt_clock_utils.h"
> +#include "intel_gt_mcr.h"
>  #include "intel_gt_pm.h"
>  #include "intel_gt_print.h"
>  #include "intel_gt_requests.h"
> @@ -218,6 +219,17 @@ void intel_gt_pm_fini(struct intel_gt *gt)
>  
>  void intel_gt_resume_early(struct intel_gt *gt)
>  {
> +	/*
> +	 * 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_uncore_resume_early(gt->uncore);
>  	intel_gt_check_and_clear_faults(gt);
>  }
> -- 
> 2.41.0



[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux