Commit f3f8630a authored by Thomas Zimmermann's avatar Thomas Zimmermann

drm/udl: Remove udl implementation of GEM's free_object()

Udl's custom implementation for struct drm_gem_object_funcs.free_object
unmaps perma-mapped memory buffer before freeing the buffer object.

After switching to generic fbdev emulation and fixing the damage
handler, no perma-mapped buffers have to be released. Switch to SHMEM's
implementation of free_object.
Signed-off-by: default avatarThomas Zimmermann <tzimmermann@suse.de>
Acked-by: default avatarSam Ravnborg <sam@ravnborg.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20191114141025.32198-3-tzimmermann@suse.de
parent 6c44e30a
......@@ -17,22 +17,6 @@
* GEM object funcs
*/
static void udl_gem_object_free_object(struct drm_gem_object *obj)
{
struct drm_gem_shmem_object *shmem = to_drm_gem_shmem_obj(obj);
/* Fbdev emulation vmaps the buffer. Unmap it here for consistency
* with the original udl GEM code.
*
* TODO: Switch to generic fbdev emulation and release the
* GEM object with drm_gem_shmem_free_object().
*/
if (shmem->vaddr)
drm_gem_shmem_vunmap(obj, shmem->vaddr);
drm_gem_shmem_free_object(obj);
}
static int udl_gem_object_mmap(struct drm_gem_object *obj,
struct vm_area_struct *vma)
{
......@@ -91,7 +75,7 @@ static void *udl_gem_object_vmap(struct drm_gem_object *obj)
}
static const struct drm_gem_object_funcs udl_gem_object_funcs = {
.free = udl_gem_object_free_object,
.free = drm_gem_shmem_free_object,
.print_info = drm_gem_shmem_print_info,
.pin = drm_gem_shmem_pin,
.unpin = drm_gem_shmem_unpin,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment