[PATCH 00/50] DC Patches July 10th, 2024

Fangzhi Zuo Jerry.Zuo at amd.com
Wed Jul 10 19:36:17 UTC 2024


This DC patchset brings improvements in multiple areas.

* FW Release 0.0.225.0
* DML2 fixes
* Re-enable panel replay feature
* Allow display DCC for DCN401
* Refactor DWB, OPP, MPC, MMHUBBUB
* Fix dscclk Programming issue on DCN401

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

Alex Hung (11):
  drm/amd/display: Revert "Check HDCP returned status"
  drm/amd/display: Initialize denominators' default to 1
  drm/amd/display: Check null-initialized variables
  drm/amd/display: Check phantom_stream before it is used
  drm/amd/display: Pass non-null to
    dcn20_validate_apply_pipe_split_flags
  drm/amd/display: Check null pointers before using them
  drm/amd/display: Check stream before comparing them
  drm/amd/display: Check link_res->hpo_dp_link_enc before using it
  drm/amd/display: Check null pointers before used
  drm/amd/display: Check null pointers before multiple uses
  drm/amd/display: Increase array size of dummy_boolean

Alvin Lee (5):
  drm/amd/display: Disable HBR audio for DP2 for certain ASICs
  drm/amd/display: Don't consider cursor for no plane case in DML1
  drm/amd/display: When resync fifo ensure to use correct pipe ctx
  drm/amd/display: Disable subvp based on HW cursor requirement
  drm/amd/display: Calculate ODM width using odm slice rect, not recout

Aric Cyr (1):
  drm/amd/display: 3.2.292

Aurabindo Pillai (3):
  drm/amd/display: free bo used for dmub bounding box
  drm/amd/display: Allow display DCC for DCN401
  drm/amd/display: improve logic for addition of modifers

Chaitanya Dhere (1):
  drm/amd/display: DML2.1 resynchronization

Chris Park (1):
  drm/amd/display: Deallocate DML memory if allocation fails

Daniel Sa (1):
  drm/amd/display: Set Cursor Matrix to bypass instead of Input Plane

Dillon Varone (3):
  drm/amd/display: Add blanked streams override to DML2.1
  drm/amd/display: Add P-State Keepout to dcn401 Global Sync
  drm/amd/display: Export additional FAMS2 global configuration options
    from DML

Duncan Ma (1):
  drm/amd/display: Add visual confirm for Idle State

Fudongwang (1):
  drm/amd/display: add dmcub support check

Gabe Teeger (1):
  drm/amd/display: Fix DP-DVI dongle hotplug

Jingwen Zhu (1):
  drm/amd/display: avoid disable otg when dig was disabled

Joshua Aberback (1):
  drm/amd/display: Remove unnecessary DSC power gating for DCN401

Mounika Adhuri (1):
  drm/amd/display: Refactoring MPC

Mudimela (1):
  drm/amd/display: Refactoring DWB related files from dcn30 Files

Nevenko Stupar (1):
  drm/amd/display: Issue with 3 or more mcaches per surface

Relja Vojvodic (1):
  drm/amd/display: Implement bias and scale pre scl

Revalla Hari Krishna (2):
  drm/amd/display: Refactoring OPP
  drm/amd/display: Refactoring MMHUBBUB

Rodrigo Siqueira (1):
  drm/amd/display: Remove unused dml2_core_ip_params struct

Roman Li (1):
  drm/amd/display: Replace assert with error message in
    dp_retrieve_lttpr_cap()

Ryan Seto (1):
  drm/amd/display: Added logging for automated DPM testing

Samson Tam (2):
  drm/amd/display: quality improvements for EASF and ISHARP
  drm/amd/display: remove dc dependencies from SPL library

Sridevi Arvindekar (1):
  drm/amd/display: Add option to allow transition when odm is forced

Sung Joon Kim (2):
  drm/amd/display: Do 1-to-1 mapping between OPP and DSC in DML2
  drm/amd/display: Check stream pointer is initialized before accessing

Tom Chung (3):
  drm/amd/display: Disable replay if VRR capability is false
  drm/amd/display: Fix VRR cannot enable
  drm/amd/display: Re-enable panel replay feature

Wenjing Liu (2):
  drm/amd/display: fix dscclk programming sequence on DCN401
  drm/amd/display: apply vmin optimization even if it doesn't reach vmin
    level

 .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c |   74 +-
 .../amd/display/amdgpu_dm/amdgpu_dm_helpers.c |   12 +
 .../amd/display/amdgpu_dm/amdgpu_dm_plane.c   |   31 +-
 .../drm/amd/display/dc/basics/fixpt31_32.c    |   27 +
 .../dc/clk_mgr/dce110/dce110_clk_mgr.c        |    2 +-
 .../display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c  |   18 +-
 .../dc/clk_mgr/dcn401/dcn401_clk_mgr.c        |  250 ++-
 drivers/gpu/drm/amd/display/dc/core/dc.c      |   22 +-
 .../drm/amd/display/dc/core/dc_hw_sequencer.c |  102 +-
 .../gpu/drm/amd/display/dc/core/dc_resource.c |    6 +-
 .../gpu/drm/amd/display/dc/core/dc_state.c    |   14 +-
 drivers/gpu/drm/amd/display/dc/dc.h           |    6 +-
 drivers/gpu/drm/amd/display/dc/dc_dmub_srv.c  |   34 +-
 drivers/gpu/drm/amd/display/dc/dc_hw_types.h  |    7 -
 .../gpu/drm/amd/display/dc/dc_spl_translate.c |   48 +-
 .../gpu/drm/amd/display/dc/dc_spl_translate.h |    1 +
 drivers/gpu/drm/amd/display/dc/dc_stream.h    |    9 +
 .../amd/display/dc/dccg/dcn20/dcn20_dccg.h    |    6 +-
 .../amd/display/dc/dccg/dcn401/dcn401_dccg.c  |   32 +-
 .../amd/display/dc/dccg/dcn401/dcn401_dccg.h  |    4 -
 .../gpu/drm/amd/display/dc/dce/dce_audio.c    |    6 +
 .../gpu/drm/amd/display/dc/dce/dce_audio.h    |    1 +
 drivers/gpu/drm/amd/display/dc/dce/dmub_psr.c |    1 +
 .../gpu/drm/amd/display/dc/dce/dmub_replay.c  |    2 +
 .../dc/dce110/dce110_timing_generator.c       |    1 +
 .../dc/dce110/dce110_timing_generator.h       |    1 +
 .../dc/dce110/dce110_timing_generator_v.c     |    1 +
 .../dc/dce120/dce120_timing_generator.c       |    1 +
 .../display/dc/dce60/dce60_timing_generator.c |    3 +-
 .../display/dc/dce80/dce80_timing_generator.c |    3 +-
 drivers/gpu/drm/amd/display/dc/dcn10/Makefile |    2 -
 drivers/gpu/drm/amd/display/dc/dcn20/Makefile |    3 +-
 drivers/gpu/drm/amd/display/dc/dcn30/Makefile |    4 +-
 .../amd/display/dc/dcn30/dcn30_cm_common.c    |    2 +-
 .../dc/dio/dcn35/dcn35_dio_stream_encoder.c   |    9 +
 drivers/gpu/drm/amd/display/dc/dm_helpers.h   |    3 +
 .../drm/amd/display/dc/dml/dcn20/dcn20_fpu.c  |    2 +
 .../dc/dml/dcn20/display_rq_dlg_calc_20.c     |    2 +-
 .../drm/amd/display/dc/dml/dcn32/dcn32_fpu.c  |    7 +-
 .../amd/display/dc/dml/display_mode_structs.h |    1 +
 .../display/dc/dml/dml1_display_rq_dlg_calc.c |    2 +-
 drivers/gpu/drm/amd/display/dc/dml2/Makefile  |    3 -
 .../dc/dml2/dml21/dml21_translation_helper.c  |   45 +-
 .../dc/dml2/dml21/dml21_translation_helper.h  |    1 +
 .../amd/display/dc/dml2/dml21/dml21_utils.c   |  145 +-
 .../dml21/inc/bounding_boxes/dcn4_soc_bb.h    |   13 +-
 .../amd/display/dc/dml2/dml21/inc/dml_top.h   |    1 -
 .../dml2/dml21/inc/dml_top_dchub_registers.h  |    1 -
 .../dml21/inc/dml_top_display_cfg_types.h     |    2 +-
 .../dc/dml2/dml21/inc/dml_top_policy_types.h  |    1 -
 .../dml21/inc/dml_top_soc_parameter_types.h   |    6 +-
 .../display/dc/dml2/dml21/inc/dml_top_types.h |    2 +
 .../dml2/dml21/src/dml2_core/dml2_core_dcn4.c |  124 +-
 .../dml2/dml21/src/dml2_core/dml2_core_dcn4.h |    1 -
 .../src/dml2_core/dml2_core_dcn4_calcs.c      |  189 +-
 .../src/dml2_core/dml2_core_dcn4_calcs.h      |    2 +-
 .../dml21/src/dml2_core/dml2_core_factory.c   |    1 -
 .../dml21/src/dml2_core/dml2_core_factory.h   |    1 -
 .../dml21/src/dml2_core/dml2_core_shared.c    |   44 +-
 .../dml21/src/dml2_core/dml2_core_shared.h    |    1 -
 .../src/dml2_core/dml2_core_shared_types.h    |    8 +-
 .../dml2/dml21/src/dml2_dpmm/dml2_dpmm_dcn4.c |    3 +-
 .../dml2/dml21/src/dml2_dpmm/dml2_dpmm_dcn4.h |    1 -
 .../dml21/src/dml2_dpmm/dml2_dpmm_factory.c   |    1 -
 .../dml21/src/dml2_dpmm/dml2_dpmm_factory.h   |    1 -
 .../dml2/dml21/src/dml2_mcg/dml2_mcg_dcn4.c   |    1 -
 .../dml2/dml21/src/dml2_mcg/dml2_mcg_dcn4.h   |    1 -
 .../dml21/src/dml2_mcg/dml2_mcg_factory.c     |    1 -
 .../dml21/src/dml2_mcg/dml2_mcg_factory.h     |    1 -
 .../dml2/dml21/src/dml2_pmo/dml2_pmo_dcn3.c   |    1 -
 .../dml2/dml21/src/dml2_pmo/dml2_pmo_dcn3.h   |    1 -
 .../dml2/dml21/src/dml2_pmo/dml2_pmo_dcn4.c   | 1250 ------------
 .../dml2/dml21/src/dml2_pmo/dml2_pmo_dcn4.h   |   25 -
 .../dml21/src/dml2_pmo/dml2_pmo_dcn4_fams2.c  |  553 +++---
 .../dml21/src/dml2_pmo/dml2_pmo_dcn4_fams2.h  |    1 -
 .../dml21/src/dml2_pmo/dml2_pmo_factory.c     |    6 +-
 .../dml21/src/dml2_pmo/dml2_pmo_factory.h     |    1 -
 .../lib_float_math.c                          |    1 -
 .../lib_float_math.h                          |    1 -
 .../src/dml2_top/dml2_top_optimization.c      |    1 -
 .../src/dml2_top/dml2_top_optimization.h      |    1 -
 .../dc/dml2/dml21/src/dml2_top/dml_top.c      |   17 +-
 .../dml2/dml21/src/dml2_top/dml_top_mcache.c  |   23 +-
 .../dml2/dml21/src/dml2_top/dml_top_mcache.h  |    1 -
 .../dc/dml2/dml21/src/inc/dml2_debug.c        |    1 -
 .../dc/dml2/dml21/src/inc/dml2_debug.h        |    1 -
 .../src/inc/dml2_internal_shared_types.h      |   27 +-
 .../drm/amd/display/dc/dpp/dcn35/dcn35_dpp.c  |   27 +-
 .../drm/amd/display/dc/dpp/dcn35/dcn35_dpp.h  |    3 +
 .../amd/display/dc/dpp/dcn401/dcn401_dpp.c    |    3 +-
 .../amd/display/dc/dpp/dcn401/dcn401_dpp_cm.c |   14 +-
 .../display/dc/dpp/dcn401/dcn401_dpp_dscl.c   |  540 +++---
 drivers/gpu/drm/amd/display/dc/dwb/Makefile   |    9 +
 .../dc/{ => dwb}/dcn30/dcn30_cm_common.h      |    0
 .../display/dc/{ => dwb}/dcn30/dcn30_dwb.c    |    0
 .../display/dc/{ => dwb}/dcn30/dcn30_dwb.h    |    0
 .../display/dc/{ => dwb}/dcn30/dcn30_dwb_cm.c |    0
 .../drm/amd/display/dc/dwb/dcn35/dcn35_dwb.c  |    1 -
 .../amd/display/dc/hubp/dcn10/dcn10_hubp.c    |    3 +-
 .../amd/display/dc/hubp/dcn20/dcn20_hubp.c    |    3 +-
 .../amd/display/dc/hwss/dce110/dce110_hwseq.c |   13 +-
 .../amd/display/dc/hwss/dcn10/dcn10_hwseq.c   |    8 +-
 .../amd/display/dc/hwss/dcn20/dcn20_hwseq.c   |   20 +-
 .../amd/display/dc/hwss/dcn31/dcn31_hwseq.c   |    4 +-
 .../amd/display/dc/hwss/dcn314/dcn314_hwseq.c |   13 +-
 .../amd/display/dc/hwss/dcn314/dcn314_hwseq.h |    2 +-
 .../amd/display/dc/hwss/dcn32/dcn32_hwseq.c   |   41 +-
 .../amd/display/dc/hwss/dcn32/dcn32_hwseq.h   |    2 +-
 .../amd/display/dc/hwss/dcn35/dcn35_hwseq.c   |   15 +-
 .../amd/display/dc/hwss/dcn401/dcn401_hwseq.c |   19 +-
 .../amd/display/dc/hwss/dcn401/dcn401_init.c  |    2 -
 .../display/dc/hwss/hw_sequencer_private.h    |    3 +-
 .../gpu/drm/amd/display/dc/inc/core_types.h   |    2 +-
 drivers/gpu/drm/amd/display/dc/inc/hw/audio.h |    2 +
 .../gpu/drm/amd/display/dc/inc/hw/clk_mgr.h   |    1 +
 .../amd/display/dc/inc/hw/clk_mgr_internal.h  |    4 +-
 drivers/gpu/drm/amd/display/dc/inc/hw/dccg.h  |    5 +-
 .../gpu/drm/amd/display/dc/inc/hw/hw_shared.h |   13 +-
 drivers/gpu/drm/amd/display/dc/inc/hw/optc.h  |    5 +-
 .../amd/display/dc/inc/hw/stream_encoder.h    |    1 +
 .../amd/display/dc/inc/hw/timing_generator.h  |    4 +-
 .../display/dc/link/accessories/link_dp_cts.c |    5 +-
 .../amd/display/dc/link/hwss/link_hwss_dio.c  |    5 +-
 .../display/dc/link/hwss/link_hwss_hpo_dp.c   |    7 +
 .../drm/amd/display/dc/link/link_detection.c  |    5 +-
 .../gpu/drm/amd/display/dc/link/link_dpms.c   |   41 +-
 .../dc/link/protocols/link_dp_capability.c    |    8 +-
 .../gpu/drm/amd/display/dc/mmhubbub/Makefile  |    9 +
 .../dc/{ => mmhubbub}/dcn20/dcn20_mmhubbub.c  |    0
 .../dc/{ => mmhubbub}/dcn20/dcn20_mmhubbub.h  |    0
 drivers/gpu/drm/amd/display/dc/mpc/Makefile   |   27 +
 .../display/dc/{ => mpc}/dcn10/dcn10_mpc.c    |    0
 .../display/dc/{ => mpc}/dcn10/dcn10_mpc.h    |    0
 .../display/dc/{ => mpc}/dcn20/dcn20_mpc.c    |    0
 .../display/dc/{ => mpc}/dcn20/dcn20_mpc.h    |    0
 .../display/dc/{ => mpc}/dcn30/dcn30_mpc.c    |    2 +-
 .../display/dc/{ => mpc}/dcn30/dcn30_mpc.h    |    0
 drivers/gpu/drm/amd/display/dc/opp/Makefile   |   16 +
 .../display/dc/{ => opp}/dcn10/dcn10_opp.c    |    0
 .../display/dc/{ => opp}/dcn10/dcn10_opp.h    |    0
 .../display/dc/{ => opp}/dcn20/dcn20_opp.c    |    0
 .../display/dc/{ => opp}/dcn20/dcn20_opp.h    |    0
 .../amd/display/dc/optc/dcn10/dcn10_optc.c    |    9 +-
 .../amd/display/dc/optc/dcn10/dcn10_optc.h    |    7 +-
 .../amd/display/dc/optc/dcn401/dcn401_optc.c  |   36 +-
 .../amd/display/dc/optc/dcn401/dcn401_optc.h  |    6 +-
 .../dc/resource/dce110/dce110_resource.c      |    1 +
 .../dc/resource/dce112/dce112_resource.c      |    5 +-
 .../dc/resource/dcn20/dcn20_resource.c        |    3 +-
 .../dc/resource/dcn21/dcn21_resource.c        |    3 +-
 .../dc/resource/dcn31/dcn31_resource.c        |    1 +
 .../dc/resource/dcn32/dcn32_resource.c        |    7 +
 .../resource/dcn32/dcn32_resource_helpers.c   |   10 +-
 .../dc/resource/dcn321/dcn321_resource.c      |    1 +
 .../dc/resource/dcn35/dcn35_resource.c        |    1 +
 .../dc/resource/dcn401/dcn401_resource.c      |    7 +
 .../dc/resource/dcn401/dcn401_resource.h      |    3 +-
 drivers/gpu/drm/amd/display/dc/spl/Makefile   |    2 +-
 drivers/gpu/drm/amd/display/dc/spl/dc_spl.c   | 1306 ++++++++-----
 .../drm/amd/display/dc/spl/dc_spl_filters.c   |   15 +
 .../drm/amd/display/dc/spl/dc_spl_filters.h   |   15 +
 .../display/dc/spl/dc_spl_isharp_filters.c    |  426 +++-
 .../display/dc/spl/dc_spl_isharp_filters.h    |   33 +-
 .../display/dc/spl/dc_spl_scl_easf_filters.c  | 1726 +++++++++++++++++
 .../display/dc/spl/dc_spl_scl_easf_filters.h  |   38 +
 .../amd/display/dc/spl/dc_spl_scl_filters.c   |   91 +-
 .../amd/display/dc/spl/dc_spl_scl_filters.h   |   55 +-
 .../gpu/drm/amd/display/dc/spl/dc_spl_types.h |   51 +-
 .../gpu/drm/amd/display/dc/spl/spl_debug.h    |   23 +
 .../drm/amd/display/dc/spl/spl_fixpt31_32.c   |  518 +++++
 .../drm/amd/display/dc/spl/spl_fixpt31_32.h   |  546 ++++++
 .../gpu/drm/amd/display/dc/spl/spl_os_types.h |   77 +
 .../gpu/drm/amd/display/dmub/inc/dmub_cmd.h   |    4 +
 .../gpu/drm/amd/display/include/fixed31_32.h  |    6 +
 .../display/modules/hdcp/hdcp1_execution.c    |   18 +-
 175 files changed, 6110 insertions(+), 3122 deletions(-)
 delete mode 100644 drivers/gpu/drm/amd/display/dc/dml2/dml21/src/dml2_pmo/dml2_pmo_dcn4.c
 delete mode 100644 drivers/gpu/drm/amd/display/dc/dml2/dml21/src/dml2_pmo/dml2_pmo_dcn4.h
 rename drivers/gpu/drm/amd/display/dc/{ => dwb}/dcn30/dcn30_cm_common.h (100%)
 rename drivers/gpu/drm/amd/display/dc/{ => dwb}/dcn30/dcn30_dwb.c (100%)
 rename drivers/gpu/drm/amd/display/dc/{ => dwb}/dcn30/dcn30_dwb.h (100%)
 rename drivers/gpu/drm/amd/display/dc/{ => dwb}/dcn30/dcn30_dwb_cm.c (100%)
 rename drivers/gpu/drm/amd/display/dc/{ => mmhubbub}/dcn20/dcn20_mmhubbub.c (100%)
 rename drivers/gpu/drm/amd/display/dc/{ => mmhubbub}/dcn20/dcn20_mmhubbub.h (100%)
 rename drivers/gpu/drm/amd/display/dc/{ => mpc}/dcn10/dcn10_mpc.c (100%)
 rename drivers/gpu/drm/amd/display/dc/{ => mpc}/dcn10/dcn10_mpc.h (100%)
 rename drivers/gpu/drm/amd/display/dc/{ => mpc}/dcn20/dcn20_mpc.c (100%)
 rename drivers/gpu/drm/amd/display/dc/{ => mpc}/dcn20/dcn20_mpc.h (100%)
 rename drivers/gpu/drm/amd/display/dc/{ => mpc}/dcn30/dcn30_mpc.c (99%)
 rename drivers/gpu/drm/amd/display/dc/{ => mpc}/dcn30/dcn30_mpc.h (100%)
 rename drivers/gpu/drm/amd/display/dc/{ => opp}/dcn10/dcn10_opp.c (100%)
 rename drivers/gpu/drm/amd/display/dc/{ => opp}/dcn10/dcn10_opp.h (100%)
 rename drivers/gpu/drm/amd/display/dc/{ => opp}/dcn20/dcn20_opp.c (100%)
 rename drivers/gpu/drm/amd/display/dc/{ => opp}/dcn20/dcn20_opp.h (100%)
 create mode 100644 drivers/gpu/drm/amd/display/dc/spl/dc_spl_filters.c
 create mode 100644 drivers/gpu/drm/amd/display/dc/spl/dc_spl_filters.h
 create mode 100644 drivers/gpu/drm/amd/display/dc/spl/dc_spl_scl_easf_filters.c
 create mode 100644 drivers/gpu/drm/amd/display/dc/spl/dc_spl_scl_easf_filters.h
 create mode 100644 drivers/gpu/drm/amd/display/dc/spl/spl_debug.h
 create mode 100644 drivers/gpu/drm/amd/display/dc/spl/spl_fixpt31_32.c
 create mode 100644 drivers/gpu/drm/amd/display/dc/spl/spl_fixpt31_32.h
 create mode 100644 drivers/gpu/drm/amd/display/dc/spl/spl_os_types.h

-- 
2.34.1



More information about the amd-gfx mailing list