drm: Begin an API for in-kernel clients
This the beginning of an API for in-kernel clients. First out is a way to get a framebuffer backed by a dumb buffer. Only GEM drivers are supported. The original idea of using an exported dma-buf was dropped because it also creates an anonomous file descriptor which doesn't work when the buffer is created from a kernel thread. The easy way out is to use drm_driver.gem_prime_vmap to get the virtual address, which requires a GEM object. This excludes the vmwgfx driver which is the only non-GEM driver apart from the legacy ones. A solution for vmwgfx will have to be worked out later if it wants to support the client API which it probably will when we have a bootsplash client. Suggested-by:Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by:
Noralf Trønnes <noralf@tronnes.org> Reviewed-by:
Daniel Vetter <daniel.vetter@ffwll.ch> Link: https://patchwork.freedesktop.org/patch/msgid/20180703160354.59955-2-noralf@tronnes.org
Showing
- Documentation/gpu/drm-client.rst 12 additions, 0 deletionsDocumentation/gpu/drm-client.rst
- Documentation/gpu/index.rst 1 addition, 0 deletionsDocumentation/gpu/index.rst
- drivers/gpu/drm/Makefile 1 addition, 1 deletiondrivers/gpu/drm/Makefile
- drivers/gpu/drm/drm_client.c 387 additions, 0 deletionsdrivers/gpu/drm/drm_client.c
- drivers/gpu/drm/drm_drv.c 8 additions, 0 deletionsdrivers/gpu/drm/drm_drv.c
- drivers/gpu/drm/drm_file.c 3 additions, 0 deletionsdrivers/gpu/drm/drm_file.c
- drivers/gpu/drm/drm_probe_helper.c 3 additions, 0 deletionsdrivers/gpu/drm/drm_probe_helper.c
- include/drm/drm_client.h 136 additions, 0 deletionsinclude/drm/drm_client.h
- include/drm/drm_device.h 21 additions, 0 deletionsinclude/drm/drm_device.h
Loading
Please register or sign in to comment