[PATCH 0/9] drm: Add generic fbdev emulation

Daniel Vetter daniel at ffwll.ch
Thu May 24 10:17:56 UTC 2018


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 at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the dri-devel mailing list