summaryrefslogtreecommitdiff
path: root/linux-core/drm_memory.c
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@infradead.org>2007-01-08 10:55:49 +1100
committerDave Airlie <airlied@linux.ie>2007-01-08 11:47:15 +1100
commitb147c3926352e4dcb9dbf53b8b12baae8ce34254 (patch)
tree316d68cf36371c70918c675d38c803614f1a7bab /linux-core/drm_memory.c
parentfe5770b89e57c669a946dea86a58b17387bf9cf4 (diff)
drm: remove drm_follow_page, and drm_ioremap and ioremapfree
This comes from the Re: [patch] paravirt: isolate module ops on lkml It needs some testing, please report any regressions caused. Signed-off-by: Dave Airlie <airlied@linux.ie>
Diffstat (limited to 'linux-core/drm_memory.c')
-rw-r--r--linux-core/drm_memory.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/linux-core/drm_memory.c b/linux-core/drm_memory.c
index 10f43f41..62f54b67 100644
--- a/linux-core/drm_memory.c
+++ b/linux-core/drm_memory.c
@@ -244,3 +244,26 @@ int drm_unbind_agp(DRM_AGP_MEM * handle)
}
#endif /* agp */
#endif /* debug_memory */
+
+void drm_core_ioremap(struct drm_map *map, struct drm_device *dev)
+{
+ if (drm_core_has_AGP(dev) &&
+ dev->agp && dev->agp->cant_use_aperture && map->type == _DRM_AGP)
+ map->handle = agp_remap(map->offset, map->size, dev);
+ else
+ map->handle = ioremap(map->offset, map->size);
+}
+EXPORT_SYMBOL_GPL(drm_core_ioremap);
+
+void drm_core_ioremapfree(struct drm_map *map, struct drm_device *dev)
+{
+ if (!map->handle || !map->size)
+ return;
+
+ if (drm_core_has_AGP(dev) &&
+ dev->agp && dev->agp->cant_use_aperture && map->type == _DRM_AGP)
+ vunmap(map->handle);
+ else
+ iounmap(map->handle);
+}
+EXPORT_SYMBOL_GPL(drm_core_ioremapfree);