This DC patchset brings improvements in multiple areas. In summary, we have: * Setup stream encoder before link enable for TMDS * Use is_dig_enable function instead of dcn10 hardcode * Re-add aux intercept disable delay generically for 2+ LTTPRs * Add polling method to handle MST reply packet * Improve the include of header file * Remove unused function * Add missing static * Hardcode vco_freq for dcn316 * Reduce stack size * Skip enabling DMCUB when using emulation * check TG is non-null before checking if enabled * Update scaler recout data for visual confirm * Skip querying caps when DMCUB emulation is in use * Update 128b/132b downspread factor to 0.3% * Add helpers to get DMUB FW boot options * Initialize necessary uninitialized variables * Add stream overhead in BW calculations for 128b/132b * Add link encoding to timing BW calculation parameters * Prevent vtotal from being set to 0 * Fix race condition when turning off an output alone * Keep PHY active for DP displays on DCN31 * Fix ASIC check in aux timeout workaround * ABM pause toggle * Add missing triggers for full updates * Disable MPC split by default on special asic * add additional refresh rate conditions for SubVP cases * Fix DP2 link training failure with RCO * Reenable all root clock gating options * Cache backlight_millinits in link structure and setting brightness accordingly * refine to decide the verified link setting * Update SW cursor fallback for subvp high refresh Cc: Daniel Wheeler <daniel.wheeler@xxxxxxx> Alan Liu (2): drm/amd/display: Hardcode vco_freq for dcn316 drm/amd/display: Fix race condition when turning off an output alone Alvin Lee (2): drm/amd/display: Add missing triggers for full updates drm/amd/display: Update SW cursor fallback for subvp high refresh Aric Cyr (2): drm/amd/display: Promote DAL to 3.2.242 drm/amd/display: Promote DAL to 3.2.243 Cruise Hung (1): drm/amd/display: Add helpers to get DMUB FW boot options Daniel Miess (3): drm/amd/display: Prevent vtotal from being set to 0 drm/amd/display: Fix DP2 link training failure with RCO drm/amd/display: Reenable all root clock gating options George Shen (3): drm/amd/display: Update 128b/132b downspread factor to 0.3% drm/amd/display: Add stream overhead in BW calculations for 128b/132b drm/amd/display: Add link encoding to timing BW calculation parameters JinZe Xu (1): drm/amd/display: Setup stream encoder before link enable for TMDS Leo Ma (1): drm/amd/display: Update scaler recout data for visual confirm Meera Patel (1): drm/amd/display: Initialize necessary uninitialized variables Michael Strauss (1): drm/amd/display: Re-add aux intercept disable delay generically for 2+ LTTPRs Nicholas Kazlauskas (3): drm/amd/display: Use is_dig_enable function instead of dcn10 hardcode drm/amd/display: Skip querying caps when DMCUB emulation is in use drm/amd/display: Keep PHY active for DP displays on DCN31 Nicholas Susanto (1): drm/amd/display: Cache backlight_millinits in link structure and setting brightness accordingly Reza Amini (1): drm/amd/display: ABM pause toggle Rodrigo Siqueira (4): drm/amd/display: Improve the include of header file drm/amd/display: Remove unused function drm/amd/display: Add missing static drm/amd/display: Reduce stack size Samson Tam (1): drm/amd/display: add additional refresh rate conditions for SubVP cases Taimur Hassan (3): drm/amd/display: Skip enabling DMCUB when using emulation drm/amd/display: check TG is non-null before checking if enabled drm/amd/display: Fix ASIC check in aux timeout workaround Wayne Lin (1): drm/amd/display: Add polling method to handle MST reply packet Zhikai Zhai (2): drm/amd/display: Disable MPC split by default on special asic drm/amd/display: refine to decide the verified link setting .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 244 +++++++----------- .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h | 7 + .../display/amdgpu_dm/amdgpu_dm_mst_types.c | 124 ++++++++- .../display/amdgpu_dm/amdgpu_dm_mst_types.h | 11 + .../drm/amd/display/dc/basics/conversion.c | 2 +- .../gpu/drm/amd/display/dc/basics/vector.c | 11 +- .../gpu/drm/amd/display/dc/bios/bios_parser.c | 16 +- .../drm/amd/display/dc/bios/bios_parser2.c | 20 +- .../display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c | 5 + .../dc/clk_mgr/dcn316/dcn316_clk_mgr.c | 44 +--- .../display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c | 2 +- drivers/gpu/drm/amd/display/dc/core/dc.c | 94 +++++-- .../drm/amd/display/dc/core/dc_hw_sequencer.c | 1 + .../drm/amd/display/dc/core/dc_link_exports.c | 18 ++ .../gpu/drm/amd/display/dc/core/dc_resource.c | 22 ++ .../gpu/drm/amd/display/dc/core/dc_stream.c | 35 ++- drivers/gpu/drm/amd/display/dc/dc.h | 25 +- drivers/gpu/drm/amd/display/dc/dc_dmub_srv.c | 3 + drivers/gpu/drm/amd/display/dc/dc_dsc.h | 2 + drivers/gpu/drm/amd/display/dc/dc_types.h | 15 +- drivers/gpu/drm/amd/display/dc/dce/dce_dmcu.c | 6 +- .../gpu/drm/amd/display/dc/dce/dce_i2c_hw.c | 16 +- .../gpu/drm/amd/display/dc/dce/dce_i2c_sw.c | 16 +- drivers/gpu/drm/amd/display/dc/dce/dmub_abm.c | 28 ++ .../gpu/drm/amd/display/dc/dce/dmub_abm_lcd.c | 46 ++++ .../gpu/drm/amd/display/dc/dce/dmub_abm_lcd.h | 6 + .../drm/amd/display/dc/dce80/dce80_resource.c | 4 +- .../drm/amd/display/dc/dcn10/dcn10_dpp_dscl.c | 18 +- .../amd/display/dc/dcn10/dcn10_hw_sequencer.c | 3 +- .../amd/display/dc/dcn10/dcn10_link_encoder.c | 2 +- .../gpu/drm/amd/display/dc/dcn21/dcn21_dccg.c | 2 +- .../gpu/drm/amd/display/dc/dcn21/dcn21_dccg.h | 1 - .../amd/display/dc/dcn303/dcn303_resource.c | 2 +- .../gpu/drm/amd/display/dc/dcn31/dcn31_dccg.c | 49 ++-- .../gpu/drm/amd/display/dc/dcn31/dcn31_dccg.h | 5 + .../display/dc/dcn31/dcn31_dio_link_encoder.c | 2 +- .../drm/amd/display/dc/dcn314/dcn314_dccg.c | 1 + .../amd/display/dc/dcn314/dcn314_resource.c | 18 +- .../amd/display/dc/dcn315/dcn315_resource.c | 2 +- .../drm/amd/display/dc/dcn32/dcn32_resource.c | 2 +- .../display/dc/dcn32/dcn32_resource_helpers.c | 24 +- .../dc/dml/dcn21/display_mode_vba_21.c | 2 +- .../dc/dml/dcn31/display_mode_vba_31.c | 2 +- .../amd/display/dc/dml/dcn314/dcn314_fpu.c | 6 +- .../dc/dml/dcn314/display_mode_vba_314.c | 2 +- .../drm/amd/display/dc/dml/dcn32/dcn32_fpu.c | 20 +- .../dc/dml/dcn32/display_mode_vba_util_32.c | 2 +- drivers/gpu/drm/amd/display/dc/dsc/dc_dsc.c | 66 ++++- drivers/gpu/drm/amd/display/dc/inc/hw/abm.h | 6 + .../drm/amd/display/dc/inc/hw/aux_engine.h | 2 - drivers/gpu/drm/amd/display/dc/inc/hw/dccg.h | 5 + .../dc/irq/dcn314/irq_service_dcn314.c | 7 +- .../display/dc/link/hwss/link_hwss_hpo_dp.c | 10 + .../drm/amd/display/dc/link/link_detection.c | 3 +- .../gpu/drm/amd/display/dc/link/link_dpms.c | 21 +- .../drm/amd/display/dc/link/link_validation.c | 8 +- .../amd/display/dc/link/protocols/link_ddc.c | 2 +- .../dc/link/protocols/link_dp_capability.c | 22 +- .../dc/link/protocols/link_dp_training.c | 9 +- .../link_dp_training_fixed_vs_pe_retimer.c | 25 +- .../link/protocols/link_edp_panel_control.c | 13 +- .../link/protocols/link_edp_panel_control.h | 1 + drivers/gpu/drm/amd/display/dmub/dmub_srv.h | 4 + .../gpu/drm/amd/display/dmub/inc/dmub_cmd.h | 131 ++++++++++ .../gpu/drm/amd/display/dmub/src/dmub_dcn31.c | 8 + .../gpu/drm/amd/display/dmub/src/dmub_dcn31.h | 2 + .../gpu/drm/amd/display/dmub/src/dmub_srv.c | 19 +- .../amd/display/include/link_service_types.h | 2 +- 68 files changed, 966 insertions(+), 388 deletions(-) -- 2.34.1