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