Hi Dave, Simona, Pull for v6.20, as described below.
Includes display support for Kaanapali (Snapdragon 8 Elite Gen 5), Gamma support, UBWC updates for a840, and various fixes. And also a225 support for those who like very old hardware :-) The following changes since commit 8f0b4cce4481fb22653697cced8d0d04027cb1e8: Linux 6.19-rc1 (2025-12-14 16:05:07 +1200) are available in the Git repository at: https://gitlab.freedesktop.org/drm/msm.git tags/drm-msm-next-2026-01-23 for you to fetch changes up to 50c4a49f7292b33b454ea1a16c4f77d6965405dc: drm/msm/a8xx: Add UBWC v6 support (2026-01-22 01:23:22 +0200) ---------------------------------------------------------------- Changes for v6.20 GPU: - Document a612/RGMU dt bindings - UBWC 6.0 support (for A840 / Kaanapali) - a225 support - Fixes DPU: - Switched to use virtual planes by default - Fixed DSI CMD panels on DPU 3.x - Rewrote format handling to remove intermediate representation - Fixed watchdog on DPU 8.x+ - Fixed TE / Vsync source setting on DPU 8.x+ - Added 3D_Mux on SC7280 - Kaanapali platform support - Fixed UBWC register programming - Made RM reserve DSPP-enabled mixers for CRTCs with LMs. - Gamma correction support DP: - Enabled support for eDP 1.4+ link rate tables - Fixed MDSS1 DP indices on SA8775P, making them to work - Fixed msm_dp_ctrl_config_msa() to work with LLVM 20 DSI: - Documented QCS8300 as compatible with SA8775P - Kaanapali platform support DSI PHY: - switched to divider_determine_rate() MDP5: - Dropped support for MSM8998, SDM660 and SDM630 (switched over to DPU) MDSS: - Kaanapali platform support - Fixed UBWC register programming ---------------------------------------------------------------- Abel Vesa (2): Revert "drm/msm/dpu: support plane splitting in quad-pipe case" Revert "drm/msm/dpu: Enable quad-pipe for DSC and dual-DSI case" Akhil P Oommen (4): drm/msm/a6xx: Retrieve gmu core range by index dt-bindings: display/msm: gpu: Simplify conditional schema logic dt-bindings: display/msm: gpu: Document A612 GPU drm/msm/a8xx: Add UBWC v6 support Alok Tiwari (1): drm/msm/a6xx: move preempt_prepare_postamble after error check Anna Maniscalco (2): drm/msm: add PERFCTR_CNTL to ifpc_reglist drm/msm: Fix a7xx per pipe register programming Ayushi Makhija (3): dt-bindings: display: msm-dsi-phy-7nm: document the QCS8300 DSI PHY dt-bindings: msm: dsi-controller-main: document the QCS8300 DSI CTRL dt-bindings: display: msm: document DSI controller and phy on QCS8300 Brian Masney (1): drm/msm/dsi_phy_14nm: convert from divider_round_rate() to divider_determine_rate() Dale Whinham (1): drm/msm/dp: Enable support for eDP v1.4+ link rates table Dan Carpenter (1): drm/msm: remove some dead code Dmitry Baryshkov (26): drm/msm/dpu: fix WD timer handling on DPU 8.x drm/msm/disp: set num_planes to 1 for interleaved YUV formats drm/msm/disp: set num_planes and fetch_mode in INTERLEAVED_RGB_FMT drm/msm/disp: set num_planes, fetch_mode and tile_height in INTERLEAVED_RGB_FMT_TILED drm/msm/disp: simplify RGB{,A,X} formats definitions drm/msm/disp: simplify tiled RGB{,A,X} formats definitions drm/msm/disp: pull in common YUV format parameters drm/msm/disp: pull in common tiled YUV format parameters drm/msm/disp: drop PSEUDO_YUV_FMT_LOOSE_TILED drm/msm/dpu: simplify _dpu_format_populate_plane_sizes_* drm/msm/dpu: drop redundant num_planes assignment in _dpu_format_populate_plane_sizes*() drm/msm/dpu: rewrite _dpu_format_populate_plane_sizes_ubwc() drm/msm/dpu: use standard functions in _dpu_format_populate_plane_sizes_ubwc() drm/msm/dpu: drop intr_start from DPU 3.x catalog files drm/msm/dpu: fix CMD panels on DPU 1.x - 3.x drm/msm/mdp5: drop support for MSM8998, SDM630 and SDM660 drm/msm/a2xx: fix pixel shader start on A225 drm/msm/a2xx: add A225 entry to catalog Merge tag 'v6.19-rc1' into msm-next drm/msm/mdss: correct HBB programmed on UBWC 5.x and 6.x devices drm/msm/dpu: offset HBB values written to DPU by -13 drm/msm/dpu: program correct register for UBWC config on DPU 8.x+ drm/msm/dpu: fix SSPP_UBWC_STATIC_CTRL programming on UBWC 5.x+ drm/msm/dpu: correct error messages in RM drm/msm/dpu: try reserving the DSPP-less LM first drm/ci: ignore Gamma test failures on Qualcomm SC7180 Evan Lambert (1): drm/msm: Replace unsafe snprintf usage with scnprintf Federico Amedeo Izzo (1): drm/msm/dpu: Add DSPP GC driver to provide GAMMA_LUT DRM property Jie Zhang (1): dt-bindings: display/msm/rgmu: Document A612 RGMU Johan Hovold (1): drm/msm/a6xx: fix bogus hwcg register updates Konrad Dybcio (1): dt-bindings: display/msm/gpu: Straighten out reg-names on A619L/610/702 Mahadevan P (1): drm/msm/disp/dpu: add merge3d support for sc7280 Mani Chandana Ballary Kuntumalla (1): drm/msm/dp: Update msm_dp_controller IDs for sa8775p Nathan Chancellor (1): drm/msm/dp: Avoid division by zero in msm_dp_ctrl_config_msa() Neil Armstrong (1): drm/msm: adreno: fix deferencing ifpc_reglist when not declared Nikolay Kuratov (1): drm/msm/dpu: Add missing NULL pointer check for pingpong interface Randy Dunlap (19): drm/msm/disp: mdp_format: fix all kernel-doc warnings drm/msm/dp: fix all kernel-doc warnings drm/msm/dpu: dpu_hw_cdm.h: fix all kernel-doc warnings drm/msm/dpu: dpu_hw_ctl.h: fix all kernel-doc warnings drm/msm/dpu: dpu_hw_cwb.h: fix all kernel-doc warnings drm/msm/dpu: dpu_hw_dsc.h: fix all kernel-doc warnings drm/msm/dpu: dpu_hw_dspp.h: fix all kernel-doc warnings drm/msm/dpu: dpu_hw_intf.h: fix all kernel-doc warnings drm/msm/dpu: dpu_hw_lm.h: fix all kernel-doc warnings drm/msm/dpu: dpu_hw_merge3d.h: fix all kernel-doc warnings drm/msm/dpu: dpu_hw_pingpong.h: fix all kernel-doc warnings drm/msm/dpu: dpu_hw_sspp.h: fix all kernel-doc warnings drm/msm/dpu: dpu_hw_top.h: fix all kernel-doc warnings drm/msm/dpu: dpu_hw_vbif.h: fix all kernel-doc warnings drm/msm/dpu: dpu_hw_wb.h: fix all kernel-doc warnings drm/msm: msm_fence.h: fix all kernel-doc warnings drm/msm: msm_gem_vma.c: fix all kernel-doc warnings drm/msm: msm_gpu.h: fix all kernel-doc warnings drm/msm: msm_iommu.c: fix all kernel-doc warnings Rob Clark (2): drm/msm: Fix x2-85 TPL1_DBG_ECO_CNTL1 drm/msm: Fix GMEM_BASE for gen8 Swaraj Gaikwad (1): drm/msm: Replace custom dumb_map_offset with generic helper Teguh Sobirin (1): drm/msm/dpu: Set vsync source irrespective of mdp top support Yuanjie Yang (12): dt-bindings: display/msm: qcom, kaanapali-dpu: Add Kaanapali dt-bindings: display/msm: dsi-phy-7nm: Add Kaanapali DSI PHY dt-bindings: display/msm: dsi-controller-main: Add Kaanapali dt-bindings: display/msm: qcom, kaanapali-mdss: Add Kaanapali drm/msm/mdss: Add support for Kaanapali drm/msm/dsi/phy: Add support for Kaanapali drm/msm/dsi: Add support for Kaanapali drm/msm/dpu: Add interrupt registers for DPU 13.0.0 drm/msm/dpu: Refactor SSPP to compatible DPU 13.0.0 drm/msm/dpu: Add Kaanapali SSPP sub-block support drm/msm/dpu: Add Kaanapali WB support drm/msm/dpu: Add support for Kaanapali DPU .../bindings/display/msm/dsi-controller-main.yaml | 7 + .../bindings/display/msm/dsi-phy-7nm.yaml | 31 +- .../devicetree/bindings/display/msm/gpu.yaml | 85 +- .../bindings/display/msm/qcom,adreno-rgmu.yaml | 126 +++ .../bindings/display/msm/qcom,kaanapali-mdss.yaml | 297 +++++ .../bindings/display/msm/qcom,qcs8300-mdss.yaml | 102 +- .../bindings/display/msm/qcom,sm8650-dpu.yaml | 1 + MAINTAINERS | 1 + .../xfails/msm-sc7180-trogdor-kingoftown-fails.txt | 4 + .../msm-sc7180-trogdor-lazor-limozeen-fails.txt | 4 + drivers/gpu/drm/msm/Makefile | 1 + drivers/gpu/drm/msm/adreno/a2xx_catalog.c | 12 + drivers/gpu/drm/msm/adreno/a2xx_gpu.c | 5 +- drivers/gpu/drm/msm/adreno/a6xx_catalog.c | 17 +- drivers/gpu/drm/msm/adreno/a6xx_gmu.c | 14 +- drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 52 +- drivers/gpu/drm/msm/adreno/a6xx_gpu.h | 1 + drivers/gpu/drm/msm/adreno/a6xx_preempt.c | 4 +- drivers/gpu/drm/msm/adreno/a8xx_gpu.c | 4 + drivers/gpu/drm/msm/adreno/adreno_gpu.c | 3 +- drivers/gpu/drm/msm/adreno/adreno_gpu.h | 13 + .../drm/msm/disp/dpu1/catalog/dpu_13_0_kaanapali.h | 492 +++++++++ .../drm/msm/disp/dpu1/catalog/dpu_3_0_msm8998.h | 5 - .../gpu/drm/msm/disp/dpu1/catalog/dpu_3_2_sdm660.h | 5 - .../gpu/drm/msm/disp/dpu1/catalog/dpu_3_3_sdm630.h | 5 - .../gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h | 14 +- drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c | 124 ++- drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.h | 8 +- drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 47 +- drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys.h | 2 +- .../gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c | 7 +- .../gpu/drm/msm/disp/dpu1/dpu_encoder_phys_wb.c | 10 +- drivers/gpu/drm/msm/disp/dpu1/dpu_formats.c | 174 ++- drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c | 45 + drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h | 21 +- drivers/gpu/drm/msm/disp/dpu1/dpu_hw_cdm.h | 4 +- drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.c | 3 + drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.h | 84 +- drivers/gpu/drm/msm/disp/dpu1/dpu_hw_cwb.h | 3 +- drivers/gpu/drm/msm/disp/dpu1/dpu_hw_dsc.h | 10 +- drivers/gpu/drm/msm/disp/dpu1/dpu_hw_dspp.c | 54 + drivers/gpu/drm/msm/disp/dpu1/dpu_hw_dspp.h | 32 +- drivers/gpu/drm/msm/disp/dpu1/dpu_hw_interrupts.c | 89 +- drivers/gpu/drm/msm/disp/dpu1/dpu_hw_intf.c | 49 +- drivers/gpu/drm/msm/disp/dpu1/dpu_hw_intf.h | 23 +- drivers/gpu/drm/msm/disp/dpu1/dpu_hw_lm.h | 23 +- drivers/gpu/drm/msm/disp/dpu1/dpu_hw_mdss.h | 2 +- drivers/gpu/drm/msm/disp/dpu1/dpu_hw_merge3d.h | 1 - drivers/gpu/drm/msm/disp/dpu1/dpu_hw_pingpong.h | 20 +- drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.c | 180 +-- drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.h | 103 +- drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp_v13.c | 321 ++++++ drivers/gpu/drm/msm/disp/dpu1/dpu_hw_top.c | 7 - drivers/gpu/drm/msm/disp/dpu1/dpu_hw_top.h | 21 +- drivers/gpu/drm/msm/disp/dpu1/dpu_hw_util.c | 18 + drivers/gpu/drm/msm/disp/dpu1/dpu_hw_util.h | 10 + drivers/gpu/drm/msm/disp/dpu1/dpu_hw_vbif.h | 16 +- drivers/gpu/drm/msm/disp/dpu1/dpu_hw_wb.c | 17 +- drivers/gpu/drm/msm/disp/dpu1/dpu_hw_wb.h | 4 +- drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 1 + drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c | 137 +-- drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c | 72 +- drivers/gpu/drm/msm/disp/dpu1/msm_media_info.h | 1155 -------------------- drivers/gpu/drm/msm/disp/mdp5/mdp5_cfg.c | 314 ------ drivers/gpu/drm/msm/disp/mdp_format.c | 614 ++++++----- drivers/gpu/drm/msm/disp/mdp_format.h | 6 +- drivers/gpu/drm/msm/dp/dp_ctrl.c | 80 +- drivers/gpu/drm/msm/dp/dp_debug.h | 2 +- drivers/gpu/drm/msm/dp/dp_display.c | 4 +- drivers/gpu/drm/msm/dp/dp_drm.c | 1 + drivers/gpu/drm/msm/dp/dp_link.h | 12 +- drivers/gpu/drm/msm/dp/dp_panel.c | 93 +- drivers/gpu/drm/msm/dp/dp_panel.h | 8 +- drivers/gpu/drm/msm/dsi/dsi_cfg.c | 13 + drivers/gpu/drm/msm/dsi/dsi_cfg.h | 1 + drivers/gpu/drm/msm/dsi/phy/dsi_phy.c | 2 + drivers/gpu/drm/msm/dsi/phy/dsi_phy.h | 1 + drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c | 7 +- drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c | 23 + drivers/gpu/drm/msm/msm_drv.c | 24 +- drivers/gpu/drm/msm/msm_fence.h | 36 +- drivers/gpu/drm/msm/msm_gem.c | 49 - drivers/gpu/drm/msm/msm_gem.h | 3 - drivers/gpu/drm/msm/msm_gem_vma.c | 13 +- drivers/gpu/drm/msm/msm_gpu.h | 68 +- drivers/gpu/drm/msm/msm_iommu.c | 4 +- drivers/gpu/drm/msm/msm_mdss.c | 12 +- drivers/gpu/drm/msm/msm_perf.c | 10 +- 88 files changed, 3051 insertions(+), 2551 deletions(-) create mode 100644 Documentation/devicetree/bindings/display/msm/qcom,adreno-rgmu.yaml create mode 100644 Documentation/devicetree/bindings/display/msm/qcom,kaanapali-mdss.yaml create mode 100644 drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_13_0_kaanapali.h create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp_v13.c delete mode 100644 drivers/gpu/drm/msm/disp/dpu1/msm_media_info.h
