<ManMower>
is that address really what the gpu is trying to read from?
<austriancoder>
yes .. and there is no entry in the iommu
<ManMower>
is 0 a special address that we avoid, or is there usually something mapped there?
<austriancoder>
0 is not special - the etnaviv stack is used on gpus with mmuv2 (even mesa ci has them) maybe I should fire up glmark2 on my gc7000 sitting in front of me :)
* austriancoder
looks into adding support for mmuv2 in viv-unpack
<ManMower>
we're working with gc7000 6009. unsure if this problem is specific to that variant or not. :)
<ManMower>
oh, I guess that 6009 is in the register dump already.
f_ has quit [Ping timeout: 480 seconds]
mvlad has quit [Remote host closed the connection]
Surkow|laptop has quit [Remote host closed the connection]
<austriancoder>
bl4ckb0ne: ManMower: the iommu v2 looks okay - I have a started on a very hacky validation code for viv-unpack but this does not help for the no-mmu fault but gpu hang case. so lets focus on the gpu hang. I looked at the cmd stream you provided for the terrain and it looks sane. Can you try to run you gpu hanger with ETNA_MESA_DEBUG=draw_stall?
Surkow|laptop has joined #etnaviv
<austriancoder>
glmark2-drm -b terrain --run-forever - is running for 15 minutes without a hang
<austriancoder>
mesa 24.2.0-devel with kernel 6.7.12
<bl4ckb0ne>
hangs/fault immediately with 6.6
<bl4ckb0ne>
anything to share yet for the viv-unpack?
<austriancoder>
bl4ckb0ne: the iommu v2 code I am working on is not needed to find the bad part in the dump - it just verifies that every bo is actually mapped in the iommu
<austriancoder>
a devcoredump with ETNA_MESA_DEBUG=draw_stall would be nice
<bl4ckb0ne>
ill send you that in a few minutes
<austriancoder>
great
<bl4ckb0ne>
with or without mesa cmd stream?
<austriancoder>
without
<austriancoder>
the devcoredump includes the cmd stream of the job that hangs
<bl4ckb0ne>
a preference on terrain or desktop?
<bl4ckb0ne>
or both
<ManMower>
does it always? I've seen devcoredumps where it looked like the dma address pointed at a previous command buffer. (or even in the ring buffer) is the dma address not particularly useful?
<austriancoder>
it does not matter which one
<austriancoder>
ManMower: the FE can either be in the kernel ring buffer or in a user provided command buffer
<austriancoder>
ETNA_MESA_DEBUG=draw_stall adds a sync between FE and PE (start and end of the pipeline) so we can easier pinpoint which draw command is the bad one
* austriancoder
grabs something to drink
<bl4ckb0ne>
how are you able to find the 905/903 address in all of this?
* austriancoder
ohh.. I have such a problematic i.MX8 Quad Max (model: 7000 revision: 6009 product: 70008 eco: 0) here.. but not sure how upstream support regarding dts is.
<ManMower>
haven't been able to light up display on 6.1 yet, testing with glmark2 --off-screen there