etnaviv oops on imx6dl/2G, works fine on imx6s/512M

Lucas Stach l.stach at pengutronix.de
Mon Jul 23 10:13:15 UTC 2018


Hi Michal,

Am Mittwoch, den 18.07.2018, 14:29 +0200 schrieb Michal Vokáč:
> Ahoj,
> 
> I encountered an error in etnaviv driver on one of my two very similar SBCs.
> They have the same board design but slightly different HW configuration.
> SW configuration/setup is the same for both. Including kernel configuration.
> 
> 1. is based on i.MX6S, single core, 512MB RAM, parallel LCD.
> 2. is based on i.MX6DL, dual core, 2GB RAM, HDMI display.
> 
> System No.1 boots OK. I can run kmscube and HW acceleration works.
> System No.2 does not boot until I disable etnaviv driver in the kernel.
> 
> When digging deeper where the problem might be I found those two threads
> [1],[2]. None of these apply to me. CMA is enabled and I do not specify
> fixed CMA regions in DT.
> 
> I get the same results on v4.18-rc2 and on v4.18-rc5.
> 
> Relevant parts of boot log:
> 
> [    0.000000] Memory: 1984044K/2097152K available (11264K kernel code, 738K rwdata, 2672K rodata, 1024K init, 426K bss, 113108K reserved, 0K cma-reserved, 262144K highmem)
> [    0.000000] Virtual kernel memory layout:
> [    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
> [    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
> [    0.000000]     vmalloc : 0xf0800000 - 0xff800000   ( 240 MB)
> [    0.000000]     lowmem  : 0x80000000 - 0xf0000000   (1792 MB)
> [    0.000000]     pkmap   : 0x7fe00000 - 0x80000000   (   2 MB)
> [    0.000000]       .text : 0x(ptrval) - 0x(ptrval)   (12256 kB)
> [    0.000000]       .init : 0x(ptrval) - 0x(ptrval)   (1024 kB)
> [    0.000000]       .data : 0x(ptrval) - 0x(ptrval)   ( 739 kB)
> [    0.000000]        .bss : 0x(ptrval) - 0x(ptrval)   ( 427 kB)
> 
> [... snip ...]
> 
> [    8.973561] etnaviv etnaviv: bound 130000.gpu (ops gpu_ops)
> [    8.979464] etnaviv etnaviv: bound 134000.gpu (ops gpu_ops)
> [    8.985105] etnaviv-gpu 130000.gpu: model: GC880, revision: 5106
> [    8.997639] etnaviv-gpu 130000.gpu: command buffer outside valid memory window
> [    9.005465] etnaviv-gpu 134000.gpu: model: GC320, revision: 5007
> [    9.018325] etnaviv-gpu 134000.gpu: command buffer outside valid memory window
> [    9.026767] [drm] Initialized etnaviv 1.2.0 20151214 for etnaviv on minor 0
> [    9.035510] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
> [    9.042138] [drm] No driver support for vblank timestamp query.
> [    9.048363] imx-drm display-subsystem: bound imx-ipuv3-crtc.2 (ops ipu_crtc_ops)
> [    9.055948] imx-drm display-subsystem: bound imx-ipuv3-crtc.3 (ops ipu_crtc_ops)
> [    9.063409] [drm] Cannot find any crtc or sizes
> [    9.068354] [drm] Initialized imx-drm 1.0.0 20120507 for display-subsystem on minor 1
> [    9.076283] imx-ipuv3 2400000.ipu: IPUv3H probed
[...]
> The system does not make it to the login promt but it seems kernel is running
> as I see a LED with a heart-beat trigger flashing.
> 
> Any idea what might be wrong? How to further debug this?

I'll look into why things are crashing in the RPM routines, but the
root-cause of your issue is that your system doesn't provide any CMA
memory ("0K cma-reserved" in the log above). This is required for
etnaviv to work, any working configuration without CMA memory is pure
luck. You will need to tweak your configuration to always have some CMA
memory, looking at the imx_v6_v7_defconfig should provide a good
starting point.

Regards,
Lucas


More information about the etnaviv mailing list