diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2010-11-02 20:06:43 -0400 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2010-12-03 00:11:30 -0500 |
commit | d7facf9dc50acff69de9688088caa78b3cf69ebb (patch) | |
tree | c2ca30472f0ab46daa367ec798dd0dffe43fb6a1 /drivers/gpu/drm/nouveau/nouveau_irq.c | |
parent | 8f8a54482b008714ccfad15f4592b3802b80d479 (diff) |
drm/nv84: move PCRYPT ISR out of nouveau_irq.c
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 | 25 |
1 files changed, 1 insertions, 24 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_irq.c b/drivers/gpu/drm/nouveau/nouveau_irq.c index 819bc3dd89e0..bdaf8ae44476 100644 --- a/drivers/gpu/drm/nouveau/nouveau_irq.c +++ b/drivers/gpu/drm/nouveau/nouveau_irq.c | |||
@@ -36,19 +36,12 @@ | |||
36 | #include "nouveau_drv.h" | 36 | #include "nouveau_drv.h" |
37 | #include "nouveau_reg.h" | 37 | #include "nouveau_reg.h" |
38 | #include "nouveau_ramht.h" | 38 | #include "nouveau_ramht.h" |
39 | #include <linux/ratelimit.h> | 39 | #include "nouveau_util.h" |
40 | 40 | ||
41 | /* needed for hotplug irq */ | 41 | /* needed for hotplug irq */ |
42 | #include "nouveau_connector.h" | 42 | #include "nouveau_connector.h" |
43 | #include "nv50_display.h" | 43 | #include "nv50_display.h" |
44 | 44 | ||
45 | static DEFINE_RATELIMIT_STATE(nouveau_ratelimit_state, 3 * HZ, 20); | ||
46 | |||
47 | static int nouveau_ratelimit(void) | ||
48 | { | ||
49 | return __ratelimit(&nouveau_ratelimit_state); | ||
50 | } | ||
51 | |||
52 | void | 45 | void |
53 | nouveau_irq_preinstall(struct drm_device *dev) | 46 | nouveau_irq_preinstall(struct drm_device *dev) |
54 | { | 47 | { |
@@ -1240,22 +1233,6 @@ nouveau_irq_handler(DRM_IRQ_ARGS) | |||
1240 | status &= ~NV_PMC_INTR_0_PGRAPH_PENDING; | 1233 | status &= ~NV_PMC_INTR_0_PGRAPH_PENDING; |
1241 | } | 1234 | } |
1242 | 1235 | ||
1243 | if (status & 0x00004000) { | ||
1244 | u32 stat = nv_rd32(dev, 0x102130); | ||
1245 | u32 mthd = nv_rd32(dev, 0x102190); | ||
1246 | u32 data = nv_rd32(dev, 0x102194); | ||
1247 | u32 inst = nv_rd32(dev, 0x102188) & 0x7fffffff; | ||
1248 | |||
1249 | NV_INFO(dev, "PCRYPT_INTR: 0x%08x 0x%08x 0x%08x 0x%08x\n", | ||
1250 | stat, mthd, data, inst); | ||
1251 | nv_wr32(dev, 0x102130, stat); | ||
1252 | nv_wr32(dev, 0x10200c, 0x10); | ||
1253 | |||
1254 | nv50_fb_vm_trap(dev, nouveau_ratelimit(), "PCRYPT"); | ||
1255 | status &= ~0x00004000; | ||
1256 | |||
1257 | } | ||
1258 | |||
1259 | if (status & NV_PMC_INTR_0_CRTCn_PENDING) { | 1236 | if (status & NV_PMC_INTR_0_CRTCn_PENDING) { |
1260 | nouveau_crtc_irq_handler(dev, (status>>24)&3); | 1237 | nouveau_crtc_irq_handler(dev, (status>>24)&3); |
1261 | status &= ~NV_PMC_INTR_0_CRTCn_PENDING; | 1238 | status &= ~NV_PMC_INTR_0_CRTCn_PENDING; |