This stack adds support for capturing the A6xx GPU state. The A6xx GPU state is comprehensive including registers for the GPU and the GMU, shader caches, context clusters and debugbus state. It isn't as straightforward to capture the state as with previous targets. Some of the state is located behind apertures and other registers have special access rules so the complete state is defined by a hodgepodge of lists and structs which makes the code appear way more complex than it is. Jordan Crouse (6): drm/msm/a6xx: rnndb updates for a6xx drm/msm/a6xx: Fix PDC register overlap drm/msm/a6xx: Rename gmu phandle to qcom,gmu drm/msm/gpu: Move gpu_poll_timeout() to adreno_gpu.h drm/msm/adreno: Don't capture registers if target doesn't need them drm/msm/a6xx: Add a6xx gpu state drivers/gpu/drm/msm/Makefile | 1 + drivers/gpu/drm/msm/adreno/a5xx_gpu.c | 5 - drivers/gpu/drm/msm/adreno/a6xx.xml.h | 642 ++++++---- drivers/gpu/drm/msm/adreno/a6xx_gmu.c | 112 +- drivers/gpu/drm/msm/adreno/a6xx_gmu.h | 9 +- drivers/gpu/drm/msm/adreno/a6xx_gmu.xml.h | 26 +- drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 41 +- drivers/gpu/drm/msm/adreno/a6xx_gpu.h | 6 + drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c | 1159 +++++++++++++++++++ drivers/gpu/drm/msm/adreno/a6xx_gpu_state.h | 430 +++++++ drivers/gpu/drm/msm/adreno/adreno_gpu.c | 19 +- drivers/gpu/drm/msm/adreno/adreno_gpu.h | 6 + 12 files changed, 2113 insertions(+), 343 deletions(-) create mode 100644 drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c create mode 100644 drivers/gpu/drm/msm/adreno/a6xx_gpu_state.h -- 2.18.0