[pull] drm/msm: msm-next for 4.15
Rob Clark
robdclark at gmail.com
Sun Oct 29 19:12:01 UTC 2017
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
More information about the dri-devel
mailing list