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

Lucas Stach l.stach at pengutronix.de
Fri Nov 3 12:54:34 UTC 2017


Hi Russell,

Am Freitag, den 03.11.2017, 12:15 +0000 schrieb Russell King - ARM Linux:
> On Thu, Nov 02, 2017 at 04:18:03PM +0000, Russell King - ARM Linux wrote:
> > On Thu, Nov 02, 2017 at 03:33:19PM +0000, Luís Mendes wrote:
> > > Hi Russel,
> > > 
> > > The requested file follows in attachment.
> > 
> > Thanks - see below.
> > 
> > > On Thu, Nov 2, 2017 at 3:20 PM, Russell King - ARM Linux <
> > > linux at armlinux.org.uk> wrote:
> > > 
> > > > On Thu, Nov 02, 2017 at 03:05:38PM +0000, Luís Mendes wrote:
> > > > > [   56.173613] etnaviv-gpu 134000.gpu: MMU fault status 0x00000002
> > > > > [   56.179955] etnaviv-gpu 134000.gpu: MMU 0 fault addr 0x0803ffc0
> > > > > [   56.185905] etnaviv-gpu 134000.gpu: MMU 1 fault addr 0x00000000
> > > > > [   56.191843] etnaviv-gpu 134000.gpu: MMU 2 fault addr 0x00000000
> > > > > [   56.197778] etnaviv-gpu 134000.gpu: MMU 3 fault addr 0x00000000
> > > > > [   59.258367] etnaviv-gpu 134000.gpu: hangcheck detected gpu lockup!
> > > > > [   59.265910] etnaviv-gpu 134000.gpu:      completed fence: 378
> > > > > [   59.271737] etnaviv-gpu 134000.gpu:      active fence: 383
> > > > > [   59.277930] etnaviv-gpu 134000.gpu: hangcheck recover!
> 
> Taking a few steps back, I've improved my decoding script.
> 
> > > > >  Num Name  IOVA     Size
> > > > >    0 reg   00000000 00000128      296
> > > > >    1 mmu   00000000 00401000  4198400
> > > > >    2 ring  00000000 00001000     4096
> > > > > *  3 cmd   00001000 00000320      800
> > > > >    4 cmd   00002000 00000190      400
> > > > >    5 cmd   00003000 00000320      800
> > > > >    6 cmd   00004000 00000190      400
> > > > >    7 cmd   00005000 00000188      392
> > > > >    8 bomap 00000000 000018f0     6384
> > > > >    9 bo    00040000 00300000  3145728
> > > > >   10 bo    00340000 00001000     4096
> > > > >   11 bo    00341000 00002000     8192
> > > > >   12 bo    02e60000 00001000     4096
> > > > >   13 bo    030c3000 00001000     4096
> > > > >   14 bo    030c4000 00001000     4096
> > > > >   15 bo    030c5000 00018000    98304
> > > > > Checking MMU entries... ok
> 
> 001e0: 20000100 00000000
>                 00000000 00180400  0,-24,1024,0 -> 0,0,1024,24
>         Clip : 0,0,1024,24
>         ROP4 : 0xcccc
>         Dst  : 0x030c5000-0x030dd000 (0,0 - 1023,23 inclusive)
>         Src  : 0x00028000-0x00040000 (0,-24 - 1024,0 inclusive) ERROR
>         Blend: Dst:030c5000 Src:00040000 Fs=1   Fd=0
> 
> The destination is in fact fine (I think) as the right hand coordinates
> are exclusive not inclusive.  The problem is that source and it's
> -24 Y offset.
> 
> That places the range of IOVAs below the start address of buffer 9, and
> looks like a region that isn't mapped.
> 
> The MMU fault status indicates "page not present", which ties up.  I'm
> still wondering about that MMU fault address though, that still doesn't
> make too much sense.

The MMU fault addresses are not really reliable. They seem to be
accurate for some engines on the 3D core, but are known to provide
totally bogus values for others. Please don't let you confuse too much
by those.

Regards,
Lucas


More information about the etnaviv mailing list