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.me...@estudante.ufscar.br> > Suggested-by: Rodrigo Vivi <rodrigo.v...@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.v...@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 >