This patchset adds a library for vmalloc buffer objects and makes use of it in tinydrm. The reason I want to move away from the cma helper, is that it restricts which drivers to PRIME import from, since cma requires the buffer to be physically continuous. Initially I looked at udl and decided to use shmem, but have later decided against it since shmem doesn't work with fbdev deferred I/O, they both use page->lru and page->mapping. This meant adding a shadow buffer for fbdev with increased complexity, so I fell back to the KISS principle. I'm trying to make tinydrm support drivers like simpledrm and udl, so if using vmalloc blocks those use cases, please let me know. I will do a follow up for the cma library which removes struct drm_fbdev_cma and wrappers. Noralf. Noralf Trønnes (8): drm/fb-helper: Handle function NULL argument drm: Add drm_device->fbdev pointer drm/fb-helper: Add simple init/fini functions drm/fb-helper: Add .last_close and .output_poll_changed helpers drm/gem-fb-helper: Add drm_gem_fb_debugfs_show() drm: Add vmalloc BO helper drm/tinydrm: Use drm_vmalloc_bo drm/tinydrm: Relax buffer line prefetch Documentation/gpu/drm-kms-helpers.rst | 12 + drivers/gpu/drm/Kconfig | 7 + drivers/gpu/drm/Makefile | 1 + drivers/gpu/drm/drm_fb_helper.c | 223 +++++++++++++++++- drivers/gpu/drm/drm_gem_framebuffer_helper.c | 45 ++++ drivers/gpu/drm/drm_vmalloc_bo_helper.c | 305 +++++++++++++++++++++++++ drivers/gpu/drm/tinydrm/Kconfig | 2 +- drivers/gpu/drm/tinydrm/core/tinydrm-core.c | 134 +++-------- drivers/gpu/drm/tinydrm/core/tinydrm-helpers.c | 56 +++-- drivers/gpu/drm/tinydrm/mi0283qt.c | 8 +- drivers/gpu/drm/tinydrm/mipi-dbi.c | 12 +- drivers/gpu/drm/tinydrm/repaper.c | 12 +- drivers/gpu/drm/tinydrm/st7586.c | 14 +- include/drm/drm_device.h | 8 + include/drm/drm_fb_helper.h | 32 +++ include/drm/drm_gem_framebuffer_helper.h | 6 + include/drm/drm_vmalloc_bo_helper.h | 88 +++++++ include/drm/tinydrm/mipi-dbi.h | 2 + include/drm/tinydrm/tinydrm.h | 38 +-- 19 files changed, 811 insertions(+), 194 deletions(-) create mode 100644 drivers/gpu/drm/drm_vmalloc_bo_helper.c create mode 100644 include/drm/drm_vmalloc_bo_helper.h -- 2.7.4 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel