diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2010-11-02 21:36:09 -0400 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2010-12-03 00:11:38 -0500 |
commit | 25b85783da8c71e577c676173e9d60a1b7e6113a (patch) | |
tree | 28cf293c419d0f7fba158d8a504539149f256770 /drivers/gpu/drm/nouveau/nouveau_irq.c | |
parent | 8cbe71a6e70b5439ae60bd542231c4b8878a8f1c (diff) |
drm/nv04-nv40: register vblank 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 | 19 |
1 files changed, 0 insertions, 19 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_irq.c b/drivers/gpu/drm/nouveau/nouveau_irq.c index e8a3c400f741..6c30669ac0b6 100644 --- a/drivers/gpu/drm/nouveau/nouveau_irq.c +++ b/drivers/gpu/drm/nouveau/nouveau_irq.c | |||
@@ -1131,20 +1131,6 @@ nv50_pgraph_irq_handler(struct drm_device *dev) | |||
1131 | nv_wr32(dev, 0x400824, nv_rd32(dev, 0x400824) & ~(1 << 31)); | 1131 | nv_wr32(dev, 0x400824, nv_rd32(dev, 0x400824) & ~(1 << 31)); |
1132 | } | 1132 | } |
1133 | 1133 | ||
1134 | static void | ||
1135 | nouveau_crtc_irq_handler(struct drm_device *dev, int crtc) | ||
1136 | { | ||
1137 | if (crtc & 1) { | ||
1138 | nv_wr32(dev, NV_CRTC0_INTSTAT, NV_CRTC_INTR_VBLANK); | ||
1139 | drm_handle_vblank(dev, 0); | ||
1140 | } | ||
1141 | |||
1142 | if (crtc & 2) { | ||
1143 | nv_wr32(dev, NV_CRTC1_INTSTAT, NV_CRTC_INTR_VBLANK); | ||
1144 | drm_handle_vblank(dev, 1); | ||
1145 | } | ||
1146 | } | ||
1147 | |||
1148 | irqreturn_t | 1134 | irqreturn_t |
1149 | nouveau_irq_handler(DRM_IRQ_ARGS) | 1135 | nouveau_irq_handler(DRM_IRQ_ARGS) |
1150 | { | 1136 | { |
@@ -1174,11 +1160,6 @@ nouveau_irq_handler(DRM_IRQ_ARGS) | |||
1174 | status &= ~NV_PMC_INTR_0_PGRAPH_PENDING; | 1160 | status &= ~NV_PMC_INTR_0_PGRAPH_PENDING; |
1175 | } | 1161 | } |
1176 | 1162 | ||
1177 | if (status & NV_PMC_INTR_0_CRTCn_PENDING) { | ||
1178 | nouveau_crtc_irq_handler(dev, (status>>24)&3); | ||
1179 | status &= ~NV_PMC_INTR_0_CRTCn_PENDING; | ||
1180 | } | ||
1181 | |||
1182 | for (i = 0; i < 32 && status; i++) { | 1163 | for (i = 0; i < 32 && status; i++) { |
1183 | if (!(status & (1 << i)) || !dev_priv->irq_handler[i]) | 1164 | if (!(status & (1 << i)) || !dev_priv->irq_handler[i]) |
1184 | continue; | 1165 | continue; |