[PATCH 00/35] Add support for DCN 3.5

Alex Deucher alexander.deucher at amd.com
Wed Aug 23 15:50:14 UTC 2023


Add support for DCN (Display Core Next) 3.5.

The new register headers were too big for the mailing
list.

Aaron Liu (1):
  drm/amdgpu/discovery: enable DCN 3.5.0 support

Qingqing Zhuo (34):
  drm/amd/display: Introduce DML2
  drm/amd/display: Add dcn35 register header files
  drm/amd/display: Add DCN35 family information
  drm/amd/display: Update DCE for DCN35 support
  drm/amd/display: Update DCN10 for DCN35 support
  drm/amd/display: Update DCN20 for DCN35 support
  drm/amd/display: Update DCN30 for DCN35 support
  drm/amd/display: Update DCN31 for DCN35 support
  drm/amd/display: Update DCN314 for DCN35 support
  drm/amd/display: Update DCN32 for DCN35 support
  drm/amd/display: Update dc.h for DCN35 support
  drm/amd/display: Add DCN35 BIOS command table support
  drm/amd/display: Add DCN35 GPIO
  drm/amd/display: Add DCN35 DCCG
  drm/amd/display: Add DCN35 DIO
  drm/amd/display: Add DCN35 PG_CNTL
  drm/amd/display: Add DCN35 OPTC
  drm/amd/display: Add DCN35 OPP
  drm/amd/display: Add DCN35 DPP
  drm/amd/display: Add DCN35 DWB
  drm/amd/display: Add DCN35 HUBP
  drm/amd/display: Add DCN35 HUBBUB
  drm/amd/display: Add DCN35 MMHUBBUB
  drm/amd/display: Add DCN35 DSC
  drm/amd/display: Add DCN35 HWSEQ
  drm/amd/display: Add DCN35 CLK_MGR
  drm/amd/display: Add DCN35 IRQ
  drm/amd/display: Add DCN35 DMUB
  drm/amd/display: Add DCN35 init
  drm/amd/display: Add DCN35 Resource
  drm/amd/display: Add DCN35 DML
  drm/amd/display: Add DCN35 blocks to Makefile
  drm/amd/display: Add DCN35 CORE
  drm/amd/display: Add DCN35 DM Support

 drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c |     1 +
 .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c |    32 +
 .../amd/display/amdgpu_dm/amdgpu_dm_hdcp.c    |     1 +
 .../amd/display/amdgpu_dm/amdgpu_dm_plane.c   |     1 +
 drivers/gpu/drm/amd/display/dc/Makefile       |     2 +
 .../display/dc/bios/command_table_helper2.c   |     1 +
 .../gpu/drm/amd/display/dc/clk_mgr/Makefile   |     8 +
 .../gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c  |     5 +
 .../display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c  |  1001 +
 .../display/dc/clk_mgr/dcn35/dcn35_clk_mgr.h  |    63 +
 .../amd/display/dc/clk_mgr/dcn35/dcn35_smu.c  |   453 +
 .../amd/display/dc/clk_mgr/dcn35/dcn35_smu.h  |   180 +
 drivers/gpu/drm/amd/display/dc/core/dc.c      |    29 +
 .../gpu/drm/amd/display/dc/core/dc_resource.c |    23 +
 drivers/gpu/drm/amd/display/dc/dc.h           |    63 +
 drivers/gpu/drm/amd/display/dc/dc_dmub_srv.c  |    64 +-
 drivers/gpu/drm/amd/display/dc/dc_dmub_srv.h  |     3 +
 drivers/gpu/drm/amd/display/dc/dc_helper.c    |     4 +
 drivers/gpu/drm/amd/display/dc/dc_types.h     |     1 +
 drivers/gpu/drm/amd/display/dc/dce/dce_abm.h  |     9 +-
 .../gpu/drm/amd/display/dc/dce/dce_hwseq.h    |    20 +
 .../gpu/drm/amd/display/dc/dce/dce_i2c_hw.c   |     4 +
 .../gpu/drm/amd/display/dc/dce/dce_i2c_hw.h   |     6 +
 .../drm/amd/display/dc/dcn10/dcn10_hubbub.h   |     5 +
 .../amd/display/dc/dcn10/dcn10_link_encoder.h |    33 +
 .../gpu/drm/amd/display/dc/dcn10/dcn10_optc.h |    30 +
 .../display/dc/dcn10/dcn10_stream_encoder.h   |    19 +-
 .../gpu/drm/amd/display/dc/dcn20/dcn20_dccg.h |    64 +
 .../drm/amd/display/dc/dcn20/dcn20_hwseq.c    |     8 +-
 .../drm/amd/display/dc/dcn20/dcn20_hwseq.h    |     5 +
 .../gpu/drm/amd/display/dc/dcn30/dcn30_dpp.h  |     2 -
 .../gpu/drm/amd/display/dc/dcn30/dcn30_dwb.h  |     2 -
 .../gpu/drm/amd/display/dc/dcn30/dcn30_mpc.h  |     1 -
 .../dc/dcn31/dcn31_hpo_dp_link_encoder.h      |    10 +-
 .../gpu/drm/amd/display/dc/dcn31/dcn31_hubp.c |     6 +
 .../gpu/drm/amd/display/dc/dcn31/dcn31_hubp.h |     3 +
 .../drm/amd/display/dc/dcn314/dcn314_dccg.c   |     2 +-
 .../drm/amd/display/dc/dcn314/dcn314_dccg.h   |     6 +
 .../dc/dcn314/dcn314_dio_stream_encoder.c     |    22 +-
 .../dc/dcn314/dcn314_dio_stream_encoder.h     |    40 +
 .../drm/amd/display/dc/dcn32/dcn32_mmhubbub.h |     4 -
 .../gpu/drm/amd/display/dc/dcn32/dcn32_mpc.h  |     2 -
 .../drm/amd/display/dc/dcn32/dcn32_resource.c |    61 +-
 .../drm/amd/display/dc/dcn32/dcn32_resource.h |     2 -
 drivers/gpu/drm/amd/display/dc/dcn35/Makefile |    20 +
 .../gpu/drm/amd/display/dc/dcn35/dcn35_dccg.c |   737 +
 .../gpu/drm/amd/display/dc/dcn35/dcn35_dccg.h |   190 +
 .../display/dc/dcn35/dcn35_dio_link_encoder.c |   267 +
 .../display/dc/dcn35/dcn35_dio_link_encoder.h |   137 +
 .../dc/dcn35/dcn35_dio_stream_encoder.c       |   528 +
 .../dc/dcn35/dcn35_dio_stream_encoder.h       |   326 +
 .../gpu/drm/amd/display/dc/dcn35/dcn35_dpp.c  |    51 +
 .../gpu/drm/amd/display/dc/dcn35/dcn35_dpp.h  |    55 +
 .../gpu/drm/amd/display/dc/dcn35/dcn35_dsc.c  |    58 +
 .../gpu/drm/amd/display/dc/dcn35/dcn35_dsc.h  |    57 +
 .../gpu/drm/amd/display/dc/dcn35/dcn35_dwb.c  |    58 +
 .../gpu/drm/amd/display/dc/dcn35/dcn35_dwb.h  |    59 +
 .../drm/amd/display/dc/dcn35/dcn35_hubbub.c   |   573 +
 .../drm/amd/display/dc/dcn35/dcn35_hubbub.h   |   150 +
 .../gpu/drm/amd/display/dc/dcn35/dcn35_hubp.c |   104 +
 .../gpu/drm/amd/display/dc/dcn35/dcn35_hubp.h |    59 +
 .../drm/amd/display/dc/dcn35/dcn35_hwseq.c    |  1193 +
 .../drm/amd/display/dc/dcn35/dcn35_hwseq.h    |    82 +
 .../gpu/drm/amd/display/dc/dcn35/dcn35_init.c |   167 +
 .../gpu/drm/amd/display/dc/dcn35/dcn35_init.h |    32 +
 .../drm/amd/display/dc/dcn35/dcn35_mmhubbub.c |    57 +
 .../drm/amd/display/dc/dcn35/dcn35_mmhubbub.h |    73 +
 .../gpu/drm/amd/display/dc/dcn35/dcn35_opp.c  |    51 +
 .../gpu/drm/amd/display/dc/dcn35/dcn35_opp.h  |    65 +
 .../gpu/drm/amd/display/dc/dcn35/dcn35_optc.c |   284 +
 .../gpu/drm/amd/display/dc/dcn35/dcn35_optc.h |   219 +
 .../drm/amd/display/dc/dcn35/dcn35_pg_cntl.c  |   553 +
 .../drm/amd/display/dc/dcn35/dcn35_pg_cntl.h  |   193 +
 .../drm/amd/display/dc/dcn35/dcn35_resource.c |  2085 +
 .../drm/amd/display/dc/dcn35/dcn35_resource.h |   307 +
 drivers/gpu/drm/amd/display/dc/dml/Makefile   |     3 +
 .../drm/amd/display/dc/dml/dcn32/dcn32_fpu.c  |    80 +
 .../amd/display/dc/dml/dcn321/dcn321_fpu.c    |    81 +
 .../drm/amd/display/dc/dml/dcn35/dcn35_fpu.c  |   484 +
 .../drm/amd/display/dc/dml/dcn35/dcn35_fpu.h  |    44 +
 drivers/gpu/drm/amd/display/dc/dml2/Makefile  |    69 +
 .../gpu/drm/amd/display/dc/dml2/cmntypes.h    |    92 +
 .../amd/display/dc/dml2/display_mode_core.c   | 10275 +++
 .../amd/display/dc/dml2/display_mode_core.h   |   199 +
 .../dc/dml2/display_mode_core_structs.h       |  1968 +
 .../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   |   734 +
 .../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 |   311 +
 .../gpu/drm/amd/display/dc/dml2/dml2_policy.h |    47 +
 .../display/dc/dml2/dml2_translation_helper.c |  1109 +
 .../display/dc/dml2/dml2_translation_helper.h |    39 +
 .../gpu/drm/amd/display/dc/dml2/dml2_utils.c  |   452 +
 .../gpu/drm/amd/display/dc/dml2/dml2_utils.h  |   143 +
 .../drm/amd/display/dc/dml2/dml2_wrapper.c    |   730 +
 .../drm/amd/display/dc/dml2/dml2_wrapper.h    |   210 +
 .../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/gpio/hw_factory.c  |     1 +
 .../drm/amd/display/dc/gpio/hw_translate.c    |     1 +
 .../gpu/drm/amd/display/dc/inc/core_types.h   |     3 +
 .../gpu/drm/amd/display/dc/inc/hw/clk_mgr.h   |     1 +
 .../gpu/drm/amd/display/dc/inc/hw/pg_cntl.h   |    52 +
 .../amd/display/dc/inc/hw/stream_encoder.h    |     5 +
 .../gpu/drm/amd/display/dc/inc/hw_sequencer.h |    10 +
 .../amd/display/dc/inc/hw_sequencer_private.h |     2 +
 drivers/gpu/drm/amd/display/dc/irq/Makefile   |     9 +
 .../dc/irq/dce110/irq_service_dce110.c        |    12 +-
 .../dc/irq/dce120/irq_service_dce120.c        |    12 +-
 .../display/dc/irq/dce60/irq_service_dce60.c  |    12 +-
 .../display/dc/irq/dce80/irq_service_dce80.c  |    12 +-
 .../display/dc/irq/dcn10/irq_service_dcn10.c  |    14 +-
 .../display/dc/irq/dcn20/irq_service_dcn20.c  |    14 +-
 .../dc/irq/dcn201/irq_service_dcn201.c        |    14 +-
 .../display/dc/irq/dcn21/irq_service_dcn21.c  |    16 +-
 .../display/dc/irq/dcn30/irq_service_dcn30.c  |    16 +-
 .../dc/irq/dcn302/irq_service_dcn302.c        |    16 +-
 .../dc/irq/dcn303/irq_service_dcn303.c        |    14 +-
 .../display/dc/irq/dcn31/irq_service_dcn31.c  |    16 +-
 .../dc/irq/dcn314/irq_service_dcn314.c        |    16 +-
 .../dc/irq/dcn315/irq_service_dcn315.c        |    16 +-
 .../display/dc/irq/dcn32/irq_service_dcn32.c  |    16 +-
 .../display/dc/irq/dcn35/irq_service_dcn35.c  |   427 +
 .../display/dc/irq/dcn35/irq_service_dcn35.h  |    34 +
 .../gpu/drm/amd/display/dc/irq/irq_service.h  |     2 +-
 .../gpu/drm/amd/display/dc/link/link_dpms.c   |    23 +
 drivers/gpu/drm/amd/display/dmub/dmub_srv.h   |    23 +
 drivers/gpu/drm/amd/display/dmub/src/Makefile |     1 +
 .../gpu/drm/amd/display/dmub/src/dmub_dcn35.c |   552 +
 .../gpu/drm/amd/display/dmub/src/dmub_dcn35.h |   282 +
 .../gpu/drm/amd/display/dmub/src/dmub_srv.c   |    76 +-
 .../gpu/drm/amd/display/include/dal_types.h   |     2 +
 .../include/asic_reg/dcn/dcn_3_5_0_offset.h   | 15255 +++++
 .../include/asic_reg/dcn/dcn_3_5_0_sh_mask.h  | 53412 ++++++++++++++++
 143 files changed, 101257 insertions(+), 148 deletions(-)
 create mode 100644 drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
 create mode 100644 drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.h
 create mode 100644 drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.c
 create mode 100644 drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_smu.h
 create mode 100644 drivers/gpu/drm/amd/display/dc/dcn35/Makefile
 create mode 100644 drivers/gpu/drm/amd/display/dc/dcn35/dcn35_dccg.c
 create mode 100644 drivers/gpu/drm/amd/display/dc/dcn35/dcn35_dccg.h
 create mode 100644 drivers/gpu/drm/amd/display/dc/dcn35/dcn35_dio_link_encoder.c
 create mode 100644 drivers/gpu/drm/amd/display/dc/dcn35/dcn35_dio_link_encoder.h
 create mode 100644 drivers/gpu/drm/amd/display/dc/dcn35/dcn35_dio_stream_encoder.c
 create mode 100644 drivers/gpu/drm/amd/display/dc/dcn35/dcn35_dio_stream_encoder.h
 create mode 100644 drivers/gpu/drm/amd/display/dc/dcn35/dcn35_dpp.c
 create mode 100644 drivers/gpu/drm/amd/display/dc/dcn35/dcn35_dpp.h
 create mode 100644 drivers/gpu/drm/amd/display/dc/dcn35/dcn35_dsc.c
 create mode 100644 drivers/gpu/drm/amd/display/dc/dcn35/dcn35_dsc.h
 create mode 100644 drivers/gpu/drm/amd/display/dc/dcn35/dcn35_dwb.c
 create mode 100644 drivers/gpu/drm/amd/display/dc/dcn35/dcn35_dwb.h
 create mode 100644 drivers/gpu/drm/amd/display/dc/dcn35/dcn35_hubbub.c
 create mode 100644 drivers/gpu/drm/amd/display/dc/dcn35/dcn35_hubbub.h
 create mode 100644 drivers/gpu/drm/amd/display/dc/dcn35/dcn35_hubp.c
 create mode 100644 drivers/gpu/drm/amd/display/dc/dcn35/dcn35_hubp.h
 create mode 100644 drivers/gpu/drm/amd/display/dc/dcn35/dcn35_hwseq.c
 create mode 100644 drivers/gpu/drm/amd/display/dc/dcn35/dcn35_hwseq.h
 create mode 100644 drivers/gpu/drm/amd/display/dc/dcn35/dcn35_init.c
 create mode 100644 drivers/gpu/drm/amd/display/dc/dcn35/dcn35_init.h
 create mode 100644 drivers/gpu/drm/amd/display/dc/dcn35/dcn35_mmhubbub.c
 create mode 100644 drivers/gpu/drm/amd/display/dc/dcn35/dcn35_mmhubbub.h
 create mode 100644 drivers/gpu/drm/amd/display/dc/dcn35/dcn35_opp.c
 create mode 100644 drivers/gpu/drm/amd/display/dc/dcn35/dcn35_opp.h
 create mode 100644 drivers/gpu/drm/amd/display/dc/dcn35/dcn35_optc.c
 create mode 100644 drivers/gpu/drm/amd/display/dc/dcn35/dcn35_optc.h
 create mode 100644 drivers/gpu/drm/amd/display/dc/dcn35/dcn35_pg_cntl.c
 create mode 100644 drivers/gpu/drm/amd/display/dc/dcn35/dcn35_pg_cntl.h
 create mode 100644 drivers/gpu/drm/amd/display/dc/dcn35/dcn35_resource.c
 create mode 100644 drivers/gpu/drm/amd/display/dc/dcn35/dcn35_resource.h
 create mode 100644 drivers/gpu/drm/amd/display/dc/dml/dcn35/dcn35_fpu.c
 create mode 100644 drivers/gpu/drm/amd/display/dc/dml/dcn35/dcn35_fpu.h
 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
 create mode 100644 drivers/gpu/drm/amd/display/dc/inc/hw/pg_cntl.h
 create mode 100644 drivers/gpu/drm/amd/display/dc/irq/dcn35/irq_service_dcn35.c
 create mode 100644 drivers/gpu/drm/amd/display/dc/irq/dcn35/irq_service_dcn35.h
 create mode 100644 drivers/gpu/drm/amd/display/dmub/src/dmub_dcn35.c
 create mode 100644 drivers/gpu/drm/amd/display/dmub/src/dmub_dcn35.h
 create mode 100644 drivers/gpu/drm/amd/include/asic_reg/dcn/dcn_3_5_0_offset.h
 create mode 100644 drivers/gpu/drm/amd/include/asic_reg/dcn/dcn_3_5_0_sh_mask.h

-- 
2.41.0



More information about the amd-gfx mailing list