This DC patchset brings improvements in multiple areas. In summary, we highlight: - Fixes on DCN35, DCN401 and IPS - Enhancements in DMUB and DSC - Misc fixes for Coverity errors Cc: Daniel Wheeler <daniel.wheeler@xxxxxxx> Alex Hung (2): drm/amd/display: Check null pointer before dereferencing se drm/amd/display: Remove always-false branches Aric Cyr (2): drm/amd/display: 3.2.300 drm/amd/display: 3.2.301 Aurabindo Pillai (1): drm/amd/display: Fix underflow when setting underscan on DCN401 Charlene Liu (2): drm/amd/display: Use full update for swizzle mode change drm/amd/display: Clear cached watermark after resume Daniel Sa (1): drm/amd/display: Emulate Display Hotplug Hang Dillon Varone (1): drm/amd/display: Block timing sync for different output formats in pmo Leo Ma (1): drm/amd/display: Add HDMI DSC native YCbCr422 support Martin Tsai (1): drm/amd/display: Clean up dsc blocks in accelerated mode Nicholas Kazlauskas (1): drm/amd/display: Block dynamic IPS2 on DCN35 for incompatible FW versions Peichen Huang (1): drm/amd/display: Restructure dpia link training Relja Vojvodic (1): drm/amd/display: Add fullscreen only sharpening policy Robin Chen (1): drm/amd/display: Round calculated vtotal Roman Li (2): drm/amd/display: Add dmub hpd sense callback drm/amd/display: Update IPS default mode for DCN35/DCN351 Ryan Seto (1): drm/amd/display: Implement new DPCD register handling Samson Tam (2): drm/amd/display: Use SDR white level to calculate matrix coefficients drm/amd/display: Add debug options to change sharpen policies Sung Joon Kim (1): drm/amd/display: Disable SYMCLK32_LE root clock gating Yihan Zhu (1): drm/amd/display: Enable DML2 override_det_buffer_size_kbytes Zhikai Zhai (1): drm/amd/display: Skip to enable dsc if it has been off .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 70 +++++++++++---- .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h | 2 +- .../display/amdgpu_dm/amdgpu_dm_mst_types.c | 4 +- .../gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c | 9 +- .../display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c | 6 ++ drivers/gpu/drm/amd/display/dc/core/dc.c | 41 ++++++++- drivers/gpu/drm/amd/display/dc/dc.h | 14 ++- drivers/gpu/drm/amd/display/dc/dc_dp_types.h | 12 +++ drivers/gpu/drm/amd/display/dc/dc_dsc.h | 4 +- .../gpu/drm/amd/display/dc/dc_spl_translate.c | 14 ++- .../dc/dml/dcn20/display_rq_dlg_calc_20.c | 3 - .../dc/dml/dcn20/display_rq_dlg_calc_20v2.c | 3 - .../dc/dml/dcn31/display_mode_vba_31.c | 9 -- .../dc/dml2/dml21/dml21_translation_helper.c | 4 +- .../dml21/src/dml2_pmo/dml2_pmo_dcn4_fams2.c | 8 +- drivers/gpu/drm/amd/display/dc/dsc/dc_dsc.c | 15 ++-- .../display/dc/hubbub/dcn35/dcn35_hubbub.c | 1 + .../amd/display/dc/hwss/dce110/dce110_hwseq.c | 50 +++++++++++ .../amd/display/dc/hwss/dcn32/dcn32_hwseq.c | 14 +++ .../amd/display/dc/hwss/dcn35/dcn35_hwseq.c | 13 +++ .../amd/display/dc/link/hwss/link_hwss_dpia.c | 31 ++++++- .../drm/amd/display/dc/link/link_validation.c | 7 ++ .../dc/link/protocols/link_dp_capability.c | 5 ++ .../dc/link/protocols/link_dp_training.c | 80 +++++++++++++++-- .../dc/link/protocols/link_dp_training.h | 16 +++- .../link/protocols/link_dp_training_8b_10b.c | 21 +++-- .../dc/link/protocols/link_dp_training_dpia.c | 64 ++++++++------ .../dc/link/protocols/link_dp_training_dpia.h | 19 +++++ .../dc/resource/dcn35/dcn35_resource.c | 1 + .../dc/resource/dcn351/dcn351_resource.c | 3 +- drivers/gpu/drm/amd/display/dc/spl/dc_spl.c | 54 ++++++++---- .../display/dc/spl/dc_spl_isharp_filters.c | 85 +++++++++++++++++-- .../display/dc/spl/dc_spl_isharp_filters.h | 9 +- .../gpu/drm/amd/display/dc/spl/dc_spl_types.h | 15 +++- drivers/gpu/drm/amd/display/dmub/dmub_srv.h | 1 + .../gpu/drm/amd/display/dmub/inc/dmub_cmd.h | 25 +++++- .../gpu/drm/amd/display/dmub/src/dmub_dcn35.c | 1 + .../amd/display/modules/freesync/freesync.c | 2 +- 38 files changed, 588 insertions(+), 147 deletions(-) -- 2.34.1