summary refs log tree commit diff
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 20:13:17 +1000
commitbd0c0ceef6b1e7cb8c5dc1c9c6d168bae6bccaa0 (patch)
tree93d5ffa24391262da1031ee43a8df8d521bfcbe1 /drivers/gpu/drm/drm_bufs.c
parentda5cbe361c55fe17ef94d2587991997f81f8c4cb (diff)
downloadlinux-bd0c0ceef6b1e7cb8c5dc1c9c6d168bae6bccaa0.tar.gz
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.