drm: Begin an API for in-kernel clients
authorNoralf Trønnes <noralf@tronnes.org>
Tue, 3 Jul 2018 16:03:47 +0000 (18:03 +0200)
committerNoralf Trønnes <noralf@tronnes.org>
Tue, 10 Jul 2018 12:51:37 +0000 (14:51 +0200)
commitc76f0f7cb546b661b5e0ac769850a5c854927f65
tree2435747fe4864fdd2406be8bcd089fb9e9eda33b
parent5ba57babcb40227ceb70d9bc71afa57e004f8417
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
Documentation/gpu/drm-client.rst [new file with mode: 0644]
Documentation/gpu/index.rst
drivers/gpu/drm/Makefile
drivers/gpu/drm/drm_client.c [new file with mode: 0644]
drivers/gpu/drm/drm_drv.c
drivers/gpu/drm/drm_file.c
drivers/gpu/drm/drm_probe_helper.c
include/drm/drm_client.h [new file with mode: 0644]
include/drm/drm_device.h