Benjamin Gaignard benjamin.gaignard@linaro.org writes:
2017-07-10 12:53 GMT+02:00 Noralf Trønnes noralf@tronnes.org:
Hi
DRM_STM is 'default y' on ARCH_MULTIPLATFORM and it selects FB_PROVIDE_GET_FB_UNMAPPED_AREA. This breaks fbdev mmap for me on Raspberry Pi. mmap returns -ENOMEM.
Disabling DRM_STM gives me working mmap.
Noralf.
config DRM_STM tristate "DRM Support for STMicroelectronics SoC Series" depends on DRM && (ARCH_STM32 || ARCH_MULTIPLATFORM) select DRM_KMS_HELPER select DRM_GEM_CMA_HELPER select DRM_KMS_CMA_HELPER select DRM_PANEL select VIDEOMODE_HELPERS select FB_PROVIDE_GET_FB_UNMAPPED_AREA
I think to two solutions:
- add "if !MMU" after FB_PROVIDE_GET_FB_UNMAPPED_AREA in this Kconfig
but other drivers could do the same.
- add !MMU when FB_PROVIDE_GET_FB_UNMAPPED_AREA is used in fbmen.c
This is the most important fix, regardless of whether the driver is default y or not. The unmapped area helper getting filled in on MMU platforms definitely breaks mmap.