Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> writes: > /kisskb/src/drivers/gpu/drm/i915/i915_irq.c: warning: 'gu_misc_iir' may be used uninitialized in this function [-Wuninitialized]: => 3120:10 > > Silence the compiler warning by ensuring that the local variable is > initialised and removing the guard that is confusing the older gcc. > > Reported-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> > Fixes: df0d28c185ad ("drm/i915/icl: GSE interrupt moves from DE_MISC to GU_MISC") > Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> > Cc: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> > --- > drivers/gpu/drm/i915/i915_irq.c | 33 ++++++++++++--------------------- > 1 file changed, 12 insertions(+), 21 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c > index 10f28a2ee2e6..2e242270e270 100644 > --- a/drivers/gpu/drm/i915/i915_irq.c > +++ b/drivers/gpu/drm/i915/i915_irq.c > @@ -3088,36 +3088,27 @@ gen11_gt_irq_handler(struct drm_i915_private * const i915, > spin_unlock(&i915->irq_lock); > } > > -static void > -gen11_gu_misc_irq_ack(struct drm_i915_private *dev_priv, const u32 master_ctl, > - u32 *iir) > +static u32 > +gen11_gu_misc_irq_ack(struct drm_i915_private *dev_priv, const u32 master_ctl) > { > void __iomem * const regs = dev_priv->regs; > + u32 iir; > > if (!(master_ctl & GEN11_GU_MISC_IRQ)) > - return; > + return 0; > + > + iir = raw_reg_read(regs, GEN11_GU_MISC_IIR); > + if (likely(iir)) > + raw_reg_write(regs, GEN11_GU_MISC_IIR, iir); > > - *iir = raw_reg_read(regs, GEN11_GU_MISC_IIR); > - if (likely(*iir)) > - raw_reg_write(regs, GEN11_GU_MISC_IIR, *iir); > + return iir; > } > > static void > -gen11_gu_misc_irq_handler(struct drm_i915_private *dev_priv, > - const u32 master_ctl, const u32 iir) > +gen11_gu_misc_irq_handler(struct drm_i915_private *dev_priv, const u32 iir) > { > - if (!(master_ctl & GEN11_GU_MISC_IRQ)) > - return; > - > - if (unlikely(!iir)) { > - DRM_ERROR("GU_MISC iir blank!\n"); > - return; > - } > - > if (iir & GEN11_GU_MISC_GSE) > intel_opregion_asle_intr(dev_priv); > - else > - DRM_ERROR("Unexpected GU_MISC interrupt 0x%x\n", iir); I see you are not fan of asserting irq behaviour in this level. You could have sprinked some 'static inline' there aswell but I won't start to argue that I know better than compiler. Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> > } > > static irqreturn_t gen11_irq_handler(int irq, void *arg) > @@ -3154,12 +3145,12 @@ static irqreturn_t gen11_irq_handler(int irq, void *arg) > enable_rpm_wakeref_asserts(i915); > } > > - gen11_gu_misc_irq_ack(i915, master_ctl, &gu_misc_iir); > + gu_misc_iir = gen11_gu_misc_irq_ack(i915, master_ctl); > > /* Acknowledge and enable interrupts. */ > raw_reg_write(regs, GEN11_GFX_MSTR_IRQ, GEN11_MASTER_IRQ | master_ctl); > > - gen11_gu_misc_irq_handler(i915, master_ctl, gu_misc_iir); > + gen11_gu_misc_irq_handler(i915, gu_misc_iir); > > return IRQ_HANDLED; > } > -- > 2.19.0 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx