drm/gem: Store client buffer mappings as struct dma_buf_map
authorThomas Zimmermann <tzimmermann@suse.de>
Tue, 3 Nov 2020 09:30:13 +0000 (10:30 +0100)
committerThomas Zimmermann <tzimmermann@suse.de>
Mon, 9 Nov 2020 08:19:45 +0000 (09:19 +0100)
commita85955568939e20e573cf42095d90c8476c9cec1
treed0e49d4349651ea4f7d6b0d0b338cc6d7aa76e9f
parenta745fb1c26d3802caad532a4675f43a661f01fa6
drm/gem: Store client buffer mappings as struct dma_buf_map

Kernel DRM clients now store their framebuffer address in an instance
of struct dma_buf_map. Depending on the buffer's location, the address
refers to system or I/O memory.

Callers of drm_client_buffer_vmap() receive a copy of the value in
the call's supplied arguments. It can be accessed and modified with
dma_buf_map interfaces.

v6:
* don't call page_to_phys() on framebuffers in I/O memory;
  warn instead (Daniel)

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Tested-by: Sam Ravnborg <sam@ravnborg.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20201103093015.1063-9-tzimmermann@suse.de
drivers/gpu/drm/drm_client.c
drivers/gpu/drm/drm_fb_helper.c
include/drm/drm_client.h