summaryrefslogtreecommitdiff
path: root/linux/radeon_drv.c
diff options
context:
space:
mode:
Diffstat (limited to 'linux/radeon_drv.c')
-rw-r--r--linux/radeon_drv.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/linux/radeon_drv.c b/linux/radeon_drv.c
index 0113ed97..7441880a 100644
--- a/linux/radeon_drv.c
+++ b/linux/radeon_drv.c
@@ -104,7 +104,9 @@ static drm_ioctl_desc_t radeon_ioctls[] = {
[DRM_IOCTL_NR(DRM_IOCTL_AGP_BIND)] = { drm_agp_bind, 1, 1 },
[DRM_IOCTL_NR(DRM_IOCTL_AGP_UNBIND)] = { drm_agp_unbind, 1, 1 },
#endif
-
+ [DRM_IOCTL_NR(DRM_IOCTL_SG_ALLOC)] = { drm_sg_alloc, 1, 1 },
+ [DRM_IOCTL_NR(DRM_IOCTL_SG_FREE)] = { drm_sg_free, 1, 1 },
+
[DRM_IOCTL_NR(DRM_IOCTL_RADEON_CP_INIT)] = { radeon_cp_init, 1, 1 },
[DRM_IOCTL_NR(DRM_IOCTL_RADEON_CP_START)] = { radeon_cp_start, 1, 1 },
[DRM_IOCTL_NR(DRM_IOCTL_RADEON_CP_STOP)] = { radeon_cp_stop, 1, 1 },
@@ -305,6 +307,12 @@ static int radeon_takedown(drm_device_t *dev)
/* Do nothing here, because this is all
handled in the AGP/GART driver. */
break;
+ case _DRM_SCATTER_GATHER:
+ if (dev->sg) {
+ drm_sg_cleanup(dev->sg);
+ dev->sg = NULL;
+ }
+ break;
}
drm_free(map, sizeof(*map), DRM_MEM_MAPS);
}