summaryrefslogtreecommitdiff
path: root/linux-core
diff options
context:
space:
mode:
authorFelix Kuehling <fxkuehl@gmx.de>2004-10-31 15:16:44 +0000
committerFelix Kuehling <fxkuehl@gmx.de>2004-10-31 15:16:44 +0000
commit5128542814215b26ed342e3a4ac2217606fe5e76 (patch)
tree28c7727811940e5285c41928b112ca059dcac67c /linux-core
parent8264e2c8aa6b2811bca0e45c50ac3328d14bfbf7 (diff)
Allow drivers to override reclaim_buffers in an OS-independent way by
passing drm_device_t* as first parameter, like in the BSD version.
Diffstat (limited to 'linux-core')
-rw-r--r--linux-core/drmP.h4
-rw-r--r--linux-core/drm_dma.c4
-rw-r--r--linux-core/drm_fops.c2
-rw-r--r--linux-core/i810_dma.c6
-rw-r--r--linux-core/i810_drv.h2
-rw-r--r--linux-core/i830_dma.c6
-rw-r--r--linux-core/i830_drv.h2
7 files changed, 10 insertions, 16 deletions
diff --git a/linux-core/drmP.h b/linux-core/drmP.h
index b8d817ba..80c6c19e 100644
--- a/linux-core/drmP.h
+++ b/linux-core/drmP.h
@@ -536,7 +536,7 @@ struct drm_driver {
void (*irq_preinstall) (struct drm_device * dev);
void (*irq_postinstall) (struct drm_device * dev);
void (*irq_uninstall) (struct drm_device * dev);
- void (*reclaim_buffers) (struct file * filp);
+ void (*reclaim_buffers) (struct drm_device *dev, struct file * filp);
unsigned long (*get_map_ofs) (drm_map_t * map);
unsigned long (*get_reg_ofs) (struct drm_device * dev);
void (*set_version) (struct drm_device * dev, drm_set_version_t * sv);
@@ -866,7 +866,7 @@ extern int drm_order(unsigned long size);
extern int drm_dma_setup(drm_device_t * dev);
extern void drm_dma_takedown(drm_device_t * dev);
extern void drm_free_buffer(drm_device_t * dev, drm_buf_t * buf);
-extern void drm_core_reclaim_buffers(struct file *filp);
+extern void drm_core_reclaim_buffers(drm_device_t *dev, struct file *filp);
/* IRQ support (drm_irq.h) */
extern int drm_control(struct inode *inode, struct file *filp,
diff --git a/linux-core/drm_dma.c b/linux-core/drm_dma.c
index cf7f404d..e7d9e826 100644
--- a/linux-core/drm_dma.c
+++ b/linux-core/drm_dma.c
@@ -154,10 +154,8 @@ void drm_free_buffer(drm_device_t * dev, drm_buf_t * buf)
*
* Frees each buffer associated with \p filp not already on the hardware.
*/
-void drm_core_reclaim_buffers(struct file *filp)
+void drm_core_reclaim_buffers(drm_device_t *dev, struct file *filp)
{
- drm_file_t *priv = filp->private_data;
- drm_device_t *dev = priv->head->dev;
drm_device_dma_t *dma = dev->dma;
int i;
diff --git a/linux-core/drm_fops.c b/linux-core/drm_fops.c
index 1209a8ab..27da405c 100644
--- a/linux-core/drm_fops.c
+++ b/linux-core/drm_fops.c
@@ -393,7 +393,7 @@ int drm_release(struct inode *inode, struct file *filp)
}
if (drm_core_check_feature(dev, DRIVER_HAVE_DMA)) {
- dev->driver->reclaim_buffers(filp);
+ dev->driver->reclaim_buffers(dev, filp);
}
drm_fasync(-1, filp, 0);
diff --git a/linux-core/i810_dma.c b/linux-core/i810_dma.c
index 81551be8..e9831352 100644
--- a/linux-core/i810_dma.c
+++ b/linux-core/i810_dma.c
@@ -972,10 +972,8 @@ static int i810_flush_queue(drm_device_t * dev)
}
/* Must be called with the lock held */
-void i810_reclaim_buffers(struct file *filp)
+void i810_reclaim_buffers(drm_device_t *dev, struct file *filp)
{
- drm_file_t *priv = filp->private_data;
- drm_device_t *dev = priv->head->dev;
drm_device_dma_t *dma = dev->dma;
int i;
@@ -1366,7 +1364,7 @@ void i810_driver_pretakedown(drm_device_t * dev)
void i810_driver_release(drm_device_t * dev, struct file *filp)
{
- i810_reclaim_buffers(filp);
+ i810_reclaim_buffers(dev, filp);
}
int i810_driver_dma_quiescent(drm_device_t * dev)
diff --git a/linux-core/i810_drv.h b/linux-core/i810_drv.h
index e09ffe92..76f2749c 100644
--- a/linux-core/i810_drv.h
+++ b/linux-core/i810_drv.h
@@ -121,7 +121,7 @@ extern int i810_dma_init(struct inode *inode, struct file *filp,
extern int i810_dma_cleanup(drm_device_t * dev);
extern int i810_flush_ioctl(struct inode *inode, struct file *filp,
unsigned int cmd, unsigned long arg);
-extern void i810_reclaim_buffers(struct file *filp);
+extern void i810_reclaim_buffers(drm_device_t *dev, struct file *filp);
extern int i810_getage(struct inode *inode, struct file *filp,
unsigned int cmd, unsigned long arg);
extern int i810_mmap_buffers(struct file *filp, struct vm_area_struct *vma);
diff --git a/linux-core/i830_dma.c b/linux-core/i830_dma.c
index a753ffd8..c2a003ee 100644
--- a/linux-core/i830_dma.c
+++ b/linux-core/i830_dma.c
@@ -1252,10 +1252,8 @@ static int i830_flush_queue(drm_device_t * dev)
}
/* Must be called with the lock held */
-void i830_reclaim_buffers(struct file *filp)
+void i830_reclaim_buffers(drm_device_t *dev, struct file *filp)
{
- drm_file_t *priv = filp->private_data;
- drm_device_t *dev = priv->head->dev;
drm_device_dma_t *dma = dev->dma;
int i;
@@ -1556,7 +1554,7 @@ void i830_driver_pretakedown(drm_device_t * dev)
void i830_driver_release(drm_device_t * dev, struct file *filp)
{
- i830_reclaim_buffers(filp);
+ i830_reclaim_buffers(dev, filp);
}
int i830_driver_dma_quiescent(drm_device_t * dev)
diff --git a/linux-core/i830_drv.h b/linux-core/i830_drv.h
index 91f11a72..d520bba4 100644
--- a/linux-core/i830_drv.h
+++ b/linux-core/i830_drv.h
@@ -129,7 +129,7 @@ extern int i830_dma_init(struct inode *inode, struct file *filp,
extern int i830_dma_cleanup(drm_device_t * dev);
extern int i830_flush_ioctl(struct inode *inode, struct file *filp,
unsigned int cmd, unsigned long arg);
-extern void i830_reclaim_buffers(struct file *filp);
+extern void i830_reclaim_buffers(drm_device_t *dev, struct file *filp);
extern int i830_getage(struct inode *inode, struct file *filp, unsigned int cmd,
unsigned long arg);
extern int i830_mmap_buffers(struct file *filp, struct vm_area_struct *vma);