diff options
author | 2009-04-03 13:47:03 +0000 | |
---|---|---|
committer | 2009-04-03 13:47:03 +0000 | |
commit | 267ba0f34b86d3a00c740115edcb14c2629bf8be (patch) | |
tree | 56f6f42836ec766052463cf84a33d5d01fc985ec | |
parent | Final irq_lock piece. Switch inteldrm over like radeomdrm and the rest. (diff) | |
download | wireguard-openbsd-267ba0f34b86d3a00c740115edcb14c2629bf8be.tar.xz wireguard-openbsd-267ba0f34b86d3a00c740115edcb14c2629bf8be.zip |
Remove dev->irq_lock, the drm_irq_handler_wrap irq handler, and remove
the dev->driver irq_handler member since we now don't need to know.
Shaves a few bytes, and makes me happy.
-rw-r--r-- | sys/dev/pci/drm/drmP.h | 3 | ||||
-rw-r--r-- | sys/dev/pci/drm/drm_irq.c | 15 | ||||
-rw-r--r-- | sys/dev/pci/drm/i915_drv.c | 1 | ||||
-rw-r--r-- | sys/dev/pci/drm/i915_drv.h | 1 | ||||
-rw-r--r-- | sys/dev/pci/drm/i915_irq.c | 1 | ||||
-rw-r--r-- | sys/dev/pci/drm/mach64_drv.c | 1 | ||||
-rw-r--r-- | sys/dev/pci/drm/mach64_drv.h | 1 | ||||
-rw-r--r-- | sys/dev/pci/drm/mach64_irq.c | 2 | ||||
-rw-r--r-- | sys/dev/pci/drm/mga_drv.c | 1 | ||||
-rw-r--r-- | sys/dev/pci/drm/mga_drv.h | 1 | ||||
-rw-r--r-- | sys/dev/pci/drm/mga_irq.c | 2 | ||||
-rw-r--r-- | sys/dev/pci/drm/r128_drv.c | 1 | ||||
-rw-r--r-- | sys/dev/pci/drm/r128_drv.h | 1 | ||||
-rw-r--r-- | sys/dev/pci/drm/r128_irq.c | 2 | ||||
-rw-r--r-- | sys/dev/pci/drm/radeon_drv.c | 1 | ||||
-rw-r--r-- | sys/dev/pci/drm/radeon_drv.h | 1 | ||||
-rw-r--r-- | sys/dev/pci/drm/radeon_irq.c | 1 |
17 files changed, 8 insertions, 28 deletions
diff --git a/sys/dev/pci/drm/drmP.h b/sys/dev/pci/drm/drmP.h index 43d3fd77d84..23e35da1507 100644 --- a/sys/dev/pci/drm/drmP.h +++ b/sys/dev/pci/drm/drmP.h @@ -384,7 +384,6 @@ struct drm_driver_info { int (*context_dtor)(struct drm_device *, int); int (*irq_install)(struct drm_device *); void (*irq_uninstall)(struct drm_device *); - irqreturn_t (*irq_handler)(DRM_IRQ_ARGS); int vblank_pipes; u_int32_t (*get_vblank_counter)(struct drm_device *, int); int (*enable_vblank)(struct drm_device *, int); @@ -427,7 +426,6 @@ struct drm_device { int if_version; /* Highest interface version set */ /* Locks */ - struct mutex irq_lock; /* protects irq condition checks */ struct rwlock dev_lock; /* protects everything else */ /* Usage Counters */ @@ -546,7 +544,6 @@ void drm_reclaim_buffers(struct drm_device *, struct drm_file *); /* IRQ support (drm_irq.c) */ int drm_irq_install(struct drm_device *); int drm_irq_uninstall(struct drm_device *); -irqreturn_t drm_irq_handler_wrap(DRM_IRQ_ARGS); void drm_vblank_cleanup(struct drm_device *); int drm_vblank_init(struct drm_device *, int); u_int32_t drm_vblank_count(struct drm_device *, int); diff --git a/sys/dev/pci/drm/drm_irq.c b/sys/dev/pci/drm/drm_irq.c index 9d72580e3d1..ba9d1b8f82d 100644 --- a/sys/dev/pci/drm/drm_irq.c +++ b/sys/dev/pci/drm/drm_irq.c @@ -56,19 +56,6 @@ drm_irq_by_busid(struct drm_device *dev, void *data, struct drm_file *file_priv) return 0; } -irqreturn_t -drm_irq_handler_wrap(DRM_IRQ_ARGS) -{ - irqreturn_t ret; - struct drm_device *dev = (struct drm_device *)arg; - - mtx_enter(&dev->irq_lock); - ret = dev->driver->irq_handler(arg); - mtx_leave(&dev->irq_lock); - - return ret; -} - int drm_irq_install(struct drm_device *dev) { @@ -87,8 +74,6 @@ drm_irq_install(struct drm_device *dev) dev->irq_enabled = 1; DRM_UNLOCK(); - mtx_init(&dev->irq_lock, IPL_BIO); - if ((ret = dev->driver->irq_install(dev)) != 0) goto err; diff --git a/sys/dev/pci/drm/i915_drv.c b/sys/dev/pci/drm/i915_drv.c index 75bde5862e0..70ec61b25c0 100644 --- a/sys/dev/pci/drm/i915_drv.c +++ b/sys/dev/pci/drm/i915_drv.c @@ -101,7 +101,6 @@ static const struct drm_driver_info inteldrm_driver = { .disable_vblank = i915_disable_vblank, .irq_install = i915_driver_irq_install, .irq_uninstall = i915_driver_irq_uninstall, - .irq_handler = i915_driver_irq_handler, .name = DRIVER_NAME, .desc = DRIVER_DESC, diff --git a/sys/dev/pci/drm/i915_drv.h b/sys/dev/pci/drm/i915_drv.h index 4fab276fd79..0f4ea6fb93d 100644 --- a/sys/dev/pci/drm/i915_drv.h +++ b/sys/dev/pci/drm/i915_drv.h @@ -244,7 +244,6 @@ extern int i915_irq_emit(struct drm_device *dev, void *data, extern int i915_irq_wait(struct drm_device *dev, void *data, struct drm_file *file_priv); -extern irqreturn_t i915_driver_irq_handler(DRM_IRQ_ARGS); extern int i915_driver_irq_install(struct drm_device * dev); extern void i915_driver_irq_uninstall(struct drm_device * dev); extern int i915_vblank_pipe_get(struct drm_device *dev, void *data, diff --git a/sys/dev/pci/drm/i915_irq.c b/sys/dev/pci/drm/i915_irq.c index 8b6526b5f79..a9bd03b4b86 100644 --- a/sys/dev/pci/drm/i915_irq.c +++ b/sys/dev/pci/drm/i915_irq.c @@ -31,6 +31,7 @@ #include "i915_drm.h" #include "i915_drv.h" +irqreturn_t i915_driver_irq_handler(DRM_IRQ_ARGS); void i915_enable_irq(drm_i915_private_t *, u_int32_t); void i915_disable_irq(drm_i915_private_t *, u_int32_t); void i915_enable_pipestat(drm_i915_private_t *, int, u_int32_t); diff --git a/sys/dev/pci/drm/mach64_drv.c b/sys/dev/pci/drm/mach64_drv.c index b2c3f67da44..e60ffefa114 100644 --- a/sys/dev/pci/drm/mach64_drv.c +++ b/sys/dev/pci/drm/mach64_drv.c @@ -77,7 +77,6 @@ static const struct drm_driver_info machdrm_driver = { .disable_vblank = mach64_disable_vblank, .irq_install = mach64_driver_irq_install, .irq_uninstall = mach64_driver_irq_uninstall, - .irq_handler = mach64_driver_irq_handler, .dma_ioctl = mach64_dma_buffers, .name = DRIVER_NAME, diff --git a/sys/dev/pci/drm/mach64_drv.h b/sys/dev/pci/drm/mach64_drv.h index 73449388e2e..977fc01e87f 100644 --- a/sys/dev/pci/drm/mach64_drv.h +++ b/sys/dev/pci/drm/mach64_drv.h @@ -170,7 +170,6 @@ extern int mach64_get_param(struct drm_device *dev, void *data, extern u32 mach64_get_vblank_counter(struct drm_device *dev, int crtc); extern int mach64_enable_vblank(struct drm_device *dev, int crtc); extern void mach64_disable_vblank(struct drm_device *dev, int crtc); -extern irqreturn_t mach64_driver_irq_handler(DRM_IRQ_ARGS); extern int mach64_driver_irq_install(struct drm_device *dev); extern void mach64_driver_irq_uninstall(struct drm_device *dev); diff --git a/sys/dev/pci/drm/mach64_irq.c b/sys/dev/pci/drm/mach64_irq.c index ec4afe84076..1759b2e8aef 100644 --- a/sys/dev/pci/drm/mach64_irq.c +++ b/sys/dev/pci/drm/mach64_irq.c @@ -40,6 +40,8 @@ #include "mach64_drm.h" #include "mach64_drv.h" +irqreturn_t mach64_driver_irq_handler(DRM_IRQ_ARGS); + irqreturn_t mach64_driver_irq_handler(DRM_IRQ_ARGS) { diff --git a/sys/dev/pci/drm/mga_drv.c b/sys/dev/pci/drm/mga_drv.c index 5e5464b4532..9f110f1d50f 100644 --- a/sys/dev/pci/drm/mga_drv.c +++ b/sys/dev/pci/drm/mga_drv.c @@ -112,7 +112,6 @@ static const struct drm_driver_info mga_driver = { .get_vblank_counter = mga_get_vblank_counter, .irq_install = mga_driver_irq_install, .irq_uninstall = mga_driver_irq_uninstall, - .irq_handler = mga_driver_irq_handler, .dma_ioctl = mga_dma_buffers, .dma_quiescent = mga_driver_dma_quiescent, diff --git a/sys/dev/pci/drm/mga_drv.h b/sys/dev/pci/drm/mga_drv.h index 0c979ce9b55..dae0d19c80e 100644 --- a/sys/dev/pci/drm/mga_drv.h +++ b/sys/dev/pci/drm/mga_drv.h @@ -188,7 +188,6 @@ extern int mga_enable_vblank(struct drm_device *dev, int crtc); extern void mga_disable_vblank(struct drm_device *dev, int crtc); extern u32 mga_get_vblank_counter(struct drm_device *dev, int crtc); extern int mga_driver_fence_wait(struct drm_device * dev, u_int32_t *sequence); -extern irqreturn_t mga_driver_irq_handler(DRM_IRQ_ARGS); extern int mga_driver_irq_install(struct drm_device * dev); extern void mga_driver_irq_uninstall(struct drm_device * dev); extern long mga_compat_ioctl(struct file *filp, unsigned int cmd, diff --git a/sys/dev/pci/drm/mga_irq.c b/sys/dev/pci/drm/mga_irq.c index 6e0a736f84d..c0526e3c54a 100644 --- a/sys/dev/pci/drm/mga_irq.c +++ b/sys/dev/pci/drm/mga_irq.c @@ -36,6 +36,8 @@ #include "mga_drm.h" #include "mga_drv.h" +irqreturn_t mga_driver_irq_handler(DRM_IRQ_ARGS); + u_int32_t mga_get_vblank_counter(struct drm_device *dev, int crtc) { diff --git a/sys/dev/pci/drm/r128_drv.c b/sys/dev/pci/drm/r128_drv.c index 480256daf26..a2fd3c38c3e 100644 --- a/sys/dev/pci/drm/r128_drv.c +++ b/sys/dev/pci/drm/r128_drv.c @@ -93,7 +93,6 @@ static const struct drm_driver_info ragedrm_driver = { .disable_vblank = r128_disable_vblank, .irq_install = r128_driver_irq_install, .irq_uninstall = r128_driver_irq_uninstall, - .irq_handler = r128_driver_irq_handler, .dma_ioctl = r128_cce_buffers, .name = DRIVER_NAME, diff --git a/sys/dev/pci/drm/r128_drv.h b/sys/dev/pci/drm/r128_drv.h index 8353b6346c6..6ba5ae8f89a 100644 --- a/sys/dev/pci/drm/r128_drv.h +++ b/sys/dev/pci/drm/r128_drv.h @@ -169,7 +169,6 @@ extern int r128_do_cleanup_cce(struct drm_device * dev); extern int r128_enable_vblank(struct drm_device *dev, int crtc); extern void r128_disable_vblank(struct drm_device *dev, int crtc); extern u32 r128_get_vblank_counter(struct drm_device *dev, int crtc); -extern irqreturn_t r128_driver_irq_handler(DRM_IRQ_ARGS); extern int r128_driver_irq_install(struct drm_device * dev); extern void r128_driver_irq_uninstall(struct drm_device * dev); extern void r128_driver_lastclose(struct drm_device * dev); diff --git a/sys/dev/pci/drm/r128_irq.c b/sys/dev/pci/drm/r128_irq.c index e67883ddce5..c7126524dec 100644 --- a/sys/dev/pci/drm/r128_irq.c +++ b/sys/dev/pci/drm/r128_irq.c @@ -35,6 +35,8 @@ #include "r128_drm.h" #include "r128_drv.h" +irqreturn_t r128_driver_irq_handler(DRM_IRQ_ARGS); + u_int32_t r128_get_vblank_counter(struct drm_device *dev, int crtc) { diff --git a/sys/dev/pci/drm/radeon_drv.c b/sys/dev/pci/drm/radeon_drv.c index db9c3af263e..1561962b452 100644 --- a/sys/dev/pci/drm/radeon_drv.c +++ b/sys/dev/pci/drm/radeon_drv.c @@ -496,7 +496,6 @@ static const struct drm_driver_info radeondrm_driver = { .disable_vblank = radeon_disable_vblank, .irq_install = radeon_driver_irq_install, .irq_uninstall = radeon_driver_irq_uninstall, - .irq_handler = radeon_driver_irq_handler, .dma_ioctl = radeon_cp_buffers, .name = DRIVER_NAME, diff --git a/sys/dev/pci/drm/radeon_drv.h b/sys/dev/pci/drm/radeon_drv.h index 82c23c3fd49..91ce40568e8 100644 --- a/sys/dev/pci/drm/radeon_drv.h +++ b/sys/dev/pci/drm/radeon_drv.h @@ -377,7 +377,6 @@ extern int radeon_irq_wait(struct drm_device *dev, void *data, struct drm_file * extern u32 radeon_get_vblank_counter(struct drm_device *dev, int crtc); extern int radeon_enable_vblank(struct drm_device *dev, int crtc); extern void radeon_disable_vblank(struct drm_device *dev, int crtc); -extern irqreturn_t radeon_driver_irq_handler(DRM_IRQ_ARGS); extern int radeon_driver_irq_install(struct drm_device * dev); extern void radeon_driver_irq_uninstall(struct drm_device * dev); diff --git a/sys/dev/pci/drm/radeon_irq.c b/sys/dev/pci/drm/radeon_irq.c index 374bb5eb98a..962ef17c707 100644 --- a/sys/dev/pci/drm/radeon_irq.c +++ b/sys/dev/pci/drm/radeon_irq.c @@ -35,6 +35,7 @@ #include "radeon_drm.h" #include "radeon_drv.h" +irqreturn_t radeon_driver_irq_handler(DRM_IRQ_ARGS); void r500_vbl_irq_set_state(struct drm_device *, u_int32_t, int); u_int32_t radeon_acknowledge_irqs(drm_radeon_private_t *, u_int32_t *); int radeon_emit_irq(struct drm_device *); |