aboutsummaryrefslogtreecommitdiff
path: root/drivers/char/drm/via_irq.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-02-08 10:03:28 -0800
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-02-08 10:03:28 -0800
commit0c0e8caf9fd6c9a49fb9fbdba14a8b7b4239adde (patch)
treec9b873f23b9d7d1fc7573788233104e0e501d269 /drivers/char/drm/via_irq.c
parentb892afd1e60132a981b963929e352eabf3306ba2 (diff)
parent1545085a28f226b59c243f88b82ea25393b0d63f (diff)
Merge branch 'drm-patches' of master.kernel.org:/pub/scm/linux/kernel/git/airlied/drm-2.6
* 'drm-patches' of master.kernel.org:/pub/scm/linux/kernel/git/airlied/drm-2.6: drm: Allow for 44 bit user-tokens (or drm_file offsets) drm/via: Disable AGP DMA for chips with the new 3D engine. drm: update core memory manager from git drm tree drm: remove drm_ioremap and drm_ioremapfree i810/i830: use drm_core_ioremap instead of drm_ioremap drm: use vmalloc_user instead of vmalloc_32 for DRM_SHM via: allow for npot texture pitch alignment via: add some new chipsets via: some PCI posting flushes
Diffstat (limited to 'drivers/char/drm/via_irq.c')
-rw-r--r--drivers/char/drm/via_irq.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/drivers/char/drm/via_irq.c b/drivers/char/drm/via_irq.c
index c33d068cde1..1ac5941ad23 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)
dev_priv->irq_enable_mask = VIA_IRQ_VBLANK_ENABLE;
dev_priv->irq_pending_mask = VIA_IRQ_VBLANK_PENDING;
- dev_priv->irq_masks = (dev_priv->pro_group_a) ?
- via_pro_group_a_irqs : via_unichrome_irqs;
- dev_priv->num_irqs = (dev_priv->pro_group_a) ?
- via_num_pro_group_a : via_num_unichrome;
- dev_priv->irq_map = (dev_priv->pro_group_a) ?
- via_irqmap_pro_group_a : via_irqmap_unichrome;
+ if (dev_priv->chipset == VIA_PRO_GROUP_A ||
+ dev_priv->chipset == VIA_DX9_0) {
+ dev_priv->irq_masks = via_pro_group_a_irqs;
+ dev_priv->num_irqs = via_num_pro_group_a;
+ dev_priv->irq_map = via_irqmap_pro_group_a;
+ } else {
+ dev_priv->irq_masks = via_unichrome_irqs;
+ dev_priv->num_irqs = via_num_unichrome;
+ dev_priv->irq_map = via_irqmap_unichrome;
+ }
for (i = 0; i < dev_priv->num_irqs; ++i) {
atomic_set(&cur_irq->irq_received, 0);