drm/i915: extract ibx_irq_uninstall

Just like ibx_irq_preinstall. We'll call this from somewhere else in
the next patch.

Reviewed-by: Ben Widawsky <ben@bwidawsk.net>
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
Paulo Zanoni 2014-04-01 15:37:20 -03:00 committed by Daniel Vetter
parent 7c4d664e03
commit efbd3fc3d0

View file

@ -2904,7 +2904,6 @@ static void ironlake_irq_preinstall(struct drm_device *dev)
I915_WRITE(HWSTAM, 0xeffe); I915_WRITE(HWSTAM, 0xeffe);
GEN5_IRQ_RESET(DE); GEN5_IRQ_RESET(DE);
if (IS_GEN7(dev)) if (IS_GEN7(dev))
I915_WRITE(GEN7_ERR_INT, 0xffffffff); I915_WRITE(GEN7_ERR_INT, 0xffffffff);
@ -3277,6 +3276,19 @@ static int gen8_irq_postinstall(struct drm_device *dev)
return 0; return 0;
} }
static void ibx_irq_uninstall(struct drm_device *dev)
{
struct drm_i915_private *dev_priv = dev->dev_private;
if (HAS_PCH_NOP(dev))
return;
GEN5_IRQ_RESET(SDE);
if (HAS_PCH_CPT(dev) || HAS_PCH_LPT(dev))
I915_WRITE(SERR_INT, 0xffffffff);
}
static void gen8_irq_uninstall(struct drm_device *dev) static void gen8_irq_uninstall(struct drm_device *dev)
{ {
struct drm_i915_private *dev_priv = dev->dev_private; struct drm_i915_private *dev_priv = dev->dev_private;
@ -3348,12 +3360,7 @@ static void ironlake_irq_uninstall(struct drm_device *dev)
gen5_gt_irq_reset(dev); gen5_gt_irq_reset(dev);
if (HAS_PCH_NOP(dev)) ibx_irq_uninstall(dev);
return;
GEN5_IRQ_RESET(SDE);
if (HAS_PCH_CPT(dev) || HAS_PCH_LPT(dev))
I915_WRITE(SERR_INT, 0xffffffff);
} }
static void i8xx_irq_preinstall(struct drm_device * dev) static void i8xx_irq_preinstall(struct drm_device * dev)