diff mbox

[07/24] drm/i915: fold the no-irq check into intel_hpd_irq_handler

Message ID 1371037046-3732-8-git-send-email-daniel.vetter@ffwll.ch (mailing list archive)
State New, archived
Headers show

Commit Message

Daniel Vetter June 12, 2013, 11:37 a.m. UTC
The usual pattern for our sub-function irq_handlers is that they check
for the no-irq case themselves. This results in more streamlined code
in the upper irq handlers.

Cc: Egbert Eich <eich@suse.de>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/i915/i915_irq.c | 33 +++++++++++++++++----------------
 1 file changed, 17 insertions(+), 16 deletions(-)

Comments

Egbert Eich June 12, 2013, 2:33 p.m. UTC | #1
Daniel Vetter writes:
 > The usual pattern for our sub-function irq_handlers is that they check
 > for the no-irq case themselves. This results in more streamlined code
 > in the upper irq handlers.
 > 
 > Cc: Egbert Eich <eich@suse.de>
 > Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 > ---
 >  drivers/gpu/drm/i915/i915_irq.c | 33 +++++++++++++++++----------------
 >  1 file changed, 17 insertions(+), 16 deletions(-)
 > 

[reviewed code deleted]

Reviewed-by: Egbert Eich <eich@suse.de>
Paulo Zanoni June 26, 2013, 10:35 p.m. UTC | #2
2013/6/12 Egbert Eich <eich@suse.com>:
> Daniel Vetter writes:
>  > The usual pattern for our sub-function irq_handlers is that they check
>  > for the no-irq case themselves. This results in more streamlined code
>  > in the upper irq handlers.
>  >
>  > Cc: Egbert Eich <eich@suse.de>
>  > Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
>  > ---
>  >  drivers/gpu/drm/i915/i915_irq.c | 33 +++++++++++++++++----------------
>  >  1 file changed, 17 insertions(+), 16 deletions(-)
>  >
>
> [reviewed code deleted]
>
> Reviewed-by: Egbert Eich <eich@suse.de>

Patches 4, 5, 6 and 7 (all reviewed by Egbert) are also Reviewed-by:
Paulo Zanoni <paulo.r.zanoni@intel.com>

But I do have to notice they don't apply anymore due to
s/hpd_status_i965/hpd_status_i915/

> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
Daniel Vetter June 27, 2013, 10:39 a.m. UTC | #3
On Wed, Jun 26, 2013 at 07:35:18PM -0300, Paulo Zanoni wrote:
> 2013/6/12 Egbert Eich <eich@suse.com>:
> > Daniel Vetter writes:
> >  > The usual pattern for our sub-function irq_handlers is that they check
> >  > for the no-irq case themselves. This results in more streamlined code
> >  > in the upper irq handlers.
> >  >
> >  > Cc: Egbert Eich <eich@suse.de>
> >  > Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> >  > ---
> >  >  drivers/gpu/drm/i915/i915_irq.c | 33 +++++++++++++++++----------------
> >  >  1 file changed, 17 insertions(+), 16 deletions(-)
> >  >
> >
> > [reviewed code deleted]
> >
> > Reviewed-by: Egbert Eich <eich@suse.de>
> 
> Patches 4, 5, 6 and 7 (all reviewed by Egbert) are also Reviewed-by:
> Paulo Zanoni <paulo.r.zanoni@intel.com>
> 
> But I do have to notice they don't apply anymore due to
> s/hpd_status_i965/hpd_status_i915/

Yeah, I'll fix up the patches and resend the first 7 anew.
-Daniel
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index 38bb26f..1815891 100644
--- a/drivers/gpu/drm/i915/i915_irq.c
+++ b/drivers/gpu/drm/i915/i915_irq.c
@@ -884,6 +884,9 @@  static inline void intel_hpd_irq_handler(struct drm_device *dev,
 	int i;
 	bool storm_detected = false;
 
+	if (!hotplug_trigger)
+		return;
+
 	spin_lock_irqsave(&dev_priv->irq_lock, irqflags);
 
 	for (i = 1; i < HPD_NUM_PINS; i++) {
@@ -1021,9 +1024,9 @@  static irqreturn_t valleyview_irq_handler(int irq, void *arg)
 
 			DRM_DEBUG_DRIVER("hotplug event received, stat 0x%08x\n",
 					 hotplug_status);
-			if (hotplug_trigger) {
-				intel_hpd_irq_handler(dev, hotplug_trigger, hpd_status_i915);
-			}
+
+			intel_hpd_irq_handler(dev, hotplug_trigger, hpd_status_i915);
+
 			I915_WRITE(PORT_HOTPLUG_STAT, hotplug_status);
 			I915_READ(PORT_HOTPLUG_STAT);
 		}
@@ -1049,9 +1052,8 @@  static void ibx_irq_handler(struct drm_device *dev, u32 pch_iir)
 	int pipe;
 	u32 hotplug_trigger = pch_iir & SDE_HOTPLUG_MASK;
 
-	if (hotplug_trigger) {
-		intel_hpd_irq_handler(dev, hotplug_trigger, hpd_ibx);
-	}
+	intel_hpd_irq_handler(dev, hotplug_trigger, hpd_ibx);
+
 	if (pch_iir & SDE_AUDIO_POWER_MASK) {
 		int port = ffs((pch_iir & SDE_AUDIO_POWER_MASK) >>
 			       SDE_AUDIO_POWER_SHIFT);
@@ -1152,9 +1154,8 @@  static void cpt_irq_handler(struct drm_device *dev, u32 pch_iir)
 	int pipe;
 	u32 hotplug_trigger = pch_iir & SDE_HOTPLUG_MASK_CPT;
 
-	if (hotplug_trigger) {
-		intel_hpd_irq_handler(dev, hotplug_trigger, hpd_cpt);
-	}
+	intel_hpd_irq_handler(dev, hotplug_trigger, hpd_cpt);
+
 	if (pch_iir & SDE_AUDIO_POWER_MASK_CPT) {
 		int port = ffs((pch_iir & SDE_AUDIO_POWER_MASK_CPT) >>
 			       SDE_AUDIO_POWER_SHIFT_CPT);
@@ -3167,9 +3168,9 @@  static irqreturn_t i915_irq_handler(int irq, void *arg)
 
 			DRM_DEBUG_DRIVER("hotplug event received, stat 0x%08x\n",
 				  hotplug_status);
-			if (hotplug_trigger) {
-				intel_hpd_irq_handler(dev, hotplug_trigger, hpd_status_i915);
-			}
+
+			intel_hpd_irq_handler(dev, hotplug_trigger, hpd_status_i915);
+
 			I915_WRITE(PORT_HOTPLUG_STAT, hotplug_status);
 			POSTING_READ(PORT_HOTPLUG_STAT);
 		}
@@ -3410,10 +3411,10 @@  static irqreturn_t i965_irq_handler(int irq, void *arg)
 
 			DRM_DEBUG_DRIVER("hotplug event received, stat 0x%08x\n",
 				  hotplug_status);
-			if (hotplug_trigger) {
-				intel_hpd_irq_handler(dev, hotplug_trigger,
-						      IS_G4X(dev) ? hpd_status_gen4 : hpd_status_i965);
-			}
+
+			intel_hpd_irq_handler(dev, hotplug_trigger,
+					      IS_G4X(dev) ? hpd_status_gen4 : hpd_status_i965);
+
 			I915_WRITE(PORT_HOTPLUG_STAT, hotplug_status);
 			I915_READ(PORT_HOTPLUG_STAT);
 		}