This DC patchset brings improvements in multiple areas. In summary, we have: - Improve power saving feature - Clean up for code clarity - Fix MST issues in system resume - Fix crashing bug - Fix pipe allocation for older ASIC - Fix for gamut remap - Fix 8K 60Hz display in test cases - Fix bug in clock gating - Improve DP2 compliance Cc: Daniel Wheeler <daniel.wheeler@xxxxxxx> Alvin Lee (2): drm/amd/display: Enable subvp high refresh up to 175hz drm/amd/display: PMFW to wait for DMCUB ack for FPO cases Anthony Koo (1): drm/amd/display: [FW Promotion] Release 0.0.179.0 Aric Cyr (1): drm/amd/display: Promote DAL to 3.2.247 Aurabindo Pillai (3): drm/amd/display: Add some missing register definitions drm/amd/display: enable low power mode for VGA memory drm/amd/display: Remove freesync video mode amdgpu parameter Charlene Liu (1): drm/amd/display: avoid crash and add z8_marks related in dml Krunoslav Kovac (1): drm/amd/display: Gamut remap only changes missed Michael Strauss (1): drm/amd/display: Support Compliance Test Pattern Generation with DP2 Retimer Muhammad Ahmed (1): drm/amd/display: disable clock gating logic reversed bug fix Nicholas Susanto (1): drm/amd/display: Enable 8k60hz mode on single display Wayne Lin (1): drm/amd/display: Adjust the resume flow Wenjing Liu (2): drm/amd/display: fix incorrect stream_res allocation for older ASIC drm/amd/display: implement pipe type definition and adding accessors drivers/gpu/drm/amd/amdgpu/amdgpu.h | 1 - drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 27 -- .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 185 +++++++---- .../display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c | 5 + .../dc/clk_mgr/dcn32/dcn32_clk_mgr_smu_msg.c | 7 + .../dc/clk_mgr/dcn32/dcn32_clk_mgr_smu_msg.h | 1 + drivers/gpu/drm/amd/display/dc/core/dc.c | 41 +-- .../gpu/drm/amd/display/dc/core/dc_resource.c | 194 ++++++----- .../gpu/drm/amd/display/dc/core/dc_stream.c | 2 +- drivers/gpu/drm/amd/display/dc/dc.h | 3 +- drivers/gpu/drm/amd/display/dc/dc_dmub_srv.c | 22 +- .../gpu/drm/amd/display/dc/dce/dce_hwseq.h | 69 ++-- .../amd/display/dc/dce100/dce100_resource.c | 2 +- .../amd/display/dc/dce110/dce110_resource.c | 2 +- .../amd/display/dc/dce112/dce112_resource.c | 4 +- .../drm/amd/display/dc/dcn10/dcn10_resource.c | 6 +- .../drm/amd/display/dc/dcn20/dcn20_hwseq.c | 1 + .../drm/amd/display/dc/dcn20/dcn20_resource.c | 41 ++- .../amd/display/dc/dcn201/dcn201_resource.c | 4 +- .../drm/amd/display/dc/dcn30/dcn30_hwseq.c | 5 + .../drm/amd/display/dc/dcn30/dcn30_resource.c | 3 +- .../drm/amd/display/dc/dcn31/dcn31_hubbub.c | 4 +- .../drm/amd/display/dc/dcn31/dcn31_resource.c | 4 +- .../amd/display/dc/dcn314/dcn314_resource.c | 8 +- .../drm/amd/display/dc/dcn32/dcn32_hubbub.c | 4 +- .../drm/amd/display/dc/dcn32/dcn32_hwseq.c | 12 +- .../drm/amd/display/dc/dcn32/dcn32_resource.c | 4 +- .../display/dc/dcn32/dcn32_resource_helpers.c | 12 +- .../drm/amd/display/dc/dml/calcs/dce_calcs.c | 2 +- .../drm/amd/display/dc/dml/calcs/dcn_calcs.c | 2 +- .../drm/amd/display/dc/dml/dcn20/dcn20_fpu.c | 2 +- .../drm/amd/display/dc/dml/dcn32/dcn32_fpu.c | 16 +- .../gpu/drm/amd/display/dc/inc/hw/dchubbub.h | 2 + drivers/gpu/drm/amd/display/dc/inc/link.h | 4 + drivers/gpu/drm/amd/display/dc/inc/resource.h | 220 ++++++++++++- drivers/gpu/drm/amd/display/dc/link/Makefile | 3 +- .../display/dc/link/accessories/link_dp_cts.c | 6 +- .../amd/display/dc/link/hwss/link_hwss_dio.c | 2 +- .../amd/display/dc/link/hwss/link_hwss_dio.h | 3 + .../hwss/link_hwss_dio_fixed_vs_pe_retimer.c | 200 ++++++++++++ .../hwss/link_hwss_dio_fixed_vs_pe_retimer.h | 37 +++ .../display/dc/link/hwss/link_hwss_hpo_dp.c | 22 +- .../display/dc/link/hwss/link_hwss_hpo_dp.h | 28 +- .../link_hwss_hpo_fixed_vs_pe_retimer_dp.c | 229 +++++++++++++ .../link_hwss_hpo_fixed_vs_pe_retimer_dp.h | 33 ++ .../gpu/drm/amd/display/dc/link/link_dpms.c | 7 +- .../drm/amd/display/dc/link/link_factory.c | 1 + .../amd/display/dc/link/protocols/link_ddc.c | 82 +++++ .../amd/display/dc/link/protocols/link_ddc.h | 14 + .../link_dp_training_fixed_vs_pe_retimer.c | 305 +++++------------- .../gpu/drm/amd/display/dmub/inc/dmub_cmd.h | 4 + .../include/asic_reg/dcn/dcn_3_0_0_offset.h | 5 + .../include/asic_reg/dcn/dcn_3_0_0_sh_mask.h | 5 + .../include/asic_reg/dcn/dcn_3_0_2_offset.h | 4 + .../include/asic_reg/dcn/dcn_3_0_2_sh_mask.h | 5 +- 55 files changed, 1356 insertions(+), 560 deletions(-) create mode 100644 drivers/gpu/drm/amd/display/dc/link/hwss/link_hwss_dio_fixed_vs_pe_retimer.c create mode 100644 drivers/gpu/drm/amd/display/dc/link/hwss/link_hwss_dio_fixed_vs_pe_retimer.h create mode 100644 drivers/gpu/drm/amd/display/dc/link/hwss/link_hwss_hpo_fixed_vs_pe_retimer_dp.c create mode 100644 drivers/gpu/drm/amd/display/dc/link/hwss/link_hwss_hpo_fixed_vs_pe_retimer_dp.h -- 2.41.0