<3>[ 549.814025] etnaviv-gpu 130000.gpu: MMU fault status 0x00000002 <- happens almost immediately <3>[ 549.819960] etnaviv-gpu 130000.gpu: MMU 0 fault addr 0xe8783040 <3>[ 549.825889] etnaviv-gpu 130000.gpu: MMU 1 fault addr 0x00000000 <3>[ 549.831817] etnaviv-gpu 130000.gpu: MMU 2 fault addr 0x00000000 <3>[ 549.837744] etnaviv-gpu 130000.gpu: MMU 3 fault addr 0x00000000
Okay I just tried to get the same while rendering in Mesa and it doesn't happen.
It reaches the end of the address space, sets last_iova back to 0, and just continues.
So the MMU fault is somehow specific to what I'm doing. Interesting.
What I find curious, though, is that after the search presumably starts over at 0 it returns 0xe8783000 instead of an earlier address. For this reason last_iova is stuck near the end of the address space and the problem keeps repeating once it's been hit.
This does happen when rendering - it keeps dealing out iovas near the end of the address space. But that seems harmless, though maybe causes some more MMU flushes than necessary.
Wladimir