On Wed, May 23, 2018 at 04:34:02PM +0200, Noralf Trønnes wrote: > This patchset adds generic fbdev emulation for drivers that supports GEM > based dumb buffers which support .gem_prime_vmap and gem_prime_mmap. An > API is begun to support in-kernel clients in general. > > The CMA helper drivers is moved as a whole over to this generic fbdev > emulation. I've added patches 8 and 9 to show where it's heading. > tinydrm will be the first driver to use the full emulation when it moves > to vmalloc buffers. The CMA helper drivers will be converted one by one > later. Yeah I think 8&9 are looking like the right direction. I tried to review them, but I bit harder to form an opinion without patch 10 to start making use of the new things. But this is all looking really neat. -Daniel > > This work is based on an idea[1] by Laurent Pinchart: > > Ideally I'd like to remove 100% of fbdev-related > code from drivers. This includes > - initialization and cleanup of fbdev helpers > - fbdev restore in last_close() > - forwarding of hotplug events to fbdev compatibility layer > > Noralf. > > [1] https://lists.freedesktop.org/archives/dri-devel/2017-September/152612.html > > David Herrmann (1): > drm: provide management functions for drm_file > > Noralf Trønnes (8): > drm/file: Don't set master on in-kernel clients > drm: Make ioctls available for in-kernel clients > drm: Begin an API for in-kernel clients > drm/fb-helper: Add generic fbdev emulation .fb_probe function > drm/pl111: Set .gem_prime_vmap and .gem_prime_mmap > drm/cma-helper: Use the generic fbdev emulation > drm/client: Add client callbacks > drm/fb-helper: Finish the generic fbdev emulation > > Documentation/gpu/drm-client.rst | 12 + > Documentation/gpu/index.rst | 1 + > drivers/gpu/drm/Makefile | 2 +- > drivers/gpu/drm/drm_client.c | 511 ++++++++++++++++++++++++++++++++++++ > drivers/gpu/drm/drm_crtc_internal.h | 19 +- > drivers/gpu/drm/drm_debugfs.c | 7 + > drivers/gpu/drm/drm_drv.c | 9 + > drivers/gpu/drm/drm_dumb_buffers.c | 33 ++- > drivers/gpu/drm/drm_fb_cma_helper.c | 365 ++++---------------------- > drivers/gpu/drm/drm_fb_helper.c | 287 ++++++++++++++++++++ > drivers/gpu/drm/drm_file.c | 304 ++++++++++++--------- > drivers/gpu/drm/drm_framebuffer.c | 42 +-- > drivers/gpu/drm/drm_internal.h | 2 + > drivers/gpu/drm/drm_ioctl.c | 4 +- > drivers/gpu/drm/drm_probe_helper.c | 3 + > drivers/gpu/drm/pl111/pl111_drv.c | 2 + > include/drm/drm_client.h | 146 +++++++++++ > include/drm/drm_device.h | 21 ++ > include/drm/drm_fb_cma_helper.h | 3 - > include/drm/drm_fb_helper.h | 33 +++ > 20 files changed, 1322 insertions(+), 484 deletions(-) > create mode 100644 Documentation/gpu/drm-client.rst > create mode 100644 drivers/gpu/drm/drm_client.c > create mode 100644 include/drm/drm_client.h > > -- > 2.15.1 > > _______________________________________________ > dri-devel mailing list > dri-devel@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel