diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2010-11-02 20:27:27 -0400 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2010-12-03 00:11:34 -0500 |
commit | 19b7fc7bf59f4bf02ee738a79baaccae31220df3 (patch) | |
tree | 55617722ed8d813156d385d241bbaf21b34f00e6 /drivers/gpu/drm/nouveau/nouveau_irq.c | |
parent | 2cbd4c818578ef8f2e486dc77267ead1e503c637 (diff) |
drm/nv50: use register/unregister functionality for PDISPLAY ISR
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nouveau_irq.c')
-rw-r--r-- | drivers/gpu/drm/nouveau/nouveau_irq.c | 16 |
1 files changed, 1 insertions, 15 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_irq.c b/drivers/gpu/drm/nouveau/nouveau_irq.c index 061bae33b6e0..2f546884f2ed 100644 --- a/drivers/gpu/drm/nouveau/nouveau_irq.c +++ b/drivers/gpu/drm/nouveau/nouveau_irq.c | |||
@@ -38,10 +38,6 @@ | |||
38 | #include "nouveau_ramht.h" | 38 | #include "nouveau_ramht.h" |
39 | #include "nouveau_util.h" | 39 | #include "nouveau_util.h" |
40 | 40 | ||
41 | /* needed for hotplug irq */ | ||
42 | #include "nouveau_connector.h" | ||
43 | #include "nv50_display.h" | ||
44 | |||
45 | void | 41 | void |
46 | nouveau_irq_preinstall(struct drm_device *dev) | 42 | nouveau_irq_preinstall(struct drm_device *dev) |
47 | { | 43 | { |
@@ -50,12 +46,7 @@ nouveau_irq_preinstall(struct drm_device *dev) | |||
50 | /* Master disable */ | 46 | /* Master disable */ |
51 | nv_wr32(dev, NV03_PMC_INTR_EN_0, 0); | 47 | nv_wr32(dev, NV03_PMC_INTR_EN_0, 0); |
52 | 48 | ||
53 | if (dev_priv->card_type >= NV_50) { | 49 | INIT_LIST_HEAD(&dev_priv->vbl_waiting); |
54 | INIT_WORK(&dev_priv->irq_work, nv50_display_irq_handler_bh); | ||
55 | INIT_WORK(&dev_priv->hpd_work, nv50_display_irq_hotplug_bh); | ||
56 | spin_lock_init(&dev_priv->hpd_state.lock); | ||
57 | INIT_LIST_HEAD(&dev_priv->vbl_waiting); | ||
58 | } | ||
59 | } | 50 | } |
60 | 51 | ||
61 | int | 52 | int |
@@ -1238,11 +1229,6 @@ nouveau_irq_handler(DRM_IRQ_ARGS) | |||
1238 | status &= ~NV_PMC_INTR_0_CRTCn_PENDING; | 1229 | status &= ~NV_PMC_INTR_0_CRTCn_PENDING; |
1239 | } | 1230 | } |
1240 | 1231 | ||
1241 | if (status & NV_PMC_INTR_0_NV50_DISPLAY_PENDING) { | ||
1242 | nv50_display_irq_handler(dev); | ||
1243 | status &= ~NV_PMC_INTR_0_NV50_DISPLAY_PENDING; | ||
1244 | } | ||
1245 | |||
1246 | for (i = 0; i < 32 && status; i++) { | 1232 | for (i = 0; i < 32 && status; i++) { |
1247 | if (!(status & (1 << i)) || !dev_priv->irq_handler[i]) | 1233 | if (!(status & (1 << i)) || !dev_priv->irq_handler[i]) |
1248 | continue; | 1234 | continue; |