Here is v2 of the preemption series - Changes: * Refactored API in DRM_IOCTL_MSM_GEM_INFO (Thanks Emil Velikov) * Removed preemption worker and fixed atomics (Thanks Stephen Boyd) * Various fixes and improvements based on testing Thanks! Jordan Jordan Crouse (11): drm/msm: Make sure to detach the MMU during GPU cleanup drm/msm: Improve the zap shader drm/msm: Remove idle function hook drm/msm: Add hint to DRM_IOCTL_MSM_GEM_INFO to return an object IOVA drm/msm: get an iova from the address space instead of an id drm/msm: Add a struct to pass configuration to msm_gpu_init() drm/msm: Remove memptrs->wptr drm/msm: Support multiple ringbuffers drm/msm: Shadow current pointer in the ring until command is complete drm/msm: Make the value of RB_CNTL (almost) generic drm/msm: Implement preemption for A5XX targets arch/arm64/boot/dts/qcom/msm8996.dtsi | 4 +- drivers/gpu/drm/msm/Makefile | 1 + drivers/gpu/drm/msm/adreno/a3xx_gpu.c | 13 +- drivers/gpu/drm/msm/adreno/a4xx_gpu.c | 13 +- drivers/gpu/drm/msm/adreno/a5xx_gpu.c | 292 +++++++++++++++++++------ drivers/gpu/drm/msm/adreno/a5xx_gpu.h | 103 ++++++++- drivers/gpu/drm/msm/adreno/a5xx_power.c | 11 +- drivers/gpu/drm/msm/adreno/a5xx_preempt.c | 345 ++++++++++++++++++++++++++++++ drivers/gpu/drm/msm/adreno/adreno_gpu.c | 220 ++++++++++++------- drivers/gpu/drm/msm/adreno/adreno_gpu.h | 44 ++-- drivers/gpu/drm/msm/dsi/dsi_host.c | 15 +- drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c | 8 +- drivers/gpu/drm/msm/mdp/mdp4/mdp4_kms.c | 18 +- drivers/gpu/drm/msm/mdp/mdp4/mdp4_kms.h | 4 - drivers/gpu/drm/msm/mdp/mdp4/mdp4_plane.c | 13 +- drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c | 5 +- drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.c | 11 +- drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.h | 4 - drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c | 13 +- drivers/gpu/drm/msm/msm_drv.c | 36 ++-- drivers/gpu/drm/msm/msm_drv.h | 27 ++- drivers/gpu/drm/msm/msm_fb.c | 15 +- drivers/gpu/drm/msm/msm_fbdev.c | 10 +- drivers/gpu/drm/msm/msm_fence.c | 85 ++++++-- drivers/gpu/drm/msm/msm_fence.h | 13 +- drivers/gpu/drm/msm/msm_gem.c | 134 ++++++++---- drivers/gpu/drm/msm/msm_gem.h | 5 +- drivers/gpu/drm/msm/msm_gem_submit.c | 14 +- drivers/gpu/drm/msm/msm_gpu.c | 141 +++++++----- drivers/gpu/drm/msm/msm_gpu.h | 54 ++++- drivers/gpu/drm/msm/msm_kms.h | 3 + drivers/gpu/drm/msm/msm_ringbuffer.c | 14 +- drivers/gpu/drm/msm/msm_ringbuffer.h | 21 +- include/uapi/drm/msm_drm.h | 13 +- 34 files changed, 1322 insertions(+), 400 deletions(-) create mode 100644 drivers/gpu/drm/msm/adreno/a5xx_preempt.c -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html