Skip to content

Commit c76f0f7

Browse files
committed
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 <[email protected]> Signed-off-by: Noralf Trønnes <[email protected]> Reviewed-by: Daniel Vetter <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
1 parent 5ba57ba commit c76f0f7

File tree

9 files changed

+572
-1
lines changed

9 files changed

+572
-1
lines changed

Documentation/gpu/drm-client.rst

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
=================
2+
Kernel clients
3+
=================
4+
5+
.. kernel-doc:: drivers/gpu/drm/drm_client.c
6+
:doc: overview
7+
8+
.. kernel-doc:: include/drm/drm_client.h
9+
:internal:
10+
11+
.. kernel-doc:: drivers/gpu/drm/drm_client.c
12+
:export:

Documentation/gpu/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ Linux GPU Driver Developer's Guide
1010
drm-kms
1111
drm-kms-helpers
1212
drm-uapi
13+
drm-client
1314
drivers
1415
vga-switcheroo
1516
vgaarbiter

drivers/gpu/drm/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ drm-y := drm_auth.o drm_bufs.o drm_cache.o \
1818
drm_encoder.o drm_mode_object.o drm_property.o \
1919
drm_plane.o drm_color_mgmt.o drm_print.o \
2020
drm_dumb_buffers.o drm_mode_config.o drm_vblank.o \
21-
drm_syncobj.o drm_lease.o drm_writeback.o
21+
drm_syncobj.o drm_lease.o drm_writeback.o drm_client.o
2222

2323
drm-$(CONFIG_DRM_LIB_RANDOM) += lib/drm_random.o
2424
drm-$(CONFIG_DRM_VM) += drm_vm.o

0 commit comments

Comments
 (0)