Thanks for the updates! I was comparing between your code and and evdi code (eventually meant for usb displaylink), and it looks pretty similar in concept. They have some hard-coding around kernel versions for specific drm interfaces, and I can't find enough documentation to figure out if any differences matter, but thought I would pass it on to see if it is of any help: https://github.com/DisplayLink/evdi
On Sun, Oct 15, 2017 at 12:30 PM, Noralf Trønnes <nor...@tronnes.org> wrote: > 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. > > Changes since version 1: > - tinydrm: Remove dma_coerce_mask_and_coherent() calls (Matt Gattis) > > 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 | 31 +-- > drivers/gpu/drm/tinydrm/repaper.c | 21 +- > 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(+), 222 deletions(-) > create mode 100644 drivers/gpu/drm/drm_vmalloc_bo_helper.c > create mode 100644 include/drm/drm_vmalloc_bo_helper.h > > -- > 2.14.2 > >
_______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel