mirror of
https://github.com/torvalds/linux.git
synced 2024-12-12 14:12:51 +00:00
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: Thomas Zimmermann <tzimmermann@suse.de> Acked-by: Sam Ravnborg <sam@ravnborg.org> Link: https://patchwork.freedesktop.org/patch/msgid/20191114141025.32198-3-tzimmermann@suse.de
This commit is contained in:
parent
6c44e30ae1
commit
f3f8630a9a
@ -17,22 +17,6 @@
|
|||||||
* GEM object funcs
|
* 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,
|
static int udl_gem_object_mmap(struct drm_gem_object *obj,
|
||||||
struct vm_area_struct *vma)
|
struct vm_area_struct *vma)
|
||||||
{
|
{
|
||||||
@ -91,7 +75,7 @@ err_zero_use:
|
|||||||
}
|
}
|
||||||
|
|
||||||
static const struct drm_gem_object_funcs udl_gem_object_funcs = {
|
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,
|
.print_info = drm_gem_shmem_print_info,
|
||||||
.pin = drm_gem_shmem_pin,
|
.pin = drm_gem_shmem_pin,
|
||||||
.unpin = drm_gem_shmem_unpin,
|
.unpin = drm_gem_shmem_unpin,
|
||||||
|
Loading…
Reference in New Issue
Block a user