From d4dbf457813e97531ded3bf24f3b6ad421189c69 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Tue, 24 Aug 2004 11:15:53 +0000 Subject: Merged drmfntbl-0-0-2 --- linux/i830_dma.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'linux/i830_dma.c') diff --git a/linux/i830_dma.c b/linux/i830_dma.c index 1a8c6336..8a110403 100644 --- a/linux/i830_dma.c +++ b/linux/i830_dma.c @@ -240,13 +240,11 @@ int i830_dma_cleanup(drm_device_t *dev) { drm_device_dma_t *dma = dev->dma; -#if __HAVE_IRQ /* Make sure interrupts are disabled here because the uninstall ioctl * may not have been called from userspace and after dev_private * is freed, it's too late. */ if (dev->irq_enabled) DRM(irq_uninstall)(dev); -#endif if (dev->dev_private) { int i; @@ -1609,9 +1607,20 @@ static int i830_driver_dma_quiescent(drm_device_t *dev) void i830_driver_register_fns(drm_device_t *dev) { + dev->driver_features = DRIVER_USE_AGP | DRIVER_REQUIRE_AGP | DRIVER_USE_MTRR | DRIVER_HAVE_DMA | DRIVER_DMA_QUEUE; +#if USE_IRQS + dev->driver_features |= DRIVER_HAVE_IRQ | DRIVER_SHARED_IRQ; +#endif dev->dev_priv_size = sizeof(drm_i830_buf_priv_t); dev->fn_tbl.pretakedown = i830_driver_pretakedown; dev->fn_tbl.release = i830_driver_release; dev->fn_tbl.dma_quiescent = i830_driver_dma_quiescent; + dev->fn_tbl.reclaim_buffers = i830_reclaim_buffers; +#if USE_IRQS + dev->fn_tbl.irq_preinstall = i830_driver_irq_preinstall; + dev->fn_tbl.irq_postinstall = i830_driver_irq_postinstall; + dev->fn_tbl.irq_uninstall = i830_driver_irq_uninstall; + dev->fn_tbl.irq_handler = i830_driver_irq_handler; +#endif } -- cgit v1.2.3