diff options
| author | Paul Mackerras <paulus@samba.org> | 2008-12-16 14:38:58 +1100 |
|---|---|---|
| committer | Paul Mackerras <paulus@samba.org> | 2008-12-16 14:38:58 +1100 |
| commit | 1e1c568d6c66d1e2e345fd15e2a1ceafc5d7e33a (patch) | |
| tree | 0cf88547108a750d6eb910564ef5bf0ffb5ceef3 /drivers/gpu/drm/radeon/radeon_irq.c | |
| parent | 91cac623262c1c0cd298c5c648a8bd2b647c264d (diff) | |
| parent | 23e0e8afafd9ac065d81506524adf3339584044b (diff) | |
Merge branch 'merge' into next
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_irq.c')
| -rw-r--r-- | drivers/gpu/drm/radeon/radeon_irq.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_irq.c b/drivers/gpu/drm/radeon/radeon_irq.c index 97c0599fdb1e..99be11418ac2 100644 --- a/drivers/gpu/drm/radeon/radeon_irq.c +++ b/drivers/gpu/drm/radeon/radeon_irq.c @@ -44,7 +44,8 @@ void radeon_irq_set_state(struct drm_device *dev, u32 mask, int state) else dev_priv->irq_enable_reg &= ~mask; - RADEON_WRITE(RADEON_GEN_INT_CNTL, dev_priv->irq_enable_reg); + if (!dev->irq_enabled) + RADEON_WRITE(RADEON_GEN_INT_CNTL, dev_priv->irq_enable_reg); } static void r500_vbl_irq_set_state(struct drm_device *dev, u32 mask, int state) @@ -56,7 +57,8 @@ static void r500_vbl_irq_set_state(struct drm_device *dev, u32 mask, int state) else dev_priv->r500_disp_irq_reg &= ~mask; - RADEON_WRITE(R500_DxMODE_INT_MASK, dev_priv->r500_disp_irq_reg); + if (!dev->irq_enabled) + RADEON_WRITE(R500_DxMODE_INT_MASK, dev_priv->r500_disp_irq_reg); } int radeon_enable_vblank(struct drm_device *dev, int crtc) @@ -355,8 +357,6 @@ void radeon_driver_irq_uninstall(struct drm_device * dev) if (!dev_priv) return; - dev_priv->irq_enabled = 0; - if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_RS690) RADEON_WRITE(R500_DxMODE_INT_MASK, 0); /* Disable *all* interrupts */ |
