[PATCH v5 0/3] DRM: allow to use mmuless devices
Benjamin Gaignard
benjamin.gaignard at linaro.org
Wed Jan 4 09:12:54 UTC 2017
version 5:
- rebased on drm-for-v4.10 tag
- set get_unmapped_area field if FB_PROVIDE_GET_FB_UNMAPPED_AREA is
defined
- since version 4 dma_mmap_wc() issue will be fixed on architecture side,
either by my patch (submitted, under review)
http://www.armlinux.org.uk/developer/patches/viewpatch.php?id=8633/1
or by what is doing Vladimir about noMMU support on Cortex-M:
http://www.spinics.net/lists/arm-kernel/msg548764.html
version 4:
- add documentation about drm_gem_cma_get_unmapped_area()
- introduce FB_PROVIDE_GET_FB_UNMAPPED_AREA configuration flag for get_fb_unmapped_area()
- I have also send the first patch (https://lkml.org/lkml/2016/12/1/308) to make dma_mmap_wc
works on ARM noMMU platform, assuming that is patch will be accepted there is no more
needs to call vm_ioremap in cma helpers.
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
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 a default get_fb_unmapped_area function
drm: compile drm_vm.c only when needed
drm: allow to use mmuless SoC
Documentation/gpu/drm-mm.rst | 11 ++++++
drivers/gpu/drm/Kconfig | 9 ++++-
drivers/gpu/drm/Makefile | 3 +-
drivers/gpu/drm/drm_gem_cma_helper.c | 71 ++++++++++++++++++++++++++++++++++++
drivers/gpu/drm/drm_legacy.h | 7 ++++
drivers/gpu/drm/nouveau/Kconfig | 1 +
drivers/video/fbdev/Kconfig | 8 ++++
drivers/video/fbdev/core/fbmem.c | 18 ++++++++-
include/drm/drm_gem_cma_helper.h | 17 +++++++++
9 files changed, 141 insertions(+), 4 deletions(-)
--
1.9.1
More information about the dri-devel
mailing list