diff options
author | Dave Airlie <airlied@redhat.com> | 2011-02-06 21:16:14 -0500 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2011-02-06 21:16:14 -0500 |
commit | ff72145badb834e8051719ea66e024784d000cb4 (patch) | |
tree | 39dc5fc512e3e0836713de9defb91ea8b4033aa2 /drivers/gpu/drm/drm_gem.c | |
parent | 1f692a14cbfbeb11f9a9c16f25c8ecb8ab50d3d5 (diff) |
drm: dumb scanout create/mmap for intel/radeon (v3)
This is just an idea that might or might not be a good idea,
it basically adds two ioctls to create a dumb and map a dumb buffer
suitable for scanout. The handle can be passed to the KMS ioctls to create
a framebuffer.
It looks to me like it would be useful in the following cases:
a) in development drivers - we can always provide a shadowfb fallback.
b) libkms users - we can clean up libkms a lot and avoid linking
to libdrm_*.
c) plymouth via libkms is a lot easier.
Userspace bits would be just calls + mmaps. We could probably
mark these handles somehow as not being suitable for acceleartion
so as top stop people who are dumber than dumb.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/drm_gem.c')
-rw-r--r-- | drivers/gpu/drm/drm_gem.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c index ea1c4b019ebf..aa8df2534819 100644 --- a/drivers/gpu/drm/drm_gem.c +++ b/drivers/gpu/drm/drm_gem.c | |||
@@ -181,7 +181,7 @@ EXPORT_SYMBOL(drm_gem_object_alloc); | |||
181 | /** | 181 | /** |
182 | * Removes the mapping from handle to filp for this object. | 182 | * Removes the mapping from handle to filp for this object. |
183 | */ | 183 | */ |
184 | static int | 184 | int |
185 | drm_gem_handle_delete(struct drm_file *filp, u32 handle) | 185 | drm_gem_handle_delete(struct drm_file *filp, u32 handle) |
186 | { | 186 | { |
187 | struct drm_device *dev; | 187 | struct drm_device *dev; |
@@ -214,6 +214,7 @@ drm_gem_handle_delete(struct drm_file *filp, u32 handle) | |||
214 | 214 | ||
215 | return 0; | 215 | return 0; |
216 | } | 216 | } |
217 | EXPORT_SYMBOL(drm_gem_handle_delete); | ||
217 | 218 | ||
218 | /** | 219 | /** |
219 | * Create a handle for this object. This adds a handle reference | 220 | * Create a handle for this object. This adds a handle reference |