version 3: - split the original patch in 3 parts, it should be more easy to review like this. - duplicate drm_fb_cma_helper.c and drm_gem_cma_helper.c into nommu version - add a configuration flag for drm_vm.c
The purpose of this RFC is to understand what is needed to allow to write drm/kms drivers for devices without MMU.
There are some MCU platforms, like stm32f4, which don't have MMU but have hardware display IP where is it possible to implement a drm/kms driver.
Obviously that start by removing MMU configuration flag from Kconfig. But while coding the driver for stm32f4 (on discovery board to have enough memory) we have already identify few other pieces of code that need to be change. We have been inspired by what already exist in v4l2 where using mmuless devices is possible.
Since we have only use cma helpers we only have partial view of what could be needed for other part of drm/kms framework.
Benjamin Gaignard (3): fbmem: add default get_fb_unmapped_area function drm: compile drm_vm.c only when needed drm: allow to use mmuless SoC
drivers/gpu/drm/Kconfig | 28 +- drivers/gpu/drm/Makefile | 5 +- drivers/gpu/drm/drm_fb_cma_helper_nommu.c | 648 +++++++++++++++++++++++++++++ drivers/gpu/drm/drm_gem_cma_helper_nommu.c | 574 +++++++++++++++++++++++++ drivers/gpu/drm/drm_legacy.h | 7 + drivers/gpu/drm/nouveau/Kconfig | 1 + drivers/video/fbdev/core/fbmem.c | 15 + include/drm/drm_gem_cma_helper.h | 8 + 8 files changed, 1281 insertions(+), 5 deletions(-) create mode 100644 drivers/gpu/drm/drm_fb_cma_helper_nommu.c create mode 100644 drivers/gpu/drm/drm_gem_cma_helper_nommu.c