OSDN Git Service

drm/i915: add gen8_irq_reset
authorPaulo Zanoni <paulo.r.zanoni@intel.com>
Tue, 1 Apr 2014 18:37:26 +0000 (15:37 -0300)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 1 Apr 2014 21:26:44 +0000 (23:26 +0200)
So we can merge all the common code from postinstall and uninstall.

v2: - Rebase.
    - While at it, remove useless { and }.

Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_irq.c

index e206a8a..26fec6c 100644 (file)
@@ -2959,7 +2959,7 @@ static void valleyview_irq_preinstall(struct drm_device *dev)
        POSTING_READ(VLV_IER);
 }
 
-static void gen8_irq_preinstall(struct drm_device *dev)
+static void gen8_irq_reset(struct drm_device *dev)
 {
        struct drm_i915_private *dev_priv = dev->dev_private;
        int pipe;
@@ -2972,9 +2972,8 @@ static void gen8_irq_preinstall(struct drm_device *dev)
        GEN8_IRQ_RESET_NDX(GT, 2);
        GEN8_IRQ_RESET_NDX(GT, 3);
 
-       for_each_pipe(pipe) {
+       for_each_pipe(pipe)
                GEN8_IRQ_RESET_NDX(DE_PIPE, pipe);
-       }
 
        GEN5_IRQ_RESET(GEN8_DE_PORT_);
        GEN5_IRQ_RESET(GEN8_DE_MISC_);
@@ -2983,6 +2982,11 @@ static void gen8_irq_preinstall(struct drm_device *dev)
        ibx_irq_reset(dev);
 }
 
+static void gen8_irq_preinstall(struct drm_device *dev)
+{
+       gen8_irq_reset(dev);
+}
+
 static void ibx_hpd_irq_setup(struct drm_device *dev)
 {
        struct drm_i915_private *dev_priv = dev->dev_private;
@@ -3301,28 +3305,13 @@ static int gen8_irq_postinstall(struct drm_device *dev)
 static void gen8_irq_uninstall(struct drm_device *dev)
 {
        struct drm_i915_private *dev_priv = dev->dev_private;
-       int pipe;
 
        if (!dev_priv)
                return;
 
        intel_hpd_irq_uninstall(dev_priv);
 
-       I915_WRITE(GEN8_MASTER_IRQ, 0);
-
-       GEN8_IRQ_RESET_NDX(GT, 0);
-       GEN8_IRQ_RESET_NDX(GT, 1);
-       GEN8_IRQ_RESET_NDX(GT, 2);
-       GEN8_IRQ_RESET_NDX(GT, 3);
-
-       for_each_pipe(pipe)
-               GEN8_IRQ_RESET_NDX(DE_PIPE, pipe);
-
-       GEN5_IRQ_RESET(GEN8_DE_PORT_);
-       GEN5_IRQ_RESET(GEN8_DE_MISC_);
-       GEN5_IRQ_RESET(GEN8_PCU_);
-
-       ibx_irq_reset(dev);
+       gen8_irq_reset(dev);
 }
 
 static void valleyview_irq_uninstall(struct drm_device *dev)