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
Patch-mainline: 20180703160354.59955-2-noralf@tronnes.org @ 03/07/18, 04:03 p.m.
[stalek@codeaurora.org:
1. drop drm_device.h and drm_file.c as the file is not present in kernel-4.9
2. drop some inclusion of header files in drm_client.c since the file is not present
3. Changes made in drm_file.c is pulled into drm_fops.c
4. Changes made in drm_device.h is pulled into drmP.h.].
Change-Id: Ibe4452f223fc79202685f1dee825f723cfb201aa
Signed-off-by: Shubham Talekar <stalek@codeaurora.org>
9 files changed