This DC patchset brings improvements in multiple areas. In summary, we highlight: 1) Transitioning to the new DC commit sequence There is an extended effort to migrate to the new DC commit sequence that better adheres to the DCN hardware constraints. Most of the code was upstreamed already but not connected to amdgpu_dm, and in this new DC version, our DM finally started to use it for all ASICs. This should improve stability and enable us to improve how pipe split works. 2) Drop old CONFIG_DRM_AMD_DC_DCN in favor of new CONFIG_DRM_AMD_DC_FP For historical reasons, we created CONFIG_DRM_AMD_DC_DCN to isolate FPU-related code to only be used for DCN. Over the years, we lost control over this guard, and it was spread in multiple areas. In this new DC version, there is an effort to remove all unnecessary CONFIG_DRM_AMD_DC_DCN and replace the others for CONFIG_DRM_AMD_DC_FP, which better describes which type of code this guard is intended for. Additionally, this patchset brings along the following: - Enable HostVM based on rIOMMU active - Keep PHY active for dp confi - Improves Z8 - Update clock table - Code and directives clean up Cc: Daniel Wheeler <daniel.wheeler@xxxxxxx> --- Agustin Gutierrez (1): drm/amd/display: Keep PHY active for dp config Alvin Lee (3): drm/amd/display: When blanking during init loop to find OPP index drm/amd/display: Update to correct min FCLK when construction BB drm/amd/display: Pass tg and hubp inst instead of pipe index for SubVP Aric Cyr (2): drm/amd/display: 3.2.225 drm/amd/display: 3.2.226 Chris Park (1): drm/amd/display: Simplify register offsets Gabe Teeger (1): drm/amd/display: Enable HostVM based on rIOMMU active Harry Wentland (8): drm/amd/display: Drop CONFIG_DRM_AMD_DC_HDR drm/amd/display: Fix no-DCN build drm/amd/display: Drop CONFIG_DRM_AMD_DC_HDCP drm/amd/display: call remove_stream_from_ctx from res_pool funcs drm/amd/display: Build DSC without DCN config drm/amd/display: Drop unnecessary DCN guards drm/amd/display: Drop unnecessary DCN guards drm/amd/display: Rename DCN config to FP Mike Hsieh (2): drm/amd/display: Add height granularity limitation for dsc slice height calculation drm/amd/display: fix typo in dc_dsc_config_options structure Mustapha Ghaddar (1): drm/amd/display: Unify DC logging for BW Alloc Nicholas Kazlauskas (2): drm/amd/display: Add minimum Z8 residency debug option drm/amd/display: Update minimum stutter residency for DCN314 Z8 Rodrigo Siqueira (6): drm/amd/display: Ensure vmin and vmax adjust for DCE drm/amd/display: Drop dc_commit_state in favor of dc_commit_streams drm/amd/display: Use dc_update_planes_and_stream drm/amd/display: Use DC_LOG_DC in the trasform pixel function drm/amd/display: Add wrapper to call planes and stream update drm/amd/display: Ensure that planes are in the same order Wayne Lin (1): drm/amd/display: Pass the right info to drm_dp_remove_payload Wenjing Liu (5): drm/amd/display: move dc_link functions in accessories folder to dc_link_exports drm/amd/display: move dc_link functions in link root folder to dc_link_exports drm/amd/display: link link_dp_dpia_bw.o in makefile drm/amd/display: move dc_link functions in protocols folder to dc_link_exports drm/amd/display: replace all dc_link function call in link with link functions drivers/gpu/drm/amd/display/Kconfig | 14 +- drivers/gpu/drm/amd/display/Makefile | 4 - .../gpu/drm/amd/display/amdgpu_dm/Makefile | 4 +- .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 150 ++--- .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h | 4 - .../amd/display/amdgpu_dm/amdgpu_dm_debugfs.c | 11 +- .../amd/display/amdgpu_dm/amdgpu_dm_helpers.c | 65 +- .../display/amdgpu_dm/amdgpu_dm_mst_types.c | 39 +- .../amd/display/amdgpu_dm/amdgpu_dm_plane.c | 129 ---- drivers/gpu/drm/amd/display/dc/Makefile | 7 +- .../drm/amd/display/dc/bios/bios_parser2.c | 2 +- .../gpu/drm/amd/display/dc/clk_mgr/Makefile | 2 +- .../gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c | 8 +- .../amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c | 2 +- .../dc/clk_mgr/dcn314/dcn314_clk_mgr.c | 5 + drivers/gpu/drm/amd/display/dc/core/dc.c | 90 +-- .../drm/amd/display/dc/core/dc_link_exports.c | 294 ++++++++- .../gpu/drm/amd/display/dc/core/dc_resource.c | 8 +- .../drm/amd/display/dc/core/dc_vm_helper.c | 2 - drivers/gpu/drm/amd/display/dc/dc.h | 35 +- drivers/gpu/drm/amd/display/dc/dc_dmub_srv.c | 10 +- drivers/gpu/drm/amd/display/dc/dc_dp_types.h | 66 +- drivers/gpu/drm/amd/display/dc/dc_dsc.h | 11 +- drivers/gpu/drm/amd/display/dc/dc_hw_types.h | 2 +- drivers/gpu/drm/amd/display/dc/dc_link.h | 579 ------------------ drivers/gpu/drm/amd/display/dc/dc_types.h | 6 - .../drm/amd/display/dc/dce/dce_clock_source.c | 27 +- .../drm/amd/display/dc/dce/dce_clock_source.h | 6 - .../drm/amd/display/dc/dce/dce_transform.c | 5 +- .../display/dc/dce110/dce110_hw_sequencer.h | 2 - .../gpu/drm/amd/display/dc/dcn10/dcn10_dwb.c | 5 - .../gpu/drm/amd/display/dc/dcn10/dcn10_dwb.h | 4 - .../display/dc/dcn10/dcn10_stream_encoder.c | 3 +- .../amd/display/dc/dcn303/dcn303_resource.c | 2 - .../display/dc/dcn31/dcn31_dio_link_encoder.c | 5 +- .../drm/amd/display/dc/dcn31/dcn31_hwseq.c | 4 +- .../amd/display/dc/dcn314/dcn314_resource.c | 1 + .../gpu/drm/amd/display/dc/dcn32/dcn32_dccg.h | 36 -- .../dc/dcn32/dcn32_dio_stream_encoder.c | 2 - .../dc/dcn32/dcn32_dio_stream_encoder.h | 64 -- .../drm/amd/display/dc/dcn32/dcn32_hubbub.h | 62 -- .../gpu/drm/amd/display/dc/dcn32/dcn32_hubp.h | 6 - .../drm/amd/display/dc/dcn32/dcn32_hwseq.c | 83 +++ .../drm/amd/display/dc/dcn32/dcn32_hwseq.h | 4 + .../gpu/drm/amd/display/dc/dcn32/dcn32_init.c | 2 +- .../gpu/drm/amd/display/dc/dcn32/dcn32_optc.h | 71 --- drivers/gpu/drm/amd/display/dc/dml/Makefile | 2 +- .../drm/amd/display/dc/dml/dcn20/dcn20_fpu.c | 3 +- .../dc/dml/dcn30/display_mode_vba_30.c | 2 - .../dc/dml/dcn30/display_rq_dlg_calc_30.c | 3 - .../amd/display/dc/dml/dcn314/dcn314_fpu.c | 4 + .../drm/amd/display/dc/dml/dcn32/dcn32_fpu.c | 5 +- .../dc/dml/dcn32/display_mode_vba_32.c | 6 +- .../dc/dml/dcn32/display_mode_vba_util_32.c | 6 +- .../dc/dml/dcn32/display_mode_vba_util_32.h | 3 +- .../amd/display/dc/dml/dcn321/dcn321_fpu.c | 5 +- drivers/gpu/drm/amd/display/dc/dsc/dc_dsc.c | 33 +- drivers/gpu/drm/amd/display/dc/dsc/rc_calc.c | 2 + .../gpu/drm/amd/display/dc/hdcp/hdcp_msg.c | 2 +- .../gpu/drm/amd/display/dc/inc/core_types.h | 2 - drivers/gpu/drm/amd/display/dc/inc/hw/dwb.h | 8 +- drivers/gpu/drm/amd/display/dc/inc/hw/hubp.h | 2 +- .../amd/display/dc/inc/hw/timing_generator.h | 2 +- .../amd/display/dc/inc/hw_sequencer_private.h | 2 +- drivers/gpu/drm/amd/display/dc/inc/link.h | 128 +++- drivers/gpu/drm/amd/display/dc/inc/resource.h | 2 +- drivers/gpu/drm/amd/display/dc/link/Makefile | 2 +- .../display/dc/link/accessories/link_dp_cts.c | 47 +- .../display/dc/link/accessories/link_dp_cts.h | 19 +- .../dc/link/accessories/link_dp_trace.c | 13 +- .../dc/link/accessories/link_dp_trace.h | 12 +- .../drm/amd/display/dc/link/link_detection.c | 16 +- .../drm/amd/display/dc/link/link_detection.h | 6 + .../gpu/drm/amd/display/dc/link/link_dpms.c | 20 +- .../drm/amd/display/dc/link/link_factory.c | 84 ++- .../drm/amd/display/dc/link/link_resource.h | 3 - .../drm/amd/display/dc/link/link_validation.c | 9 +- .../amd/display/dc/link/protocols/link_ddc.c | 24 +- .../amd/display/dc/link/protocols/link_ddc.h | 3 + .../dc/link/protocols/link_dp_capability.c | 58 +- .../dc/link/protocols/link_dp_capability.h | 19 + .../display/dc/link/protocols/link_dp_dpia.c | 2 +- .../display/dc/link/protocols/link_dp_dpia.h | 4 +- .../dc/link/protocols/link_dp_dpia_bw.c | 97 ++- .../dc/link/protocols/link_dp_dpia_bw.h | 26 +- .../dc/link/protocols/link_dp_irq_handler.c | 30 +- .../dc/link/protocols/link_dp_irq_handler.h | 12 +- .../display/dc/link/protocols/link_dp_phy.c | 10 +- .../display/dc/link/protocols/link_dp_phy.h | 8 +- .../dc/link/protocols/link_dp_training.c | 17 +- .../dc/link/protocols/link_dp_training.h | 3 + .../link/protocols/link_dp_training_auxless.c | 2 +- .../link/protocols/link_dp_training_auxless.h | 2 +- .../dc/link/protocols/link_dp_training_dpia.c | 4 +- .../dc/link/protocols/link_dp_training_dpia.h | 2 +- .../link/protocols/link_edp_panel_control.c | 31 +- .../link/protocols/link_edp_panel_control.h | 20 + .../amd/display/dc/link/protocols/link_hpd.c | 14 +- .../amd/display/dc/link/protocols/link_hpd.h | 4 + drivers/gpu/drm/amd/display/dc/os_types.h | 4 +- .../{hdcp_types.h => hdcp_msg_types.h} | 0 .../drm/amd/display/modules/hdcp/hdcp_log.h | 2 - .../amd/display/modules/power/power_helpers.c | 7 - 103 files changed, 1216 insertions(+), 1585 deletions(-) delete mode 100644 drivers/gpu/drm/amd/display/dc/dc_link.h rename drivers/gpu/drm/amd/display/include/{hdcp_types.h => hdcp_msg_types.h} (100%) -- 2.34.1