summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Airlie <airlied@linux.ie>2004-08-10 10:48:08 +0000
committerDave Airlie <airlied@linux.ie>2004-08-10 10:48:08 +0000
commitb08879b636b627fff554d46450b635a36faa1a6a (patch)
tree906c4af33855e605c94c2b219b5e6081b2989e0e
parent333c3dcb62a44654f0049c818f7ab9f75e4dae44 (diff)
remove HAVE_DMA_SCHEDULE
-rw-r--r--linux-core/drmP.h1
-rw-r--r--linux-core/drm_drv.c9
-rw-r--r--linux/drmP.h1
-rw-r--r--linux/drm_drv.h9
-rw-r--r--linux/gamma.h2
-rw-r--r--linux/gamma_dma.c1
6 files changed, 9 insertions, 14 deletions
diff --git a/linux-core/drmP.h b/linux-core/drmP.h
index 05d999b0..db6ea59f 100644
--- a/linux-core/drmP.h
+++ b/linux-core/drmP.h
@@ -592,6 +592,7 @@ struct drm_driver_fn {
int (*context_dtor)(struct drm_device *dev, int context);
int (*kernel_context_switch)(struct drm_device *dev, int old, int new);
int (*kernel_context_switch_unlock)(struct drm_device *dev);
+ int (*dma_schedule)(struct drm_device *dev, int locked);
};
/**
* DRM device structure.
diff --git a/linux-core/drm_drv.c b/linux-core/drm_drv.c
index abc54f9e..836405e6 100644
--- a/linux-core/drm_drv.c
+++ b/linux-core/drm_drv.c
@@ -67,9 +67,6 @@
#ifndef __HAVE_MULTIPLE_DMA_QUEUES
#define __HAVE_MULTIPLE_DMA_QUEUES 0
#endif
-#ifndef __HAVE_DMA_SCHEDULE
-#define __HAVE_DMA_SCHEDULE 0
-#endif
#ifndef __HAVE_COUNTERS
#define __HAVE_COUNTERS 0
#endif
@@ -1194,9 +1191,9 @@ int DRM(unlock)( struct inode *inode, struct file *filp,
{
DRM(lock_transfer)( dev, &dev->lock.hw_lock->lock,
DRM_KERNEL_CONTEXT );
-#if __HAVE_DMA_SCHEDULE
- DRM(dma_schedule)( dev, 1 );
-#endif
+
+ if (dev->fn_tbl.dma_schedule)
+ dev->fn_tbl.dma_schedule(dev, 1);
if ( DRM(lock_free)( dev, &dev->lock.hw_lock->lock,
DRM_KERNEL_CONTEXT ) ) {
diff --git a/linux/drmP.h b/linux/drmP.h
index 05d999b0..db6ea59f 100644
--- a/linux/drmP.h
+++ b/linux/drmP.h
@@ -592,6 +592,7 @@ struct drm_driver_fn {
int (*context_dtor)(struct drm_device *dev, int context);
int (*kernel_context_switch)(struct drm_device *dev, int old, int new);
int (*kernel_context_switch_unlock)(struct drm_device *dev);
+ int (*dma_schedule)(struct drm_device *dev, int locked);
};
/**
* DRM device structure.
diff --git a/linux/drm_drv.h b/linux/drm_drv.h
index abc54f9e..836405e6 100644
--- a/linux/drm_drv.h
+++ b/linux/drm_drv.h
@@ -67,9 +67,6 @@
#ifndef __HAVE_MULTIPLE_DMA_QUEUES
#define __HAVE_MULTIPLE_DMA_QUEUES 0
#endif
-#ifndef __HAVE_DMA_SCHEDULE
-#define __HAVE_DMA_SCHEDULE 0
-#endif
#ifndef __HAVE_COUNTERS
#define __HAVE_COUNTERS 0
#endif
@@ -1194,9 +1191,9 @@ int DRM(unlock)( struct inode *inode, struct file *filp,
{
DRM(lock_transfer)( dev, &dev->lock.hw_lock->lock,
DRM_KERNEL_CONTEXT );
-#if __HAVE_DMA_SCHEDULE
- DRM(dma_schedule)( dev, 1 );
-#endif
+
+ if (dev->fn_tbl.dma_schedule)
+ dev->fn_tbl.dma_schedule(dev, 1);
if ( DRM(lock_free)( dev, &dev->lock.hw_lock->lock,
DRM_KERNEL_CONTEXT ) ) {
diff --git a/linux/gamma.h b/linux/gamma.h
index 663c014d..6a4c4253 100644
--- a/linux/gamma.h
+++ b/linux/gamma.h
@@ -77,8 +77,6 @@
#define __HAVE_DMA_WAITLIST 1
#define __HAVE_DMA_FREELIST 1
-#define __HAVE_DMA_SCHEDULE 1
-
#define __HAVE_IRQ 1
#define __HAVE_IRQ_BH 1
diff --git a/linux/gamma_dma.c b/linux/gamma_dma.c
index 3ea3b189..b7f214fa 100644
--- a/linux/gamma_dma.c
+++ b/linux/gamma_dma.c
@@ -950,4 +950,5 @@ void gamma_driver_register_fns(drm_device_t *dev)
dev->fn_tbl.dma_quiescent = gamma_driver_dma_quiescent;
dev->fn_tbl.dma_flush_block_and_flush = gamma_flush_block_and_flush;
dev->fn_tbl.dma_flush_unblock = gamma_flush_unblock;
+ dev->fn_tbl.dma_schedule = gamma_dma_schedule;
}