drm/udl: Switch to SHMEM
authorThomas Zimmermann <tzimmermann@suse.de>
Thu, 7 Nov 2019 09:43:06 +0000 (10:43 +0100)
committerThomas Zimmermann <tzimmermann@suse.de>
Fri, 8 Nov 2019 11:30:07 +0000 (12:30 +0100)
commit08b22f65b309649057edfbae1d8772b04210b486
tree235cfcc142e557bfeba276b716e236714196e845
parent1d48b9e988a8874225e38fc1ac9967666e7eafd7
drm/udl: Switch to SHMEM

Udl's GEM code and the generic SHMEM are almost identical. Replace
the former with SHMEM. The dmabuf support in udl is being replaced
with generic GEM PRIME functions.

The main difference is in the caching flags for mmap pages. By
default, SHMEM always sets (uncached) write combining. In udl's
memory management code, only imported buffers use write combining.
Memory pages of locally created buffer objects are mmap'ed with
caching enabled. To keep the optimization, udl provides its own
mmap function for GEM objects where it fixes up the mapping flags.

v3:
- restore udl vmap that enables caching
v2:
- remove obsolete code in a separate patch

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20191107094307.19870-4-tzimmermann@suse.de
drivers/gpu/drm/udl/Kconfig
drivers/gpu/drm/udl/udl_drv.c
drivers/gpu/drm/udl/udl_drv.h
drivers/gpu/drm/udl/udl_fb.c
drivers/gpu/drm/udl/udl_gem.c