[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