mirror of https://gitee.com/openkylin/linux.git
drm/i915: add ironlake_irq_reset
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@intel.com> [danvet: Fix compile fail due to drm_i915_private_t typedef removal.] Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
parent
d4eb6b10fc
commit
be30b29fa9
|
@ -2908,12 +2908,10 @@ 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)
|
||||
{
|
||||
struct drm_i915_private *dev_priv = dev->dev_private;
|
||||
|
||||
I915_WRITE(HWSTAM, 0xeffe);
|
||||
|
||||
GEN5_IRQ_RESET(DE);
|
||||
if (IS_GEN7(dev))
|
||||
I915_WRITE(GEN7_ERR_INT, 0xffffffff);
|
||||
|
@ -2923,6 +2921,15 @@ static void ironlake_irq_preinstall(struct drm_device *dev)
|
|||
ibx_irq_reset(dev);
|
||||
}
|
||||
|
||||
static void ironlake_irq_preinstall(struct drm_device *dev)
|
||||
{
|
||||
struct drm_i915_private *dev_priv = dev->dev_private;
|
||||
|
||||
I915_WRITE(HWSTAM, 0xeffe);
|
||||
|
||||
ironlake_irq_reset(dev);
|
||||
}
|
||||
|
||||
static void valleyview_irq_preinstall(struct drm_device *dev)
|
||||
{
|
||||
struct drm_i915_private *dev_priv = dev->dev_private;
|
||||
|
@ -3360,13 +3367,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)
|
||||
|
|
Loading…
Reference in New Issue