Resend of [1] with the order rearranged to put a6xx gpu state at the end and attach an add-on patch to better manage a6xx state memory. I think everything here is good to go for 4.21 (maybe even some 4.20 fixes) but I can understand if we want to let the gpu state soak for another cycle. Sharat has been doing an excellent job of finding the bugs in it. Jordan Crouse (10): drm/msm: Update generated headers drm/msm/gpu: Allocate the correct size for the GPU memptrs drm/msm: Gracefully handle failure in _msm_gem_kernel_new drm/msm/gpu: Add per-submission statistics drm/msm/gpu: Add trace events for tracking GPU submissions drm/msm/gpu: Only store local command buffers in the GPU state drm/msm/gpu: Move gpu_poll_timeout() to adreno_gpu.h drm/msm/adreno: Don't capture register values if target doesn't define them drm/msm/a6xx: Add a6xx gpu state drm/msm/a6xx: Track and manage a6xx state memory drivers/gpu/drm/msm/Makefile | 4 +- drivers/gpu/drm/msm/adreno/a5xx_gpu.c | 5 - drivers/gpu/drm/msm/adreno/a6xx.xml.h | 54 +- drivers/gpu/drm/msm/adreno/a6xx_gmu.c | 45 +- drivers/gpu/drm/msm/adreno/a6xx_gmu.h | 3 + drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 80 +- drivers/gpu/drm/msm/adreno/a6xx_gpu.h | 8 + drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c | 1171 +++++++++++++++++++ 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 + drivers/gpu/drm/msm/msm_gem.c | 18 +- drivers/gpu/drm/msm/msm_gem.h | 1 + drivers/gpu/drm/msm/msm_gem_submit.c | 15 +- drivers/gpu/drm/msm/msm_gpu.c | 49 +- drivers/gpu/drm/msm/msm_gpu_trace.h | 90 ++ drivers/gpu/drm/msm/msm_gpu_tracepoints.c | 6 + drivers/gpu/drm/msm/msm_ringbuffer.h | 16 + 18 files changed, 1921 insertions(+), 99 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 create mode 100644 drivers/gpu/drm/msm/msm_gpu_trace.h create mode 100644 drivers/gpu/drm/msm/msm_gpu_tracepoints.c -- 2.18.0