[Intel-gfx] [PATCH 17/20] drm/i915: add ironlake_irq_reset
Paulo Zanoni
przanoni at gmail.com
Sat Mar 8 00:10:33 CET 2014
From: Paulo Zanoni <paulo.r.zanoni at intel.com>
To merge the common code of ironlake_irq_preinstall and
ironlake_irq_uninstall.
We should also probably do something about that HSWSTAM write on a
later commit.
Signed-off-by: Paulo Zanoni <paulo.r.zanoni at intel.com>
---
drivers/gpu/drm/i915/i915_irq.c | 23 ++++++++++++-----------
1 file changed, 12 insertions(+), 11 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index 1e5cc5b..4917a8c 100644
--- a/drivers/gpu/drm/i915/i915_irq.c
+++ b/drivers/gpu/drm/i915/i915_irq.c
@@ -2848,11 +2848,9 @@ static void gen5_gt_irq_reset(struct drm_device *dev)
/* drm_dma.h hooks
*/
-static void ironlake_irq_preinstall(struct drm_device *dev)
+static void ironlake_irq_reset(struct drm_device *dev)
{
- drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private;
-
- I915_WRITE(HWSTAM, 0xeffe);
+ struct drm_i915_private *dev_priv = dev->dev_private;
GEN5_IRQ_RESET(DE);
if (IS_GEN7(dev))
@@ -2863,6 +2861,15 @@ static void ironlake_irq_preinstall(struct drm_device *dev)
ibx_irq_reset(dev);
}
+static void ironlake_irq_preinstall(struct drm_device *dev)
+{
+ drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private;
+
+ I915_WRITE(HWSTAM, 0xeffe);
+
+ ironlake_irq_reset(dev);
+}
+
static void valleyview_irq_preinstall(struct drm_device *dev)
{
drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private;
@@ -3314,13 +3321,7 @@ static void ironlake_irq_uninstall(struct drm_device *dev)
I915_WRITE(HWSTAM, 0xffffffff);
- GEN5_IRQ_RESET(DE);
- if (IS_GEN7(dev))
- I915_WRITE(GEN7_ERR_INT, 0xffffffff);
-
- gen5_gt_irq_reset(dev);
-
- ibx_irq_reset(dev);
+ ironlake_irq_reset(dev);
}
static void i8xx_irq_preinstall(struct drm_device * dev)
--
1.8.5.3
More information about the Intel-gfx
mailing list