Hi Dave, Updates for 4.15.. highlights include: + preemption support for a5xx[1][2] + display fixes for 8x96 (snapdragon 820) including fixes for 4k scanout (hwpipe assignment re-work to handle multiple hwpipe assigned to plane for wide scanout) + async cursor plane updates and fixes + refactor adreno_bind/hwinit.. still defer fw loading until device open, but move clk/irq/etc to probe/bind time to fix issues when fw isn't present in filesys + clk/dt bindings cleanups w/ backward compat via msm_clk_get() (dt docs part ack'ed by Rob Herring) + fw loading re-work with helper to handle either /lib/firmware/qcom/$fw or /lib/firmware/$fw.. background, we've started landing fw for some of generations in linux-firmware, but there is a preference to put fw files under 'qcom' subdirectory, which is not what was done on android or for people who copied fw from android. So now we first look in qcom subdir and then fallback to the original location. + bunch of GPU debugging enhancements, to dump full cmdline of processes that trigger faults, and to add a new debugfs to capture cmdstream of just submits that triggered faults.. both quite useful for piglit ;-) Note that first patch was also included in -fixes pr for 4.14, but including it here again was the sanest way to avoid bad merge conflicts. [1] libdrm: https://github.com/freedreno/libdrm/commits/context-priority [2] mesa: https://lists.freedesktop.org/archives/mesa-dev/2017-October/174100.html The following changes since commit 62884cd386b876638720ef88374b31a84ca7ee5f: drm: Add four ioctls for managing drm mode object leases [v7] (2017-10-25 16:31:30 +1000) are available in the git repository at: git://people.freedesktop.org/~robclark/linux tags/drm-msm-next-2017-10-28 for you to fetch changes up to 18075d0d4849c670a09ec2056a4fecb994c6ee3e: drm/msm/mdp5: Don't use async plane update path if plane visibility changes (2017-10-28 14:02:59 -0400) ---------------------------------------------------------------- Archit Taneja (5): drm/msm/hdmi: Remove mmagic_iface_clk from the 8x96 PHY clocks drm/msm/mdp5: Prepare mdp5_pipe_assign for some rework drm/msm/mdp5: Update mdp5_pipe_assign to spit out both planes drm/msm/mdp5: mdp5_crtc: Restore cursor state only if LM cursors are enabled drm/msm/mdp5: Don't use async plane update path if plane visibility changes Gustavo Padovan (2): drm/msm: update cursors asynchronously through atomic drm/msm: remove mdp5_cursor_plane_funcs Jordan Crouse (9): drm/msm: Add per-instance submit queues drm/msm: Move memptrs to msm_gpu drm/msm: Support multiple ringbuffers drm/msm: Add a parameter query for the number of 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 drm/msm: Removed unused struct_mutex_task drm/msm: dump a rd GPUADDR header for all buffers in the command Rob Clark (21): drm/msm: fix _NO_IMPLICIT fencing case drm/msm/adreno: load gpu at probe/bind time drm/msm/adreno: split out helper to load fw drm/msm/adreno: deal with linux-firmware fw paths drm/msm/mdp5: always print mdp5 version drm/msm/dsi: convert to msm_clk_get() drm/msm/edp: convert to msm_clk_get() drm/msm/hdmi: convert to msm_clk_get() dt-bindings: display: msm: update clk names drm/msm/mdp4: disable vblanks when crtc is off drm/msm/mdp5: disable vblanks when crtc is off drm/msm: show task cmdline in gpu recovery messages drm/msm: add special _get_vaddr_active() for cmdstream dumps drm/msm: split rd debugfs file drm/msm/rd: allow adding addition msg to top of dump drm/msm: preserve IOVAs in submit's bo table drm/msm: dump submits which triggered gpu hang drm/msm/mdp5: ignore planes that are not visible drm/msm/mdp5: don't use autosuspend drm/msm/mdp5: restore cursor state when enabling crtc drm/msm/atomic: switch to drm_atomic_helper_check .../devicetree/bindings/display/msm/dsi.txt | 36 +- .../devicetree/bindings/display/msm/edp.txt | 20 +- .../devicetree/bindings/display/msm/hdmi.txt | 8 +- .../devicetree/bindings/display/msm/mdp5.txt | 32 +- drivers/gpu/drm/msm/Makefile | 4 +- drivers/gpu/drm/msm/adreno/a3xx_gpu.c | 10 +- drivers/gpu/drm/msm/adreno/a4xx_gpu.c | 10 +- drivers/gpu/drm/msm/adreno/a5xx_gpu.c | 261 +++++- drivers/gpu/drm/msm/adreno/a5xx_gpu.h | 109 ++- drivers/gpu/drm/msm/adreno/a5xx_power.c | 9 +- drivers/gpu/drm/msm/adreno/a5xx_preempt.c | 305 +++++++ drivers/gpu/drm/msm/adreno/adreno_device.c | 78 +- drivers/gpu/drm/msm/adreno/adreno_gpu.c | 297 ++++--- drivers/gpu/drm/msm/adreno/adreno_gpu.h | 66 +- drivers/gpu/drm/msm/dsi/dsi_cfg.c | 8 +- drivers/gpu/drm/msm/dsi/dsi_host.c | 30 +- drivers/gpu/drm/msm/dsi/phy/dsi_phy.c | 2 +- drivers/gpu/drm/msm/edp/edp_ctrl.c | 22 +- drivers/gpu/drm/msm/hdmi/hdmi.c | 10 +- drivers/gpu/drm/msm/hdmi/hdmi_phy.c | 2 +- drivers/gpu/drm/msm/hdmi/hdmi_phy_8960.c | 2 +- drivers/gpu/drm/msm/hdmi/hdmi_phy_8996.c | 4 +- drivers/gpu/drm/msm/hdmi/hdmi_phy_8x74.c | 3 +- drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c | 7 + drivers/gpu/drm/msm/mdp/mdp5/mdp5_cmd_encoder.c | 2 +- drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c | 160 ++-- drivers/gpu/drm/msm/mdp/mdp5/mdp5_encoder.c | 2 +- drivers/gpu/drm/msm/mdp/mdp5/mdp5_irq.c | 10 +- drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.c | 8 +- drivers/gpu/drm/msm/mdp/mdp5/mdp5_pipe.c | 71 +- drivers/gpu/drm/msm/mdp/mdp5/mdp5_pipe.h | 7 +- drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c | 232 +++--- drivers/gpu/drm/msm/msm_atomic.c | 41 +- drivers/gpu/drm/msm/msm_drv.c | 83 +- drivers/gpu/drm/msm/msm_drv.h | 37 +- drivers/gpu/drm/msm/msm_fence.c | 2 +- drivers/gpu/drm/msm/msm_fence.h | 2 +- drivers/gpu/drm/msm/msm_gem.c | 33 +- drivers/gpu/drm/msm/msm_gem.h | 5 +- drivers/gpu/drm/msm/msm_gem_submit.c | 61 +- drivers/gpu/drm/msm/msm_gpu.c | 238 ++++-- drivers/gpu/drm/msm/msm_gpu.h | 51 +- drivers/gpu/drm/msm/msm_rd.c | 142 +++- drivers/gpu/drm/msm/msm_ringbuffer.c | 36 +- drivers/gpu/drm/msm/msm_ringbuffer.h | 33 +- drivers/gpu/drm/msm/msm_submitqueue.c | 152 ++++ include/dt-bindings/msm/msm-bus-ids.h | 887 +++++++++++++++++++++ include/uapi/drm/msm_drm.h | 24 + 48 files changed, 2904 insertions(+), 750 deletions(-) create mode 100644 drivers/gpu/drm/msm/adreno/a5xx_preempt.c create mode 100644 drivers/gpu/drm/msm/msm_submitqueue.c create mode 100644 include/dt-bindings/msm/msm-bus-ids.h -- 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