freedreno/devices: Establish a7xx sub-generations + small misc. patches
What does this MR do and why?
We can differentiate three distinctive sub-generations on a7xx to reduce the the number of copy-pasted quirks and making enabling new features less error-prone.
The last commit is a small ir3 fix, which I noticed because 87cb42f9 was the top commit after my rebase.