diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2010-11-03 09:57:28 +1000 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2010-12-03 15:11:29 +1000 |
commit | 8f8a54482b008714ccfad15f4592b3802b80d479 (patch) | |
tree | a9e1d6baf0b3d918c741d07550a85fbffc8bbdeb /drivers/gpu/drm/nouveau/nouveau_drv.h | |
parent | a169f09b96306cc353ffe0e1bc4bc0e1e9492281 (diff) | |
download | op-kernel-dev-8f8a54482b008714ccfad15f4592b3802b80d479.zip op-kernel-dev-8f8a54482b008714ccfad15f4592b3802b80d479.tar.gz |
drm/nouveau: allow irq handlers to be installed by engine-specific code
Lets start to clean up this mess!
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nouveau_drv.h')
-rw-r--r-- | drivers/gpu/drm/nouveau/nouveau_drv.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_drv.h b/drivers/gpu/drm/nouveau/nouveau_drv.h index a94430b..52dc97d 100644 --- a/drivers/gpu/drm/nouveau/nouveau_drv.h +++ b/drivers/gpu/drm/nouveau/nouveau_drv.h @@ -614,6 +614,7 @@ struct drm_nouveau_private { struct nouveau_bo *vga_ram; /* interrupt handling */ + void (*irq_handler[32])(struct drm_device *); bool msi_enabled; struct workqueue_struct *wq; struct work_struct irq_work; @@ -900,6 +901,9 @@ extern int nouveau_ioctl_gpuobj_free(struct drm_device *, void *data, extern int nouveau_irq_init(struct drm_device *); extern void nouveau_irq_fini(struct drm_device *); extern irqreturn_t nouveau_irq_handler(DRM_IRQ_ARGS); +extern void nouveau_irq_register(struct drm_device *, int status_bit, + void (*)(struct drm_device *)); +extern void nouveau_irq_unregister(struct drm_device *, int status_bit); extern void nouveau_irq_preinstall(struct drm_device *); extern int nouveau_irq_postinstall(struct drm_device *); extern void nouveau_irq_uninstall(struct drm_device *); |