freedreno/a6xx: fix hangs with newer sqe fw
authorRob Clark <robdclark@chromium.org>
Thu, 6 Jun 2019 17:22:04 +0000 (10:22 -0700)
committerRob Clark <robdclark@chromium.org>
Fri, 7 Jun 2019 19:07:29 +0000 (12:07 -0700)
commit958f6ffb60640c333a8b568c5f41467a1fecd1c0
tree11d5fb71e61c4183d74f8f2e4bf19e12f74c4637
parent1d002cfade6d5fa912bb7bfd98291bf39b3346a9
freedreno/a6xx: fix hangs with newer sqe fw

With the newer (v1.76) fw, we were getting hangs (compared to older
v1.66 fw).  Re-work the GMEM code to structure things a bit closer to
the blob.  This moves some PKT7 packets from IB2 to IB1, which I think
is what was confusing SQE and causing it to get stuck in an infinite
loop.  But in general structuring things at least closer to the same way
blob does makes it easier to compare cmdstream.

Note: this is a bit on the large side for what I'd normally consider for
stable.. but right now it is looking  like it is the newer fw that is
headed for linux-firmware.  This should defn have some soak time on
master, but probably a good idea for this patch to end up in distro mesa
builds by the time a630_sqe.fw hits linux-firmware.

Cc: mesa-stable@lists.freedesktop.org
Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
src/gallium/drivers/freedreno/a6xx/fd6_gmem.c