[PATCH 2/9 v2] drm/i915: Remove struct_mutex in i915_irq.c

Rodrigo Vivi rodrigo.vivi at intel.com
Fri Aug 8 14:37:45 UTC 2025


On Thu, Aug 07, 2025 at 02:02:01PM -0300, Luiz Otavio Mello wrote:
> Remove struct_mutex from ivb_parity_work() function.
> 
> The ivb_parity_work runs in a workqueue so it cannot race with itself.
> 
> Also, it is not protecting anything with the other remaining usage of
> struct_mutex.
> 
> Signed-off-by: Luiz Otavio Mello <luiz.mello at estudante.ufscar.br>
> Suggested-by: Rodrigo Vivi <rodrigo.vivi at intel.com>

Reviewed-by: Rodrigo Vivi <rodrigo.vivi at intel.com>

> ---
>  drivers/gpu/drm/i915/i915_irq.c | 6 ------
>  1 file changed, 6 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
> index cdfb09464134..83b08dacd194 100644
> --- a/drivers/gpu/drm/i915/i915_irq.c
> +++ b/drivers/gpu/drm/i915/i915_irq.c
> @@ -163,11 +163,6 @@ static void ivb_parity_work(struct work_struct *work)
>  	u32 misccpctl;
>  	u8 slice = 0;
>  
> -	/* We must turn off DOP level clock gating to access the L3 registers.
> -	 * In order to prevent a get/put style interface, acquire struct mutex
> -	 * any time we access those registers.
> -	 */
> -	mutex_lock(&dev_priv->struct_mutex);
>  
>  	/* If we've screwed up tracking, just let the interrupt fire again */
>  	if (drm_WARN_ON(&dev_priv->drm, !dev_priv->l3_parity.which_slice))
> @@ -225,7 +220,6 @@ static void ivb_parity_work(struct work_struct *work)
>  	gen5_gt_enable_irq(gt, GT_PARITY_ERROR(dev_priv));
>  	spin_unlock_irq(gt->irq_lock);
>  
> -	mutex_unlock(&dev_priv->struct_mutex);
>  }
>  
>  static irqreturn_t valleyview_irq_handler(int irq, void *arg)
> -- 
> 2.50.1
> 


More information about the Intel-gfx mailing list