[PATCH 00/10] DC Patches Jan 28, 2025

Wheeler, Daniel Daniel.Wheeler at amd.com
Mon Feb 3 14:21:16 UTC 2025


[Public]

Hi all,

This week this patchset was tested on 4 systems, two dGPU and two APU based, and tested across multiple display and connection types.

APU
        * Single Display eDP -> 1080p 60hz, 2560x1600 120hz, 1920x1200 165hz
        * Single Display DP (SST DSC) -> 4k144hz, 4k240hz
        * Multi display -> eDP + DP/HDMI/USB-C -> 1080p 60hz eDP + 4k 144hz, 4k 240hz (Includes USB-C to DP/HDMI adapters)
        * Thunderbolt -> LG Ultrafine 5k
        * MST DSC -> Cable Matters 101075 (DP to 3x DP) with 3x 4k60hz displays, HP Hook G2 with 2x 4k60hz displays
        * USB 4 -> HP Hook G4, Lenovo Thunderbolt Dock, both with 2x 4k60hz DP and 1x 4k60hz HDMI displays
        * SST PCON -> Club3D CAC-1085 + 1x 4k 144hz, FRL3, at a max resolution supported by the dongle of 4k 120hz YUV420 12bpc.
        * MST PCON -> 1x 4k 144hz, FRL3, at a max resolution supported by the adapter of 4k 120hz RGB 8bpc.

DGPU
        * Single Display DP (SST DSC) -> 4k144hz, 4k240hz
        * Multiple Display DP -> 4k240hz + 4k144hz
        * MST (Startech MST14DP123DP [DP to 3x DP] and 2x 4k 60hz displays)
        * MST DSC (with Cable Matters 101075 [DP to 3x DP] with 3x 4k60hz displays)

The testing is a mix of automated and manual tests. Manual testing includes (but is not limited to)
        * Changing display configurations and settings
        * Video/Audio playback
        * Benchmark testing
        * Suspend/Resume testing
        * Feature testing (Freesync, HDCP, etc.)

Automated testing includes (but is not limited to)
        * Script testing (scripts to automate some of the manual checks)
        * IGT testing

The testing is mainly tested on the following displays, but occasionally there are tests with other displays
        * Samsung G8 Neo 4k240hz
        * Samsung QN55QN95B 4k 120hz
        * Acer XV322QKKV 4k144hz
        * HP U27 4k Wireless 4k60hz
        * LG 27UD58B 4k60hz
        * LG 32UN650WA 4k60hz
        * LG Ultrafine 5k 5k60hz
        * AU Optronics B140HAN01.1 1080p 60hz eDP
        * AU Optronics B160UAN01.J 1920x1200 165hz eDP
        * AU Optronics B160QAN02.L 2560x1600 120hz eDP

The patchset consists of the amd-staging-drm-next branch (Head commit - 5bb7cf8ad45fe218929c0fd78ae8adef1616a5fa -> drm/amdkfd: only flush the validate MES contex) with new patches added on top of it.

Tested on Ubuntu 24.04.1, on Wayland and X11, using KDE Plasma and Gnome.

Tested-by: Daniel Wheeler <daniel.wheeler at amd.com>



Thank you,

Dan Wheeler
Sr. Technologist | AMD
SW Display
------------------------------------------------------------------------------------------------------------------
1 Commerce Valley Dr E, Thornhill, ON L3T 7X6
amd.com

-----Original Message-----
From: Hung, Alex <Alex.Hung at amd.com>
Sent: Tuesday, January 28, 2025 9:42 PM
To: amd-gfx at lists.freedesktop.org
Cc: Wentland, Harry <Harry.Wentland at amd.com>; Li, Sun peng (Leo) <Sunpeng.Li at amd.com>; Siqueira, Rodrigo <Rodrigo.Siqueira at amd.com>; Pillai, Aurabindo <Aurabindo.Pillai at amd.com>; Li, Roman <Roman.Li at amd.com>; Lin, Wayne <Wayne.Lin at amd.com>; Chung, ChiaHsuan (Tom) <ChiaHsuan.Chung at amd.com>; Zuo, Jerry <Jerry.Zuo at amd.com>; Mohamed, Zaeem <Zaeem.Mohamed at amd.com>; Chiu, Solomon <Solomon.Chiu at amd.com>; Wheeler, Daniel <Daniel.Wheeler at amd.com>; Hung, Alex <Alex.Hung at amd.com>
Subject: [PATCH 00/10] DC Patches Jan 28, 2025

This DC patchset brings improvements in multiple areas. In summary, we highlight:

* Fixes on DCN3.2 and DCN4
* Code factoring for SPL module
* Various bug fixes

Cc: Daniel Wheeler <daniel.wheeler at amd.com>

Ahmed, Muhammad (1):
  drm/amd/display: Enable odm 4:1 when debug key is set

Alex Hung (1):
  drm/amd/display: Fix out-of-bound accesses

Aric Cyr (1):
  drm/amd/display: Request HW cursor on DCN3.2 with SubVP

Brandon Syu (1):
  Revert "drm/amd/display: Exit idle optimizations before attempt to
    access PHY"

Dillon Varone (1):
  drm/amd/display: Fixes for mcache programming in DML21

Dmytro (1):
  drm/amd/display: Allow reuse of of DCN4x code

Lo-an Chen (1):
  drm/amd/display: Fix seamless boot sequence

Martin Tsai (1):
  drm/amd/display: Support multiple options during psr entry.

Samson Tam (1):
  drm/amd/display: Move SPL to a new path

Taimur Hassan (1):
  drm/amd/display: 3.2.319

 drivers/gpu/drm/amd/display/dc/Makefile       |  2 +-
 drivers/gpu/drm/amd/display/dc/core/dc.c      |  2 +-
 drivers/gpu/drm/amd/display/dc/dc.h           |  4 +-
 .../gpu/drm/amd/display/dc/dc_spl_translate.c |  1 -
 drivers/gpu/drm/amd/display/dc/dc_types.h     |  7 ++++
 .../amd/display/dc/dccg/dcn401/dcn401_dccg.c  | 24 +++++------  .../amd/display/dc/dccg/dcn401/dcn401_dccg.h  | 40 ++++++++++++++++++-  drivers/gpu/drm/amd/display/dc/dce/dmub_psr.c |  4 ++
 .../dc/dio/dcn30/dcn30_dio_stream_encoder.c   |  2 +-
 .../dc/dio/dcn30/dcn30_dio_stream_encoder.h   |  6 ++-
 .../dc/dio/dcn401/dcn401_dio_stream_encoder.c | 12 +++---  .../dc/dio/dcn401/dcn401_dio_stream_encoder.h | 18 +++++++++
 .../amd/display/dc/dml/dcn314/dcn314_fpu.c    |  3 ++
 .../drm/amd/display/dc/dml/dcn32/dcn32_fpu.c  |  1 +  .../dc/dml2/dml21/dml21_translation_helper.c  |  4 +-
 .../amd/display/dc/dml2/dml21/dml21_utils.c   |  1 -
 .../amd/display/dc/dml2/dml21/dml21_wrapper.c | 14 +++++++  .../display/dc/dml2/dml21/inc/dml_top_types.h |  1 +  .../dml2/dml21/src/dml2_core/dml2_core_dcn4.c | 30 +++++++++++++-
 .../src/dml2_core/dml2_core_dcn4_calcs.c      |  3 ++
 .../dml21/src/dml2_pmo/dml2_pmo_dcn4_fams2.c  | 21 ++++++++++  .../dml2/dml21/src/dml2_top/dml2_top_soc15.c  |  8 ----  .../display/dc/dml2/dml2_translation_helper.c |  6 +--
 .../drm/amd/display/dc/dml2/dml2_wrapper.c    |  5 ++-
 .../drm/amd/display/dc/dpp/dcn20/dcn20_dpp.h  |  1 -  .../drm/amd/display/dc/dpp/dcn32/dcn32_dpp.h  |  1 -
 .../amd/display/dc/dsc/dcn401/dcn401_dsc.c    | 19 +++------
 .../amd/display/dc/dsc/dcn401/dcn401_dsc.h    |  7 ++++
 .../dc/hpo/dcn32/dcn32_hpo_dp_link_encoder.c  |  2 +-  .../dc/hpo/dcn32/dcn32_hpo_dp_link_encoder.h  |  1 +
 .../display/dc/hubbub/dcn30/dcn30_hubbub.c    |  3 +-
 .../display/dc/hubbub/dcn31/dcn31_hubbub.c    |  3 +-
 .../display/dc/hubbub/dcn32/dcn32_hubbub.c    |  3 +-
 .../display/dc/hubbub/dcn35/dcn35_hubbub.c    | 17 ++++----
 .../display/dc/hubbub/dcn35/dcn35_hubbub.h    | 16 ++++++++
 .../amd/display/dc/hubp/dcn20/dcn20_hubp.h    |  5 +--
 .../amd/display/dc/hubp/dcn30/dcn30_hubp.c    |  2 +
 .../amd/display/dc/hubp/dcn32/dcn32_hubp.c    |  2 +
 .../amd/display/dc/hubp/dcn35/dcn35_hubp.c    |  2 +-
 .../amd/display/dc/hubp/dcn35/dcn35_hubp.h    |  1 +
 .../drm/amd/display/dc/hwss/dce/dce_hwseq.h   |  8 ++++
 .../amd/display/dc/hwss/dce110/dce110_hwseq.c |  5 ---
 .../amd/display/dc/hwss/dcn20/dcn20_hwseq.c   |  3 +-
 .../amd/display/dc/hwss/dcn32/dcn32_hwseq.c   |  3 +-
 .../amd/display/dc/hwss/dcn35/dcn35_hwseq.c   |  3 +-
 .../gpu/drm/amd/display/dc/inc/core_types.h   |  2 +-
 .../gpu/drm/amd/display/dc/inc/hw/transform.h |  2 +-  drivers/gpu/drm/amd/display/dc/inc/resource.h |  1 -  .../gpu/drm/amd/display/dc/mmhubbub/Makefile  |  2 +-
 drivers/gpu/drm/amd/display/dc/mpc/Makefile   |  2 +-
 .../amd/display/dc/mpc/dcn401/dcn401_mpc.c    |  4 +-
 .../amd/display/dc/mpc/dcn401/dcn401_mpc.h    |  5 ++-
 .../amd/display/dc/optc/dcn10/dcn10_optc.h    | 14 +++++--
 .../amd/display/dc/optc/dcn401/dcn401_optc.c  | 22 +++++-----  .../amd/display/dc/optc/dcn401/dcn401_optc.h  | 19 +++++++++
 .../dc/resource/dcn401/dcn401_resource.c      |  4 +-
 .../drm/amd/display/dc/{spl => sspl}/Makefile |  2 +-  .../drm/amd/display/dc/{spl => sspl}/dc_spl.c |  0  .../drm/amd/display/dc/{spl => sspl}/dc_spl.h |  0  .../display/dc/{spl => sspl}/dc_spl_filters.c |  0  .../display/dc/{spl => sspl}/dc_spl_filters.h |  0  .../dc/{spl => sspl}/dc_spl_isharp_filters.c  |  0  .../dc/{spl => sspl}/dc_spl_isharp_filters.h  |  0
 .../{spl => sspl}/dc_spl_scl_easf_filters.c   |  0
 .../{spl => sspl}/dc_spl_scl_easf_filters.h   |  0
 .../dc/{spl => sspl}/dc_spl_scl_filters.c     |  0
 .../dc/{spl => sspl}/dc_spl_scl_filters.h     |  0
 .../display/dc/{spl => sspl}/dc_spl_types.h   |  0
 .../dc/{spl => sspl}/spl_custom_float.c       |  0
 .../dc/{spl => sspl}/spl_custom_float.h       |  0
 .../amd/display/dc/{spl => sspl}/spl_debug.h  |  0  .../display/dc/{spl => sspl}/spl_fixpt31_32.c |  0  .../display/dc/{spl => sspl}/spl_fixpt31_32.h |  0
 .../display/dc/{spl => sspl}/spl_os_types.h   |  0
 .../gpu/drm/amd/display/dmub/inc/dmub_cmd.h   |  6 +++
 75 files changed, 304 insertions(+), 107 deletions(-)  rename drivers/gpu/drm/amd/display/dc/{spl => sspl}/Makefile (96%)  rename drivers/gpu/drm/amd/display/dc/{spl => sspl}/dc_spl.c (100%)  rename drivers/gpu/drm/amd/display/dc/{spl => sspl}/dc_spl.h (100%)  rename drivers/gpu/drm/amd/display/dc/{spl => sspl}/dc_spl_filters.c (100%)  rename drivers/gpu/drm/amd/display/dc/{spl => sspl}/dc_spl_filters.h (100%)  rename drivers/gpu/drm/amd/display/dc/{spl => sspl}/dc_spl_isharp_filters.c (100%)  rename drivers/gpu/drm/amd/display/dc/{spl => sspl}/dc_spl_isharp_filters.h (100%)  rename drivers/gpu/drm/amd/display/dc/{spl => sspl}/dc_spl_scl_easf_filters.c (100%)  rename drivers/gpu/drm/amd/display/dc/{spl => sspl}/dc_spl_scl_easf_filters.h (100%)  rename drivers/gpu/drm/amd/display/dc/{spl => sspl}/dc_spl_scl_filters.c (100%)  rename drivers/gpu/drm/amd/display/dc/{spl => sspl}/dc_spl_scl_filters.h (100%)  rename drivers/gpu/drm/amd/display/dc/{spl => sspl}/dc_spl_types.h (100%)  rename drivers/gpu/drm/amd/display/dc/{spl => sspl}/spl_custom_float.c (100%)  rename drivers/gpu/drm/amd/display/dc/{spl => sspl}/spl_custom_float.h (100%)  rename drivers/gpu/drm/amd/display/dc/{spl => sspl}/spl_debug.h (100%)  rename drivers/gpu/drm/amd/display/dc/{spl => sspl}/spl_fixpt31_32.c (100%)  rename drivers/gpu/drm/amd/display/dc/{spl => sspl}/spl_fixpt31_32.h (100%)  rename drivers/gpu/drm/amd/display/dc/{spl => sspl}/spl_os_types.h (100%)

--
2.43.0



More information about the amd-gfx mailing list