[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Framebuffer on Odroid XU4: adjust cma kernel parameter


on my Odroid XU4 I've finally switched to the debian (stretch backports)
kernel and found that the default value of kernel parameter 'cma' is too
low for framebuffer to work (error details below). I have two questions:

1) (Where) should I report a bug? (XU4 will probably not be supported by

2) What is a reasonable / safe value for cma? (Or how can I determine
that value?)


U-Boot (runs from emmc):

U-Boot 2018.01+dfsg1-2 (Feb 21 2018 - 00:49:33 +0000) for ODROID-XU3/XU4/HC1

U-boot loads the device tree from
(copied to /boot).

The kernel seems to run fine (ethernet, USB):

Linux xu41.XXXX 4.14.0-0.bpo.3-armmp-lpae #1 SMP Debian 4.14.13-1~bpo9+1
(2018-01-14) armv7l GNU/Linux

except for kernel module exynosdrm:

Module                  Size  Used by
exynosdrm              86016  1
analogix_dp            36864  1 exynosdrm
drm_kms_helper        139264  2 exynosdrm,analogix_dp
drm                   319488  4 exynosdrm,analogix_dp,drm_kms_helper

log messages:

Apr  2 15:26:53 xu41 systemd[1]: Starting Light Display Manager...
Apr  2 15:26:53 xu41 systemd[1]: Started Light Display Manager.
Apr  2 15:26:54 xu41 kernel: [ 1528.085312] cma: cma_alloc: alloc
failed, req-size: 2025 pages, ret: -12
Apr  2 15:26:54 xu41 kernel: [ 1528.085378] [drm:exynos_drm_gem_create
[exynosdrm]] *ERROR* failed to allocate buffer.
Apr  2 15:26:54 xu41 kernel: [ 1528.091908] exynos-drm exynos-drm: FB
allocation failed.
Apr  2 15:26:54 xu41 systemd[1]: lightdm.service: Main process exited,
code=exited, status=1/FAILURE

dmesg output:

[   32.042017] OF: graph: no port node found in /soc/hdmi@14530000
[   32.051399] [drm] Exynos DRM: using 14450000.mixer device for DMA
mapping operations
[   32.051604] exynos-drm exynos-drm: bound 14450000.mixer (ops
mixer_component_ops [exynosdrm])
[   32.051645] exynos-drm exynos-drm: bound 14530000.hdmi (ops
hdmi_component_ops [exynosdrm])
[   32.052853] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[   32.052866] [drm] No driver support for vblank timestamp query.
[   32.195945] Console: switching to colour frame buffer device 240x67
[   32.222601] exynos-drm exynos-drm: fb0:  frame buffer device
[   32.263294] [drm] Initialized exynos 1.0.0 20110530 for exynos-drm on
minor 0

[   45.294715] cma: cma_alloc: alloc failed, req-size: 2025 pages, ret: -12
[   45.294748] [drm:exynos_drm_gem_create [exynosdrm]] *ERROR* failed to
allocate buffer.
[   45.301225] exynos-drm exynos-drm: FB allocation failed.

Reading """cma=96M the amount of memory to reserve for contimuous
allocation. Default is 16M so you have to raise it for the Cedar ve_size
to fit.""" at https://linux-sunxi.org/Kernel_arguments I tried cma=96M
and the error disappeared (so far).

Reply to: