etnaviv-gpu 134000.gpu: MMU fault status 0x00000002 on i.XM6 Quad Plus

Fabio Estevam festevam at gmail.com
Sat Aug 26 14:25:19 UTC 2017


[Please keep the etnaviv list on Cc]

On Sat, Aug 26, 2017 at 9:43 AM, Luís Mendes <luis.p.mendes at gmail.com> wrote:
> Hi Fabio,
>
> Regarding the main issue of this topic...
>
> It seems the problem is originated from a IOCTL GEM SUBMIT call to
> etnaviv_ioctl_gem_submit(...).
> From my configuration and being the 2D GPU unit, I believe this IOCTL call
> is triggered from xf86_video_armada/etnaviv/etnadrm.c, am I correct?
> If so, then it would be a matter of finding which is the exact function that
> is doing the IOCTL and causing the MMU fault, and finding the calling
> parameters.
> I'll try to do that...
>
> I've placed a dump_stack() next to the MMU fault message in etnaviv kernel
> module and got this:
> [   40.687106] etnaviv-gpu 134000.gpu: MMU fault status 0x00000002
> [   40.693194] etnaviv-gpu 134000.gpu: MMU 0 fault addr 0x0803ffc0
> [   40.699137] etnaviv-gpu 134000.gpu: MMU 1 fault addr 0x00000000
> [   40.705072] etnaviv-gpu 134000.gpu: MMU 2 fault addr 0x00000000
> [   40.711006] etnaviv-gpu 134000.gpu: MMU 3 fault addr 0x00000000
> [   40.716944] CPU: 0 PID: 889 Comm: Xorg Not tainted 4.12.8 #2
> [   40.716952] Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
> [   40.716960] Backtrace:
> [   40.716995] [<c010c3ec>] (dump_backtrace) from [<c010c6a8>]
> (show_stack+0x18/0x1c)
> [   40.717009]  r7:c0e21d5c r6:00000000 r5:600f0193 r4:c0e21d5c
> [   40.717028] [<c010c690>] (show_stack) from [<c0409908>]
> (dump_stack+0xac/0xd8)
> [   40.717084] [<c040985c>] (dump_stack) from [<bf043f70>]
> (irq_handler+0x184/0x194 [etnaviv])
> [   40.717099]  r10:ee9d2810 r9:bf0484c0 r8:bf049174 r7:000001a0 r6:00000004
> r5:ede80810
> [   40.717107]  r4:00000000 r3:00000006
> [   40.717151] [<bf043dec>] (irq_handler [etnaviv]) from [<c0178654>]
> (__handle_irq_event_percpu+0xb4/0x13c)
> [   40.717165]  r10:c0e16d7e r9:ee9eee00 r8:00000015 r7:ed24bbd4 r6:00000000
> r5:ee9eee00
> [   40.717175]  r4:edf1e600 r3:bf043dec
> [   40.717191] [<c01785a0>] (__handle_irq_event_percpu) from [<c0178700>]
> (handle_irq_event_percpu+0x24/0x60)
> [   40.717204]  r10:bf045fb8 r9:f4001100 r8:ee808400 r7:00000000 r6:c0e0e228
> r5:ee9eee00
> [   40.717212]  r4:ee9eee00
> [   40.717226] [<c01786dc>] (handle_irq_event_percpu) from [<c017877c>]
> (handle_irq_event+0x40/0x64)
> [   40.717237]  r5:ee9eee60 r4:ee9eee00
> [   40.717252] [<c017873c>] (handle_irq_event) from [<c017bddc>]
> (handle_fasteoi_irq+0xc0/0x190)
> [   40.717263]  r7:00000000 r6:c0e0e228 r5:ee9eee60 r4:ee9eee00
> [   40.717278] [<c017bd1c>] (handle_fasteoi_irq) from [<c017783c>]
> (generic_handle_irq+0x2c/0x3c)
> [   40.717290]  r7:00000000 r6:00000000 r5:00000015 r4:c0d7430c
> [   40.717304] [<c0177810>] (generic_handle_irq) from [<c0177e00>]
> (__handle_domain_irq+0x64/0xbc)
> [   40.717319] [<c0177d9c>] (__handle_domain_irq) from [<c010156c>]
> (gic_handle_irq+0x50/0x94)
> [   40.717332]  r9:f4001100 r8:f4000100 r7:ed24bc90 r6:f400010c r5:c0e07828
> r4:c0e22100
> [   40.717347] [<c010151c>] (gic_handle_irq) from [<c010d2f0>]
> (__irq_svc+0x70/0x98)
> [   40.717357] Exception stack(0xed24bc90 to 0xed24bcd8)
> [   40.717370] bc80:                                     00000001 00000011
> c0e75688 ed168c40
> [   40.717382] bca0: ed24a000 00000000 600f0013 00000001 00000001 edf69118
> bf045fb8 ed24bd1c
> [   40.717394] bcc0: c0f3ed8c ed24bce0 f2fea19d c016d610 800f0013 ffffffff
> [   40.717406]  r9:ed24a000 r8:00000001 r7:ed24bcc4 r6:ffffffff r5:800f0013
> r4:c016d610
> [   40.717432] [<c016d588>] (lock_acquire) from [<c0562f74>]
> (reservation_object_add_excl_fence+0xc0/0x234)
> [   40.717444]  r8:ed616308 r7:ec518dc0 r6:00000000 r5:edf690c8 r4:00000000
> [   40.717484] [<c0562eb4>] (reservation_object_add_excl_fence) from
> [<bf045fb8>] (etnaviv_gpu_submit+0x1c4/0x2ec [etnaviv])
> [   40.717497]  r10:ed61620c r9:edf69400 r8:ed616200 r7:ed429974 r6:ed616308
> r5:ede80810
> [   40.717505]  r4:00000001
> [   40.717555] [<bf045df4>] (etnaviv_gpu_submit [etnaviv]) from [<bf041b68>]
> (etnaviv_ioctl_gem_submit+0xef8/0xfac [etnaviv])
> [   40.717568]  r10:ed558800 r9:ed429480 r8:ede80810 r7:ed065900 r6:ed429940
> r5:00000000
> [   40.717576]  r4:ed24be60
> [   40.717614] [<bf040c70>] (etnaviv_ioctl_gem_submit [etnaviv]) from
> [<c04f8bc4>] (drm_ioctl+0x1f8/0x42c)
> [   40.717627]  r10:c0306446 r9:ed24be60 r8:edf69800 r7:00000030 r6:bf0483f4
> r5:00000030
> [   40.717635]  r4:00000051
> [   40.717657] [<c04f89cc>] (drm_ioctl) from [<c0235984>]
> (do_vfs_ioctl+0xac/0xa30)
> [   40.717672]  r10:00000000 r9:ed24a000 r8:0000000d r7:c0236344 r6:ed001a40
> r5:ed0874e8
> [   40.717680]  r4:bee0f518
> [   40.717694] [<c02358d8>] (do_vfs_ioctl) from [<c0236344>]
> (SyS_ioctl+0x3c/0x64)
> [   40.717707]  r10:00000000 r9:ed24a000 r8:bee0f518 r7:c0306446 r6:ed001a40
> r5:0000000d
> [   40.717715]  r4:ed001a41
> [   40.717733] [<c0236308>] (SyS_ioctl) from [<c0107d20>]
> (ret_fast_syscall+0x0/0x1c)
> [   40.717746]  r9:ed24a000 r8:c0107ec4 r7:00000036 r6:c0306446 r5:bee0f518
> r4:c0006400
> [   44.393958] etnaviv-gpu 134000.gpu: hangcheck detected gpu lockup!
> [   44.400427] etnaviv-gpu 134000.gpu:      completed fence: 611
> [   44.406266] etnaviv-gpu 134000.gpu:      active fence: 615
> [   44.412610] etnaviv-gpu 134000.gpu: hangcheck recover!
> [   44.551044] etnaviv-gpu 134000.gpu: MMU fault status 0x00000002
> [   44.557015] etnaviv-gpu 134000.gpu: MMU 0 fault addr 0x00343fc0
> [   44.562959] etnaviv-gpu 134000.gpu: MMU 1 fault addr 0x00000000
> [   44.568904] etnaviv-gpu 134000.gpu: MMU 2 fault addr 0x00000000
> [   44.574845] etnaviv-gpu 134000.gpu: MMU 3 fault addr 0x00000000
> [   44.580784] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.12.8 #2
> [   44.580796] Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
> [   44.580805] Backtrace:
> [   44.580844] [<c010c3ec>] (dump_backtrace) from [<c010c6a8>]
> (show_stack+0x18/0x1c)
> [   44.580862]  r7:c0e21d5c r6:00000000 r5:600f0193 r4:c0e21d5c
> [   44.580885] [<c010c690>] (show_stack) from [<c0409908>]
> (dump_stack+0xac/0xd8)
> [   44.580953] [<c040985c>] (dump_stack) from [<bf043f70>]
> (irq_handler+0x184/0x194 [etnaviv])
> [   44.580973]  r10:ee9d2810 r9:bf0484c0 r8:bf049174 r7:000001a0 r6:00000004
> r5:ede80810
> [   44.580985]  r4:00000000 r3:00000006
> [   44.581042] [<bf043dec>] (irq_handler [etnaviv]) from [<c0178654>]
> (__handle_irq_event_percpu+0xb4/0x13c)
> [   44.581059]  r10:c0e16d7e r9:ee9eee00 r8:00000015 r7:c0e01ddc r6:00000000
> r5:ee9eee00
> [   44.581070]  r4:edf1e600 r3:bf043dec
> [   44.581088] [<c01785a0>] (__handle_irq_event_percpu) from [<c0178700>]
> (handle_irq_event_percpu+0x24/0x60)
> [   44.581105]  r10:00000000 r9:f4001100 r8:ee808400 r7:00000000 r6:c0e0e228
> r5:ee9eee00
> [   44.581115]  r4:ee9eee00
> [   44.581132] [<c01786dc>] (handle_irq_event_percpu) from [<c017877c>]
> (handle_irq_event+0x40/0x64)
> [   44.581144]  r5:ee9eee60 r4:ee9eee00
> [   44.581164] [<c017873c>] (handle_irq_event) from [<c017bddc>]
> (handle_fasteoi_irq+0xc0/0x190)
> [   44.581178]  r7:00000000 r6:c0e0e228 r5:ee9eee60 r4:ee9eee00
> [   44.581196] [<c017bd1c>] (handle_fasteoi_irq) from [<c017783c>]
> (generic_handle_irq+0x2c/0x3c)
> [   44.581209]  r7:00000000 r6:00000000 r5:00000015 r4:c0d7430c
> [   44.581227] [<c0177810>] (generic_handle_irq) from [<c0177e00>]
> (__handle_domain_irq+0x64/0xbc)
> [   44.581248] [<c0177d9c>] (__handle_domain_irq) from [<c010156c>]
> (gic_handle_irq+0x50/0x94)
> [   44.581264]  r9:f4001100 r8:f4000100 r7:c0e01e98 r6:f400010c r5:c0e07828
> r4:c0e22100
> [   44.581279] [<c010151c>] (gic_handle_irq) from [<c010d2f0>]
> (__irq_svc+0x70/0x98)
> [   44.581291] Exception stack(0xc0e01e98 to 0xc0e01ee0)
> [   44.581304] 1e80:
> 00000001 00000001
> [   44.581320] 1ea0: 00000000 c0e0ab80 5f719ebf 0000000a 00000000 eef9a680
> 5f726dc7 0000000a
> [   44.581336] 1ec0: 00000000 c0e01f1c c0e01eb8 c0e01ee8 c016aff4 c06b7c90
> 200f0013 ffffffff
> [   44.581352]  r9:c0e00000 r8:5f726dc7 r7:c0e01ecc r6:ffffffff r5:200f0013
> r4:c06b7c90
> [   44.581373] [<c06b7b04>] (cpuidle_enter_state) from [<c06b7e10>]
> (cpuidle_enter+0x1c/0x20)
> [   44.581389]  r10:c0e01f40 r9:c0e0d854 r8:eef9a680 r7:c0d75678 r6:c0e0752c
> r5:c0e07578
> [   44.581399]  r4:c0e00000
> [   44.581421] [<c06b7df4>] (cpuidle_enter) from [<c0162e80>]
> (call_cpuidle+0x28/0x44)
> [   44.581437] [<c0162e58>] (call_cpuidle) from [<c0163158>]
> (do_idle+0x1c4/0x220)
> [   44.581454] [<c0162f94>] (do_idle) from [<c016355c>]
> (cpu_startup_entry+0x20/0x24)
> [   44.581470]  r10:efffca00 r9:c0d5ca48 r8:c0e73000 r7:ffffffff r6:c0e07500
> r5:00000002
> [   44.581480]  r4:000000bc
> [   44.581502] [<c016353c>] (cpu_startup_entry) from [<c099100c>]
> (rest_init+0x15c/0x16c)
> [   44.581530] [<c0990eb0>] (rest_init) from [<c0d00d3c>]
> (start_kernel+0x390/0x39c)
> [   44.581542]  r5:c0e73000 r4:c0e7304c
> [   44.581558] [<c0d009ac>] (start_kernel) from [<1000807c>] (0x1000807c)
> [   48.003847] etnaviv-gpu 134000.gpu: hangcheck detected gpu lockup!
> [   48.010109] etnaviv-gpu 134000.gpu:      completed fence: 618
> [   48.015993] etnaviv-gpu 134000.gpu:      active fence: 621
> [   48.023217] etnaviv-gpu 134000.gpu: hangcheck recover!
> [   49.402289] etnaviv-gpu 134000.gpu: MMU fault status 0x00000002
> [   49.408263] etnaviv-gpu 134000.gpu: MMU 0 fault addr 0x0803ffc0
> [   49.414220] etnaviv-gpu 134000.gpu: MMU 1 fault addr 0x00000000
> [   49.420178] etnaviv-gpu 134000.gpu: MMU 2 fault addr 0x00000000
> [   49.426123] etnaviv-gpu 134000.gpu: MMU 3 fault addr 0x00000000
> [   49.432080] CPU: 0 PID: 1333 Comm: gdbus Not tainted 4.12.8 #2
> [   49.432091] Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
> [   49.432099] Backtrace:
> [   49.432134] [<c010c3ec>] (dump_backtrace) from [<c010c6a8>]
> (show_stack+0x18/0x1c)
> [   49.432147]  r7:c0e21d5c r6:00000000 r5:600d0193 r4:c0e21d5c
> [   49.432166] [<c010c690>] (show_stack) from [<c0409908>]
> (dump_stack+0xac/0xd8)
> [   49.432230] [<c040985c>] (dump_stack) from [<bf043f70>]
> (irq_handler+0x184/0x194 [etnaviv])
> [   49.432245]  r10:ee9d2810 r9:bf0484c0 r8:bf049174 r7:000001a0 r6:00000004
> r5:ede80810
> [   49.432253]  r4:00000000 r3:00000006
> [   49.432299] [<bf043dec>] (irq_handler [etnaviv]) from [<c0178654>]
> (__handle_irq_event_percpu+0xb4/0x13c)
> [   49.432315]  r10:c0e16d7e r9:ee9eee00 r8:00000015 r7:eb713ef4 r6:00000000
> r5:ee9eee00
> [   49.432324]  r4:edf1e600 r3:bf043dec
> [   49.432339] [<c01785a0>] (__handle_irq_event_percpu) from [<c0178700>]
> (handle_irq_event_percpu+0x24/0x60)
> [   49.432352]  r10:b666a798 r9:f4001100 r8:ee808400 r7:00000000 r6:c0e0e228
> r5:ee9eee00
> [   49.432360]  r4:ee9eee00
> [   49.432374] [<c01786dc>] (handle_irq_event_percpu) from [<c017877c>]
> (handle_irq_event+0x40/0x64)
> [   49.432384]  r5:ee9eee60 r4:ee9eee00
> [   49.432399] [<c017873c>] (handle_irq_event) from [<c017bddc>]
> (handle_fasteoi_irq+0xc0/0x190)
> [   49.432411]  r7:00000000 r6:c0e0e228 r5:ee9eee60 r4:ee9eee00
> [   49.432426] [<c017bd1c>] (handle_fasteoi_irq) from [<c017783c>]
> (generic_handle_irq+0x2c/0x3c)
> [   49.432438]  r7:00000000 r6:00000000 r5:00000015 r4:c0d7430c
> [   49.432451] [<c0177810>] (generic_handle_irq) from [<c0177e00>]
> (__handle_domain_irq+0x64/0xbc)
> [   49.432466] [<c0177d9c>] (__handle_domain_irq) from [<c010156c>]
> (gic_handle_irq+0x50/0x94)
> [   49.432479]  r9:f4001100 r8:f4000100 r7:eb713fb0 r6:f400010c r5:c0e07828
> r4:c0e22100
> [   49.432493] [<c010151c>] (gic_handle_irq) from [<c010d6d8>]
> (__irq_usr+0x58/0x80)
> [   49.432502] Exception stack(0xeb713fb0 to 0xeb713ff8)
> [   49.432514] 3fa0:                                     b4406c18 b4406f88
> b4406c68 00000000
> [   49.432527] 3fc0: b4406fe8 00000050 00000009 b4406fe8 b4406c00 01da6198
> b666a798 000003e8
> [   49.432538] 3fe0: 0000000b b42fe768 b65dc8ef b65dc7fc 600d0030 ffffffff
> [   49.432551]  r9:01da6198 r8:10c5387d r7:10c5387d r6:ffffffff r5:600d0030
> r4:b65dc7fc
> [   55.983821] etnaviv-gpu 134000.gpu: hangcheck detected gpu lockup!
> [   55.990064] etnaviv-gpu 134000.gpu:      completed fence: 622
> [   55.995875] etnaviv-gpu 134000.gpu:      active fence: 652
> [   56.001477] etnaviv-gpu 134000.gpu: hangcheck recover!
>
>
> Regards,
> Luís
>
> On Sat, Aug 26, 2017 at 12:26 PM, Luís Mendes <luis.p.mendes at gmail.com>
> wrote:
>>
>> Hi Fabio,
>>
>> Thanks for spotting that!
>>
>> Once I made that change, the penguin logos appeared during boot, and the
>> console is now working properly, however a few seconds after X session
>> starts the screen blanks and the ubuntu MATE login screen disappears.
>> I'm able to switch to console by pressing <Ctrl>+<Alt>+<F1> and the
>> console login text is properly displayed, however if I switch back to the X
>> session by pressing <Alt>+<F7>, sometimes I am able to see the session login
>> screen for a second or so, sometimes not even that, it just blanks.
>>
>> I've removed mxcfb references from imx6qdl-wandboard-revd1.dtsi and
>> changed imx6qp-wandboard-revd1.dts file to:
>> /dts-v1/;
>>
>> #include <dt-bindings/interrupt-controller/irq.h>
>>
>> #include "imx6qp.dtsi"
>> #include "imx6qdl-wandboard-revd1.dtsi"
>>
>> / {
>>     model = "Wandboard i.MX6QuadPlus rev.D1";
>>     compatible = "fsl,imx6qp-wandboard", "fsl,imx6qp";
>>
>>     memory {
>>         reg = <0x10000000 0x80000000>;
>>     };
>> };
>>
>> &sata {
>>         status = "okay";
>> };
>>
>>
>> Regards,
>> Luís
>>
>> On Sat, Aug 26, 2017 at 1:48 AM, Fabio Estevam <festevam at gmail.com> wrote:
>>>
>>> Hi Luís,
>>>
>>> On Fri, Aug 25, 2017 at 6:47 PM, Luís Mendes <luis.p.mendes at gmail.com>
>>> wrote:
>>> > Hi Fabio,
>>> >
>>> > Yes, I've recompiled the dtb file. I recompile and replace the dtb
>>> > every
>>> > time I compile a new kernel.
>>> > I'm running the kernel on a Wandboard Quad Plus Rev. D1, for which
>>> > there is
>>> > no dtb in the Vanilla kernel, so I've slightly adapted from the
>>> > Technexion
>>> > kernel.
>>> >
>>> > The dts files follow in attachment. All remaining files are from the
>>> > Vanilla
>>> > kernel 4.12.x.
>>>
>>> Ok, the dts does not look correct.
>>>
>>> You have a imx6qp board and you are using a compatible string of
>>> 'fsl,imx6q' instead of 'fsl,imx6qp'.
>>>
>>> The 'mxcfb' nodes also do not work with a mainline kernel.
>>>
>>> I would suggest you taking a look to an existing imx6qp from mainline,
>>> arch/arm/boot/dts/imx6qp-sabresd.dts for example.
>>
>>
>


More information about the etnaviv mailing list