etnaviv oops on imx6dl/2G, works fine on imx6s/512M
Michal Vokáč
michal.vokac at ysoft.com
Mon Jul 23 14:05:02 UTC 2018
On 23.7.2018 12:13, Lucas Stach wrote:
> 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.
Glad you replied Lucas! You nailed it, I totally overlooked that option.
I am able to boot both systems and run kmscube with cma=64M kernel
command line parameter.
Thank you very much for your time,
Michal
More information about the etnaviv
mailing list