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