[PATCH v3 00/16] Introduce DML version 2

Rodrigo Siqueira Rodrigo.Siqueira at amd.com
Wed Oct 4 21:20:54 UTC 2023


This patchset introduces a new version of DML that will be used for some
already available ASIC based on DCN3x and future devices. This new
version of the DML is more reliable, provide a better programming model
for hardware/software, and is more flexible for creating new tools for
automation/validation (e.g., unit test). This first version is a
transition step for new ASICs, meaning that we will keep improving this
new component. Finally, it is important to highlight that a large part
of the DML code is generated.

This patchset starts with a code refactor in the DML to improve the code
isolation and avoid compilation issues when using some 32-bit
architecture such as ARM and PPC. Next, it is introduced the basic code
for DML2. Finally, the end of this patchset enables DML2 for some
specific ASICs followed by patches that improve DML when used with
specific devices.

Thanks
Siqueira

Charlene Liu (2):
  drm/amd/display: Add z8_marks in dml
  drm/amd/display: correct dml2 input and dlg_refclk

Daniel Miess (1):
  drm/amd/display: Port replay vblank logic to DML2

Gabe Teeger (1):
  drm/amd/display: add check in validate_only in dml2

Qingqing Zhuo (2):
  drm/amd/display: Introduce DML2
  drm/amd/display: Add DCN35 DML2 support

Rodrigo Siqueira (4):
  drm/amd/display: Move dce_calcs from DML folder
  drm/amd/display: Move custom_float outside DML
  drm/amd/display: Move bw_fixed outside DML folder
  drm/amd/display: Move dml code under CONFIG_DRM_AMD_DC_FP guard

Saaem Rizvi (1):
  drm/amd/display: Modify Pipe Selection for Policy for ODM

Sung Joon Kim (3):
  drm/amd/display: Handle multiple streams sourcing same surface
  drm/amd/display: Use fixed DET Buffer Size
  drm/amd/display: Fix Chroma Surface height/width initialization

Taimur Hassan (2):
  drm/amd/display: Split pipe for stereo timings
  drm/amd/display: Move stereo timing check to helper

 drivers/gpu/drm/amd/display/dc/Makefile       |     6 +-
 .../gpu/drm/amd/display/dc/basics/Makefile    |     9 +-
 .../dc/{dml/calcs => basics}/bw_fixed.c       |    13 +-
 .../dc/{dml/calcs => basics}/calcs_logger.h   |     0
 .../dc/{dml/calcs => basics}/custom_float.c   |    90 +-
 .../dc/{dml/calcs => basics}/dce_calcs.c      |     0
 drivers/gpu/drm/amd/display/dc/core/dc.c      |    39 +
 .../gpu/drm/amd/display/dc/core/dc_resource.c |    20 +
 drivers/gpu/drm/amd/display/dc/dc.h           |     5 +
 .../drm/amd/display/dc/dcn32/dcn32_resource.c |    61 +-
 .../amd/display/dc/dcn321/dcn321_resource.c   |    41 +
 .../drm/amd/display/dc/dcn35/dcn35_resource.c |    24 +-
 drivers/gpu/drm/amd/display/dc/dml/Makefile   |     2 -
 .../drm/amd/display/dc/dml/dcn32/dcn32_fpu.c  |    80 +
 .../amd/display/dc/dml/dcn321/dcn321_fpu.c    |    81 +
 drivers/gpu/drm/amd/display/dc/dml2/Makefile  |    91 +
 .../gpu/drm/amd/display/dc/dml2/cmntypes.h    |    92 +
 .../amd/display/dc/dml2/display_mode_core.c   | 10296 ++++++++++++++++
 .../amd/display/dc/dml2/display_mode_core.h   |   201 +
 .../dc/dml2/display_mode_core_structs.h       |  1970 +++
 .../dc/dml2/display_mode_lib_defines.h        |    75 +
 .../amd/display/dc/dml2/display_mode_util.c   |   796 ++
 .../amd/display/dc/dml2/display_mode_util.h   |    74 +
 .../display/dc/dml2/dml2_dc_resource_mgmt.c   |   861 ++
 .../display/dc/dml2/dml2_dc_resource_mgmt.h   |    48 +
 .../drm/amd/display/dc/dml2/dml2_dc_types.h   |    40 +
 .../amd/display/dc/dml2/dml2_internal_types.h |   121 +
 .../amd/display/dc/dml2/dml2_mall_phantom.c   |   913 ++
 .../amd/display/dc/dml2/dml2_mall_phantom.h   |    50 +
 .../gpu/drm/amd/display/dc/dml2/dml2_policy.c |   308 +
 .../gpu/drm/amd/display/dc/dml2/dml2_policy.h |    47 +
 .../display/dc/dml2/dml2_translation_helper.c |  1201 ++
 .../display/dc/dml2/dml2_translation_helper.h |    39 +
 .../gpu/drm/amd/display/dc/dml2/dml2_utils.c  |   480 +
 .../gpu/drm/amd/display/dc/dml2/dml2_utils.h  |   144 +
 .../drm/amd/display/dc/dml2/dml2_wrapper.c    |   745 ++
 .../drm/amd/display/dc/dml2/dml2_wrapper.h    |   212 +
 .../gpu/drm/amd/display/dc/dml2/dml_assert.h  |    30 +
 .../drm/amd/display/dc/dml2/dml_depedencies.h |    31 +
 .../display/dc/dml2/dml_display_rq_dlg_calc.c |   585 +
 .../display/dc/dml2/dml_display_rq_dlg_calc.h |    63 +
 .../gpu/drm/amd/display/dc/dml2/dml_logging.h |    29 +
 .../gpu/drm/amd/display/dc/inc/core_types.h   |     1 +
 43 files changed, 19931 insertions(+), 83 deletions(-)
 rename drivers/gpu/drm/amd/display/dc/{dml/calcs => basics}/bw_fixed.c (94%)
 rename drivers/gpu/drm/amd/display/dc/{dml/calcs => basics}/calcs_logger.h (100%)
 rename drivers/gpu/drm/amd/display/dc/{dml/calcs => basics}/custom_float.c (66%)
 rename drivers/gpu/drm/amd/display/dc/{dml/calcs => basics}/dce_calcs.c (100%)
 create mode 100644 drivers/gpu/drm/amd/display/dc/dml2/Makefile
 create mode 100644 drivers/gpu/drm/amd/display/dc/dml2/cmntypes.h
 create mode 100644 drivers/gpu/drm/amd/display/dc/dml2/display_mode_core.c
 create mode 100644 drivers/gpu/drm/amd/display/dc/dml2/display_mode_core.h
 create mode 100644 drivers/gpu/drm/amd/display/dc/dml2/display_mode_core_structs.h
 create mode 100644 drivers/gpu/drm/amd/display/dc/dml2/display_mode_lib_defines.h
 create mode 100644 drivers/gpu/drm/amd/display/dc/dml2/display_mode_util.c
 create mode 100644 drivers/gpu/drm/amd/display/dc/dml2/display_mode_util.h
 create mode 100644 drivers/gpu/drm/amd/display/dc/dml2/dml2_dc_resource_mgmt.c
 create mode 100644 drivers/gpu/drm/amd/display/dc/dml2/dml2_dc_resource_mgmt.h
 create mode 100644 drivers/gpu/drm/amd/display/dc/dml2/dml2_dc_types.h
 create mode 100644 drivers/gpu/drm/amd/display/dc/dml2/dml2_internal_types.h
 create mode 100644 drivers/gpu/drm/amd/display/dc/dml2/dml2_mall_phantom.c
 create mode 100644 drivers/gpu/drm/amd/display/dc/dml2/dml2_mall_phantom.h
 create mode 100644 drivers/gpu/drm/amd/display/dc/dml2/dml2_policy.c
 create mode 100644 drivers/gpu/drm/amd/display/dc/dml2/dml2_policy.h
 create mode 100644 drivers/gpu/drm/amd/display/dc/dml2/dml2_translation_helper.c
 create mode 100644 drivers/gpu/drm/amd/display/dc/dml2/dml2_translation_helper.h
 create mode 100644 drivers/gpu/drm/amd/display/dc/dml2/dml2_utils.c
 create mode 100644 drivers/gpu/drm/amd/display/dc/dml2/dml2_utils.h
 create mode 100644 drivers/gpu/drm/amd/display/dc/dml2/dml2_wrapper.c
 create mode 100644 drivers/gpu/drm/amd/display/dc/dml2/dml2_wrapper.h
 create mode 100644 drivers/gpu/drm/amd/display/dc/dml2/dml_assert.h
 create mode 100644 drivers/gpu/drm/amd/display/dc/dml2/dml_depedencies.h
 create mode 100644 drivers/gpu/drm/amd/display/dc/dml2/dml_display_rq_dlg_calc.c
 create mode 100644 drivers/gpu/drm/amd/display/dc/dml2/dml_display_rq_dlg_calc.h
 create mode 100644 drivers/gpu/drm/amd/display/dc/dml2/dml_logging.h

-- 
2.40.1



More information about the amd-gfx mailing list