[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