linux/drivers/gpu/drm/omapdrm
Ivaylo Dimitrov 1948d28db6 drm: omapdrm: Support exporting of non-contiguous GEM BOs
Currently code allocates non-scanout BOs from SHMEM and those objects are
accessible to userspace by mmap(). However, on devices with no DMM (like
OMAP3), the same objects are not accessible by kernel drivers that want to
render to them as code refuses to export them. In turn this means that on
devices with no DMM, all buffers must be allocated as scanout, otherwise
only CPU can access them. On those devices, scanout buffers are allocated
from CMA, making those allocations highly unreliable.

Fix that by implementing functionality to export SHMEM backed buffers on
devices with no DMM. This makes CMA memory only being used when needed,
instead for every buffer that has to be off-CPU rendered.

Tested on Motorola Droid4 and Nokia N900

Signed-off-by: Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Link: https://patchwork.freedesktop.org/patch/msgid/1642587791-13222-3-git-send-email-ivo.g.dimitrov.75@gmail.com
2022-03-28 12:39:51 +03:00
..
dss omapdrm: dss: mark runtime PM functions __maybe_unused 2021-12-08 10:04:59 +02:00
Kconfig drm/omap: Depend on CONFIG_OF 2021-10-07 05:42:16 +03:00
Makefile drm/omap: introduce omap_hw_overlay 2021-12-08 10:04:40 +02:00
omap_crtc.c drm/omap: remove dss_mgr_ops 2020-12-15 16:17:30 +02:00
omap_crtc.h drm/omap: remove dss_mgr_ops 2020-12-15 16:17:30 +02:00
omap_debugfs.c drm: omapdrm: Replace HTTP links with HTTPS ones 2020-11-10 14:41:22 +02:00
omap_dmm_priv.h drm/omapdrm: Convert to SPDX identifier 2021-11-10 13:51:25 +02:00
omap_dmm_tiler.c drm/omapdrm: Convert to SPDX identifier 2021-11-10 13:51:25 +02:00
omap_dmm_tiler.h drm/omapdrm: Convert to SPDX identifier 2021-11-10 13:51:25 +02:00
omap_drv.c drm/omap: Add support for the nomodeset kernel parameter 2022-01-27 19:15:49 +01:00
omap_drv.h drm/omap: dynamically assign hw overlays to planes 2021-12-08 10:04:47 +02:00
omap_encoder.c drm/omap: drop unused DSS next pointer 2020-12-15 16:08:26 +02:00
omap_encoder.h
omap_fb.c drm/omap: Add a 'right overlay' to plane state 2021-12-08 10:04:54 +02:00
omap_fb.h drm/omap: Add a 'right overlay' to plane state 2021-12-08 10:04:54 +02:00
omap_fbdev.c drm: omapdrm: Replace HTTP links with HTTPS ones 2020-11-10 14:41:22 +02:00
omap_fbdev.h
omap_gem_dmabuf.c drm: omapdrm: Support exporting of non-contiguous GEM BOs 2022-03-28 12:39:51 +03:00
omap_gem.c drm: omapdrm: Support exporting of non-contiguous GEM BOs 2022-03-28 12:39:51 +03:00
omap_gem.h drm: omapdrm: Support exporting of non-contiguous GEM BOs 2022-03-28 12:39:51 +03:00
omap_irq.c drm/omapdrm: Remove outdated comment 2021-07-15 11:24:53 +02:00
omap_irq.h
omap_overlay.c drm/omap: fix NULL but dereferenced coccicheck error 2022-03-08 10:53:52 +02:00
omap_overlay.h drm/omap: Add a 'right overlay' to plane state 2021-12-08 10:04:54 +02:00
omap_plane.c drm/omap: plane: Remove redundant color encoding and range initialisation 2022-02-25 17:57:23 +01:00
omap_plane.h drm/omap: Add a 'right overlay' to plane state 2021-12-08 10:04:54 +02:00
tcm-sita.c drm/omapdrm: Convert to SPDX identifier 2021-11-10 13:51:25 +02:00
tcm.h
TODO