diff options
author | Alan Hourihane <alanh@fairlite.demon.co.uk> | 2001-03-15 21:48:51 +0000 |
---|---|---|
committer | Alan Hourihane <alanh@fairlite.demon.co.uk> | 2001-03-15 21:48:51 +0000 |
commit | 2bea25890bacfa0f1fdc18cda63105c07157cad8 (patch) | |
tree | 48671e7caa76dfc7abdeb680e9ef70271096ab69 /linux-core | |
parent | e4a4359e937c60e5011273c13c24a3df82f3a0b0 (diff) | |
download | drm-gamma-2-0-0-branch.tar.gz |
commit kernel changes for agp (needs agpgart.diff - also added) updategamma-2-0-0-branch
gamma driver for changes.
Diffstat (limited to 'linux-core')
-rw-r--r-- | linux-core/drmP.h | 2 | ||||
-rw-r--r-- | linux-core/drm_agpsupport.c | 16 | ||||
-rw-r--r-- | linux-core/drm_drv.c | 3 |
3 files changed, 16 insertions, 5 deletions
diff --git a/linux-core/drmP.h b/linux-core/drmP.h index 694fcb73..a6faa6b3 100644 --- a/linux-core/drmP.h +++ b/linux-core/drmP.h @@ -897,6 +897,8 @@ extern int DRM(agp_acquire)(struct inode *inode, struct file *filp, extern void DRM(agp_do_release)(void); extern int DRM(agp_release)(struct inode *inode, struct file *filp, unsigned int cmd, unsigned long arg); +extern int DRM(agp_enable_old)(struct inode *inode,struct file *filp, + unsigned int cmd, unsigned long arg); extern int DRM(agp_enable)(struct inode *inode, struct file *filp, unsigned int cmd, unsigned long arg); extern int DRM(agp_info)(struct inode *inode, struct file *filp, diff --git a/linux-core/drm_agpsupport.c b/linux-core/drm_agpsupport.c index dfd0d8fc..30940b05 100644 --- a/linux-core/drm_agpsupport.c +++ b/linux-core/drm_agpsupport.c @@ -101,20 +101,28 @@ void DRM(agp_do_release)(void) if (drm_agp->release) drm_agp->release(); } +int DRM(agp_enable_old)(struct inode *inode, struct file *filp, + unsigned int cmd, unsigned long arg) +{ + DRM_ERROR("Called deprecated agp_enable ioctl, not enabling AGP.\n"); + + return -ENOSYS; +} + int DRM(agp_enable)(struct inode *inode, struct file *filp, unsigned int cmd, unsigned long arg) { drm_file_t *priv = filp->private_data; drm_device_t *dev = priv->dev; - drm_agp_mode_t mode; + agp_setup setup; if (!dev->agp->acquired || !drm_agp->enable) return -EINVAL; - if (copy_from_user(&mode, (drm_agp_mode_t *)arg, sizeof(mode))) + if (copy_from_user(&setup, (drm_agp_setup_t *)arg, sizeof(setup))) return -EFAULT; - dev->agp->mode = mode.mode; - drm_agp->enable(mode.mode); + dev->agp->mode = setup.agp_mode; + drm_agp->enable(&setup); dev->agp->base = dev->agp->agp_info.aper_base; dev->agp->enabled = 1; return 0; diff --git a/linux-core/drm_drv.c b/linux-core/drm_drv.c index d8a7d992..ffb36a21 100644 --- a/linux-core/drm_drv.c +++ b/linux-core/drm_drv.c @@ -166,12 +166,13 @@ static drm_ioctl_desc_t DRM(ioctls)[] = { #if __REALLY_HAVE_AGP [DRM_IOCTL_NR(DRM_IOCTL_AGP_ACQUIRE)] = { DRM(agp_acquire), 1, 1 }, [DRM_IOCTL_NR(DRM_IOCTL_AGP_RELEASE)] = { DRM(agp_release), 1, 1 }, - [DRM_IOCTL_NR(DRM_IOCTL_AGP_ENABLE)] = { DRM(agp_enable), 1, 1 }, + [DRM_IOCTL_NR(DRM_IOCTL_AGP_ENABLE_OLD)] = { DRM(agp_enable_old),1,1 }, [DRM_IOCTL_NR(DRM_IOCTL_AGP_INFO)] = { DRM(agp_info), 1, 0 }, [DRM_IOCTL_NR(DRM_IOCTL_AGP_ALLOC)] = { DRM(agp_alloc), 1, 1 }, [DRM_IOCTL_NR(DRM_IOCTL_AGP_FREE)] = { DRM(agp_free), 1, 1 }, [DRM_IOCTL_NR(DRM_IOCTL_AGP_BIND)] = { DRM(agp_bind), 1, 1 }, [DRM_IOCTL_NR(DRM_IOCTL_AGP_UNBIND)] = { DRM(agp_unbind), 1, 1 }, + [DRM_IOCTL_NR(DRM_IOCTL_AGP_ENABLE)] = { DRM(agp_enable), 1, 1 }, #endif DRIVER_IOCTLS |