[Freedreno] [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 Freedreno mailing list