[pull] drm/msm: msm-next for 5.11

Rob Clark robdclark at gmail.com
Mon Dec 7 21:48:39 UTC 2020


Hi Dave,

This time around:

 * Shutdown hook for GPU (to ensure GPU is idle before iommu goes away)
 * GPU cooling device support
 * DSI 7nm and 10nm phy/pll updates
 * Additional sm8150/sm8250 DPU support (merge_3d and DSPP color
   processing)
 * Various DP fixes
 * A whole bunch of W=1 fixes from Lee Jones
 * GEM locking re-work (no more trylock_recursive in shrinker!)
 * LLCC (system cache) support
 * Various other fixes/cleanups

Note that there is a merge commit for branch also based on v5.10-rc1 that
was also merged into arm-smmu tree for v5.11 to handle a shared dependency
for LLCC support.

The following changes since commit 3650b228f83adda7e5ee532e2b90429c03f7b9ec:

  Linux 5.10-rc1 (2020-10-25 15:14:11 -0700)

are available in the Git repository at:

  https://gitlab.freedesktop.org/drm/msm.git tags/drm-msm-next-2020-12-07

for you to fetch changes up to e319a1b956f785f618611857cd946dca2bb68542:

  drm/msm: add IOMMU_SUPPORT dependency (2020-12-05 08:25:52 -0800)

----------------------------------------------------------------
Abhinav Kumar (2):
      drm/msm/dp: do not notify audio subsystem if sink doesn't support audio
      drm/msm/dpu: update the qos remap only if the client type changes

Akhil P Oommen (4):
      drm/msm: Implement shutdown callback for adreno
      drm/msm: Fix duplicate gpu node in icc summary
      drm/msm: Add support for GPU cooling
      dt-bindings: drm/msm/gpu: Add cooling device support

Arnd Bergmann (1):
      drm/msm: add IOMMU_SUPPORT dependency

Dmitry Baryshkov (12):
      drm/msm/dsi_pll_7nm: restore VCO rate during restore_state
      drm/msm/dsi_pll_10nm: restore VCO rate during restore_state
      drm/msm/dsi_phy_7nm: implement PHY disabling
      drm/msm/dsi_phy_10nm: implement PHY disabling
      drm/msm/dpu: simplify interface flush handling
      drm/msm/dpu: initial support for merge3D hardware block
      drm/msm/dpu: handle merge_3d configuration in hw_ctl block
      drm/msm/dpu: setup merge modes in merge_3d block
      drm/msm/dpu: enable merge_3d support on sm8150/sm8250
      drm/msm/dpu: fix clock scaling on non-sc7180 board
      drm/msm/dsi: do not try reading 28nm vco rate if it's not enabled
      drm/msm/dpu: enable DSPP support on SM8[12]50

Iskren Chernev (1):
      drm/msm: Fix use-after-free in msm_gem with carveout

Jordan Crouse (1):
      drm/msm/a6xx: Add support for using system cache on MMU500 based targets

Kalyan Thota (1):
      drm/msm/dpu: consider vertical front porch in the prefill bw calculation

Krishna Manikandan (1):
      drm/msm: Fix race condition in msm driver with async layer updates

Kuogee Hsieh (7):
      drm/msm/dp: add opp_table corner voting support base on dp_ink_clk rate
      drm/msm/dp: return correct connection status after suspend
      drm/msm/dp: fixes wrong connection state caused by failure of link train
      drm/msm/dp: deinitialize mainlink if link training failed
      drm/msm/dp: skip checking LINK_STATUS_UPDATED bit
      drm/msm/dp: promote irq_hpd handle to handle link training correctly
      drm/msm/dp: fix connect/disconnect handled at irq_hpd

Lee Jones (21):
      drm/msm/adreno/a6xx_gpu: Staticise local function 'a6xx_idle'
      drm/msm/disp/mdp5/mdp5_crtc: Make local function
'mdp5_crtc_setup_pipeline()' static
      drm/msm/disp/mdp5/mdp5_kms: Make local functions 'mdp5_{en,
dis}able()' static
      drm/msm/disp/dpu1/dpu_core_perf: Remove set but unused variable
'dpu_cstate'
      drm/msm/disp/dpu1/dpu_encoder: Remove a bunch of unused variables
      drm/msm/disp/dpu1/dpu_core_perf: Fix kernel-doc formatting issues
      drm/msm/disp/dpu1/dpu_hw_blk: Add one missing and remove an
extra param description
      drm/msm/disp/dpu1/dpu_formats: Demote non-conformant kernel-doc header
      drm/msm/disp/dpu1/dpu_hw_catalog: Remove duplicated
initialisation of 'max_linewidth'
      drm/msm/disp/dpu1/dpu_hw_catalog: Move definitions to the only
place they are used
      drm/msm/disp/dpu1/dpu_encoder: Fix a few parameter/member
formatting issues
      drm/msm/disp/dpu1/dpu_hw_lm: Fix misnaming of parameter 'ctx'
      drm/msm/disp/dpu1/dpu_hw_sspp: Fix kernel-doc formatting abuse
      drm/msm/disp/dpu1/dpu_rm: Fix formatting issues and supply
'global_state' description
      drm/msm/disp/dpu1/dpu_vbif: Fix a couple of function param descriptions
      drm/msm/disp/dpu1/dpu_plane: Fix some spelling and missing
function param descriptions
      drm/msm/msm_drv: Make '_msm_ioremap()' static
      drm/msm/msm_gem_shrinker: Fix descriptions for 'drm_device'
      drm/msm/adreno/a6xx_gpu_state: Make some local functions static
      drm/msm/dp/dp_ctrl: Move 'tu' from the stack to the heap
      drm/msm/disp/dpu1/dpu_hw_interrupts: Demote kernel-doc formatting misuse

Marijn Suijten (1):
      drm/msm: a5xx: Make preemption reset case reentrant

Rikard Falkeborn (1):
      drm/msm: dsi: Constify dsi_host_ops

Rob Clark (33):
      drm/msm/atomic: Drop per-CRTC locks in reverse order
      drm/msm/gpu: Convert retire/recover work to kthread_worker
      drm/msm/kms: Update msm_kms_init/destroy
      drm/msm/atomic: Convert to per-CRTC kthread_work
      drm/msm: Fix a couple incorrect usages of get_vaddr_active()
      drm/msm/gem: Add obj->lock wrappers
      drm/msm/gem: Rename internal get_iova_locked helper
      drm/msm/gem: Move prototypes to msm_gem.h
      drm/msm/gem: Add some _locked() helpers
      drm/msm/gem: Move locking in shrinker path
      drm/msm/submit: Move copy_from_user ahead of locking bos
      drm/msm: Do rpm get sooner in the submit path
      drm/msm/gem: Switch over to obj->resv for locking
      drm/msm: Use correct drm_gem_object_put() in fail case
      drm/msm: Drop chatty trace
      drm/msm: Move update_fences()
      drm/msm: Add priv->mm_lock to protect active/inactive lists
      drm/msm: Document and rename preempt_lock
      drm/msm: Protect ring->submits with it's own lock
      drm/msm: Refcount submits
      drm/msm: Remove obj->gpu
      drm/msm: Drop struct_mutex from the retire path
      drm/msm: Drop struct_mutex in free_object() path
      drm/msm: Remove msm_gem_free_work
      drm/msm: Drop struct_mutex in madvise path
      drm/msm: Drop struct_mutex in shrinker path
      drm/msm/a6xx: Clear shadow on suspend
      drm/msm/a5xx: Clear shadow on suspend
      drm/msm: Protect obj->active_count under obj lock
      drm/msm/shrinker: We can vmap shrink active_list too
      drm/msm/shrinker: Only iterate dontneed objs
      msm/mdp5: Fix some kernel-doc warnings
      Merge remote-tracking branch
'arm64/for-next/iommu/io-pgtable-domain-attr' into msm-next-staging

Robin Murphy (1):
      drm/msm: Add missing stub definition

Sai Prakash Ranjan (2):
      iommu/io-pgtable: Add a domain attribute for pagetable configuration
      iommu/io-pgtable-arm: Add support to use system cache

Sharat Masetty (2):
      drm/msm: rearrange the gpu_rmw() function
      drm/msm/a6xx: Add support for using system cache(LLC)

Stephen Boyd (1):
      drm/msm/dpu: Add newline to printks

Tanmay Shah (1):
      drm/msm/dp: DisplayPort PHY compliance tests fixup

Tian Tao (3):
      drm/msm: Add missing struct identifier
      drm/msm: Remove redundant null check
      drm/msm/dp: remove duplicate include statement

Viresh Kumar (1):
      drm/msm: Unconditionally call dev_pm_opp_of_remove_table()

 .../devicetree/bindings/display/msm/gpu.txt        |   7 +
 drivers/gpu/drm/msm/Kconfig                        |   2 +-
 drivers/gpu/drm/msm/Makefile                       |   1 +
 drivers/gpu/drm/msm/adreno/a3xx_gpu.c              |  21 +-
 drivers/gpu/drm/msm/adreno/a4xx_gpu.c              |  20 +-
 drivers/gpu/drm/msm/adreno/a5xx_gpu.c              |  33 +-
 drivers/gpu/drm/msm/adreno/a5xx_preempt.c          |  18 +-
 drivers/gpu/drm/msm/adreno/a6xx_gmu.c              |   4 +-
 drivers/gpu/drm/msm/adreno/a6xx_gpu.c              | 132 ++++++-
 drivers/gpu/drm/msm/adreno/a6xx_gpu.h              |   5 +
 drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c        |   6 +-
 drivers/gpu/drm/msm/adreno/adreno_device.c         |   6 +
 drivers/gpu/drm/msm/adreno/adreno_gpu.c            |  49 +--
 drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c      |  26 +-
 drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c           |   4 +-
 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c        |  27 +-
 .../gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c   |   4 +-
 .../gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c   |  27 +-
 drivers/gpu/drm/msm/disp/dpu1/dpu_formats.c        |   2 +-
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_blk.c         |   2 +-
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c     | 154 +++++++-
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h     |  18 +
 .../gpu/drm/msm/disp/dpu1/dpu_hw_catalog_format.h  |  88 -----
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.c         |  56 +--
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.h         |  37 +-
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_dspp.c        |   3 +-
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_interrupts.c  |  11 +-
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_lm.c          |   2 +-
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_mdss.h        |   8 +
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_merge3d.c     |  94 +++++
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_merge3d.h     |  68 ++++
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_pingpong.h    |   1 +
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.c        |   4 +-
 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c            |  22 +-
 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h            |   1 -
 drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c          |  47 ++-
 drivers/gpu/drm/msm/disp/dpu1/dpu_plane.h          |   2 +
 drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c             |  34 +-
 drivers/gpu/drm/msm/disp/dpu1/dpu_rm.h             |   1 +
 drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.c           |   2 +-
 drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c          |   1 +
 drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c           |   8 +-
 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c          |   7 +-
 drivers/gpu/drm/msm/disp/mdp5/mdp5_ctl.c           |  11 +-
 drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c           |  15 +-
 drivers/gpu/drm/msm/disp/mdp_kms.h                 |   9 +-
 drivers/gpu/drm/msm/dp/dp_catalog.c                |  14 +-
 drivers/gpu/drm/msm/dp/dp_catalog.h                |   1 +
 drivers/gpu/drm/msm/dp/dp_ctrl.c                   | 434 ++++++++++++---------
 drivers/gpu/drm/msm/dp/dp_display.c                | 272 ++++++++-----
 drivers/gpu/drm/msm/dp/dp_link.c                   |  41 +-
 drivers/gpu/drm/msm/dp/dp_link.h                   |   1 +
 drivers/gpu/drm/msm/dp/dp_panel.c                  |   5 +
 drivers/gpu/drm/msm/dp/dp_power.c                  |  44 ++-
 drivers/gpu/drm/msm/dp/dp_power.h                  |   2 +-
 drivers/gpu/drm/msm/dp/dp_reg.h                    |   2 +
 drivers/gpu/drm/msm/dsi/dsi_host.c                 |  11 +-
 drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c         |  22 ++
 drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c          |  23 +-
 drivers/gpu/drm/msm/dsi/pll/dsi_pll_10nm.c         |   8 +
 drivers/gpu/drm/msm/dsi/pll/dsi_pll_28nm.c         |   5 +-
 drivers/gpu/drm/msm/dsi/pll/dsi_pll_7nm.c          |   8 +
 drivers/gpu/drm/msm/msm_atomic.c                   |  62 ++-
 drivers/gpu/drm/msm/msm_debugfs.c                  |  10 +-
 drivers/gpu/drm/msm/msm_drv.c                      |  34 +-
 drivers/gpu/drm/msm/msm_drv.h                      |  86 ++--
 drivers/gpu/drm/msm/msm_fbdev.c                    |   1 +
 drivers/gpu/drm/msm/msm_gem.c                      | 333 +++++++++-------
 drivers/gpu/drm/msm/msm_gem.h                      | 138 +++++--
 drivers/gpu/drm/msm/msm_gem_shrinker.c             | 123 +++---
 drivers/gpu/drm/msm/msm_gem_submit.c               | 157 +++++---
 drivers/gpu/drm/msm/msm_gpu.c                      | 167 +++++---
 drivers/gpu/drm/msm/msm_gpu.h                      |  25 +-
 drivers/gpu/drm/msm/msm_kms.h                      |  33 +-
 drivers/gpu/drm/msm/msm_rd.c                       |   2 +-
 drivers/gpu/drm/msm/msm_ringbuffer.c               |   3 +-
 drivers/gpu/drm/msm/msm_ringbuffer.h               |  13 +-
 drivers/iommu/io-pgtable-arm.c                     |  10 +-
 include/drm/drm_crtc.h                             |  10 +
 include/linux/io-pgtable.h                         |   8 +
 include/linux/iommu.h                              |   1 +
 81 files changed, 2092 insertions(+), 1117 deletions(-)
 delete mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog_format.h
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_merge3d.c
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_merge3d.h


More information about the dri-devel mailing list