diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2018-09-26 06:47:18 -0400 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2018-09-26 08:33:14 -0400 |
commit | 7a90938332d80faf973fbcffdf6e674e7b8f0914 (patch) | |
tree | ac9511bf1f57450480287171711173d2e5bebc15 /drivers/gpu/drm/i915 | |
parent | 74f6e183913b5dc90a004cafa84159ddb61cd0f0 (diff) |
drm/i915: Avoid compiler warning for maybe unused gu_misc_iir
/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@linux-m68k.org>
Fixes: df0d28c185ad ("drm/i915/icl: GSE interrupt moves from DE_MISC to GU_MISC")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180926104718.17462-1-chris@chris-wilson.co.uk
Diffstat (limited to 'drivers/gpu/drm/i915')
-rw-r--r-- | drivers/gpu/drm/i915/i915_irq.c | 33 |
1 files 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, | |||
3088 | spin_unlock(&i915->irq_lock); | 3088 | spin_unlock(&i915->irq_lock); |
3089 | } | 3089 | } |
3090 | 3090 | ||
3091 | static void | 3091 | static u32 |
3092 | gen11_gu_misc_irq_ack(struct drm_i915_private *dev_priv, const u32 master_ctl, | 3092 | gen11_gu_misc_irq_ack(struct drm_i915_private *dev_priv, const u32 master_ctl) |
3093 | u32 *iir) | ||
3094 | { | 3093 | { |
3095 | void __iomem * const regs = dev_priv->regs; | 3094 | void __iomem * const regs = dev_priv->regs; |
3095 | u32 iir; | ||
3096 | 3096 | ||
3097 | if (!(master_ctl & GEN11_GU_MISC_IRQ)) | 3097 | if (!(master_ctl & GEN11_GU_MISC_IRQ)) |
3098 | return; | 3098 | return 0; |
3099 | |||
3100 | iir = raw_reg_read(regs, GEN11_GU_MISC_IIR); | ||
3101 | if (likely(iir)) | ||
3102 | raw_reg_write(regs, GEN11_GU_MISC_IIR, iir); | ||
3099 | 3103 | ||
3100 | *iir = raw_reg_read(regs, GEN11_GU_MISC_IIR); | 3104 | return iir; |
3101 | if (likely(*iir)) | ||
3102 | raw_reg_write(regs, GEN11_GU_MISC_IIR, *iir); | ||
3103 | } | 3105 | } |
3104 | 3106 | ||
3105 | static void | 3107 | static void |
3106 | gen11_gu_misc_irq_handler(struct drm_i915_private *dev_priv, | 3108 | gen11_gu_misc_irq_handler(struct drm_i915_private *dev_priv, const u32 iir) |
3107 | const u32 master_ctl, const u32 iir) | ||
3108 | { | 3109 | { |
3109 | if (!(master_ctl & GEN11_GU_MISC_IRQ)) | ||
3110 | return; | ||
3111 | |||
3112 | if (unlikely(!iir)) { | ||
3113 | DRM_ERROR("GU_MISC iir blank!\n"); | ||
3114 | return; | ||
3115 | } | ||
3116 | |||
3117 | if (iir & GEN11_GU_MISC_GSE) | 3110 | if (iir & GEN11_GU_MISC_GSE) |
3118 | intel_opregion_asle_intr(dev_priv); | 3111 | intel_opregion_asle_intr(dev_priv); |
3119 | else | ||
3120 | DRM_ERROR("Unexpected GU_MISC interrupt 0x%x\n", iir); | ||
3121 | } | 3112 | } |
3122 | 3113 | ||
3123 | static irqreturn_t gen11_irq_handler(int irq, void *arg) | 3114 | static irqreturn_t gen11_irq_handler(int irq, void *arg) |
@@ -3154,12 +3145,12 @@ static irqreturn_t gen11_irq_handler(int irq, void *arg) | |||
3154 | enable_rpm_wakeref_asserts(i915); | 3145 | enable_rpm_wakeref_asserts(i915); |
3155 | } | 3146 | } |
3156 | 3147 | ||
3157 | gen11_gu_misc_irq_ack(i915, master_ctl, &gu_misc_iir); | 3148 | gu_misc_iir = gen11_gu_misc_irq_ack(i915, master_ctl); |
3158 | 3149 | ||
3159 | /* Acknowledge and enable interrupts. */ | 3150 | /* Acknowledge and enable interrupts. */ |
3160 | raw_reg_write(regs, GEN11_GFX_MSTR_IRQ, GEN11_MASTER_IRQ | master_ctl); | 3151 | raw_reg_write(regs, GEN11_GFX_MSTR_IRQ, GEN11_MASTER_IRQ | master_ctl); |
3161 | 3152 | ||
3162 | gen11_gu_misc_irq_handler(i915, master_ctl, gu_misc_iir); | 3153 | gen11_gu_misc_irq_handler(i915, gu_misc_iir); |
3163 | 3154 | ||
3164 | return IRQ_HANDLED; | 3155 | return IRQ_HANDLED; |
3165 | } | 3156 | } |