summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/drm_bufs.c
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2013-07-10 14:11:56 +0200
committerDave Airlie <airlied@gmail.com>2013-07-23 12:13:17 +0200
commitbd0c0ceef6b1e7cb8c5dc1c9c6d168bae6bccaa0 (patch)
tree93d5ffa24391262da1031ee43a8df8d521bfcbe1 /drivers/gpu/drm/drm_bufs.c
parentdrm/gem: remove drm_gem_object_handle_unreference (diff)
downloadlinux-bd0c0ceef6b1e7cb8c5dc1c9c6d168bae6bccaa0.tar.xz
linux-bd0c0ceef6b1e7cb8c5dc1c9c6d168bae6bccaa0.zip
drm: move drm_getsarea into drm_bufs.c
It fiddles the sarea out of the maps which are also handled in drm_bufs.c With this drm_drv.c is a notch more legacy free. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Dave Airlie <airlied@gmail.com>
Diffstat (limited to 'drivers/gpu/drm/drm_bufs.c')
-rw-r--r--drivers/gpu/drm/drm_bufs.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/gpu/drm/drm_bufs.c b/drivers/gpu/drm/drm_bufs.c
index 5a4dbb410b71..9d09f4c48a4e 100644
--- a/drivers/gpu/drm/drm_bufs.c
+++ b/drivers/gpu/drm/drm_bufs.c
@@ -1600,6 +1600,20 @@ int drm_mapbufs(struct drm_device *dev, void *data,
return retcode;
}
+struct drm_local_map *drm_getsarea(struct drm_device *dev)
+{
+ struct drm_map_list *entry;
+
+ list_for_each_entry(entry, &dev->maplist, head) {
+ if (entry->map && entry->map->type == _DRM_SHM &&
+ (entry->map->flags & _DRM_CONTAINS_LOCK)) {
+ return entry->map;
+ }
+ }
+ return NULL;
+}
+EXPORT_SYMBOL(drm_getsarea);
+
/**
* Compute size order. Returns the exponent of the smaller power of two which
* is greater or equal to given number.