diff options
Diffstat (limited to 'drivers/char/drm/via_irq.c')
-rw-r--r-- | drivers/char/drm/via_irq.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/drivers/char/drm/via_irq.c b/drivers/char/drm/via_irq.c index c33d068cde19..1ac5941ad237 100644 --- a/drivers/char/drm/via_irq.c +++ b/drivers/char/drm/via_irq.c | |||
@@ -258,12 +258,16 @@ void via_driver_irq_preinstall(drm_device_t * dev) | |||
258 | dev_priv->irq_enable_mask = VIA_IRQ_VBLANK_ENABLE; | 258 | dev_priv->irq_enable_mask = VIA_IRQ_VBLANK_ENABLE; |
259 | dev_priv->irq_pending_mask = VIA_IRQ_VBLANK_PENDING; | 259 | dev_priv->irq_pending_mask = VIA_IRQ_VBLANK_PENDING; |
260 | 260 | ||
261 | dev_priv->irq_masks = (dev_priv->pro_group_a) ? | 261 | if (dev_priv->chipset == VIA_PRO_GROUP_A || |
262 | via_pro_group_a_irqs : via_unichrome_irqs; | 262 | dev_priv->chipset == VIA_DX9_0) { |
263 | dev_priv->num_irqs = (dev_priv->pro_group_a) ? | 263 | dev_priv->irq_masks = via_pro_group_a_irqs; |
264 | via_num_pro_group_a : via_num_unichrome; | 264 | dev_priv->num_irqs = via_num_pro_group_a; |
265 | dev_priv->irq_map = (dev_priv->pro_group_a) ? | 265 | dev_priv->irq_map = via_irqmap_pro_group_a; |
266 | via_irqmap_pro_group_a : via_irqmap_unichrome; | 266 | } else { |
267 | dev_priv->irq_masks = via_unichrome_irqs; | ||
268 | dev_priv->num_irqs = via_num_unichrome; | ||
269 | dev_priv->irq_map = via_irqmap_unichrome; | ||
270 | } | ||
267 | 271 | ||
268 | for (i = 0; i < dev_priv->num_irqs; ++i) { | 272 | for (i = 0; i < dev_priv->num_irqs; ++i) { |
269 | atomic_set(&cur_irq->irq_received, 0); | 273 | atomic_set(&cur_irq->irq_received, 0); |