This DC patchset brings improvements in multiple areas. In summary, we have: - SPL improvements. - Address coverity issues. - DML2 fixes. - Code cleanup. - DIO and DCCG refactor. - Improve the PSR state. Cc: Daniel Wheeler <daniel.wheeler@xxxxxxx> Thanks Siqueira Alex Hung (7): drm/amd/display: Fix possible overflow in integer multiplication drm/amd/display: Check null pointers before using them drm/amd/display: Check stream_status before it is used drm/amd/display: Avoid overflow assignment in link_dp_cts drm/amd/display: Check null values from functions drm/amd/display: Initialize get_bytes_per_element's default to 1 drm/amd/display: Check UnboundedRequestEnabled's value Alvin Lee (2): drm/amd/display: Add option to disable unbounded req in DML21 drm/amd/display: For FAMS2 don't program P-State force from driver Aric Cyr (1): drm/amd/display: 3.2.294 Bhuvanachandra Pinninti (1): drm/amd/display: Refactor for dio Charlene Liu (2): drm/amd/display: restore immediate_disable_crtc for w/a drm/amd/display: sync dmub output event type. Chris Park (1): drm/amd/display: Add two dmmuy I2C entry for GPIO port mapping issue Cruise (2): drm/amd/display: Add logs for debugging outbox drm/amd/display: Get link index for AUX reply notification Daniel Sa (1): drm/amd/display: Underflow Seen on DCN401 eGPU Hansen Dsouza (2): drm/amd/display: Add new enable and disable functions drm/amd/display: Add new enable and disable functions for DCN35 Ilya Bakoulin (1): drm/amd/display: Use correct cm_helper function Leo Li (2): drm/amd/display: Let drm_crtc_vblank_on/off manage interrupts drm/amd/display: Run idle optimizations at end of vblank handler Meenakshikumar Somasundaram (1): drm/amd/display: Enable aux transfer path via dmub for dp tunneling Nicholas Kazlauskas (3): drm/amd/display: Request 0MHz dispclk for zero display case drm/amd/display: Add seamless boot support for more DIG operation modes drm/amd/display: Use gpuvm_min_page_size_kbytes for DML2 surfaces Rodrigo Siqueira (9): drm/amd/display: Re-order enum in a header file drm/amd/display: Setup two pixel per container drm/amd/display: Replace dm_execute_dmub_cmd with dc_wake_and_execute_dmub_cmd drm/amd/display: Add missing DET segments programming drm/amd/display: Remove duplicated code drm/amd/display: Add missing mcache registers drm/amd/display: Add dcc propagation value drm/amd/display: Add missing registers for dcn32 drm/amd/display: Remove unused code Samson Tam (1): drm/amd/display: roll back quality EASF and ISHARP and dc dependency changes Sung Lee (1): drm/amd/display: Fix Cursor Offset in Scaled Scenarios Tom Chung (2): drm/amd/display: Add a missing PSR state drm/amd/display: Reset VRR config during resume .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 46 +- .../amd/display/amdgpu_dm/amdgpu_dm_crtc.c | 60 +- drivers/gpu/drm/amd/display/dc/Makefile | 1 - .../display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c | 4 +- drivers/gpu/drm/amd/display/dc/core/dc.c | 14 +- .../gpu/drm/amd/display/dc/core/dc_resource.c | 2 + drivers/gpu/drm/amd/display/dc/core/dc_stat.c | 1 + drivers/gpu/drm/amd/display/dc/dc.h | 2 +- drivers/gpu/drm/amd/display/dc/dc_dmub_srv.c | 3 + drivers/gpu/drm/amd/display/dc/dc_dp_types.h | 2 +- .../gpu/drm/amd/display/dc/dc_spl_translate.c | 50 +- .../gpu/drm/amd/display/dc/dc_spl_translate.h | 1 - drivers/gpu/drm/amd/display/dc/dc_types.h | 1 + .../amd/display/dc/dccg/dcn35/dcn35_dccg.c | 266 ++- drivers/gpu/drm/amd/display/dc/dce/dce_aux.c | 10 +- drivers/gpu/drm/amd/display/dc/dce/dmub_psr.c | 2 + .../gpu/drm/amd/display/dc/dce/dmub_replay.c | 3 +- .../gpu/drm/amd/display/dc/dcn301/Makefile | 2 +- .../gpu/drm/amd/display/dc/dcn314/Makefile | 10 - drivers/gpu/drm/amd/display/dc/dio/Makefile | 18 + .../dcn301/dcn301_dio_link_encoder.c | 0 .../dcn301/dcn301_dio_link_encoder.h | 0 .../dcn314/dcn314_dio_stream_encoder.c | 0 .../dcn314/dcn314_dio_stream_encoder.h | 0 .../dc/dio/dcn321/dcn321_dio_link_encoder.c | 1 - .../dc/dio/dcn35/dcn35_dio_stream_encoder.c | 20 +- .../dc/dml/dcn20/display_rq_dlg_calc_20v2.c | 2 +- .../dc/dml/dcn21/display_rq_dlg_calc_21.c | 2 +- .../dc/dml2/dml21/dml21_translation_helper.c | 13 +- .../src/dml2_core/dml2_core_dcn4_calcs.c | 2 +- .../dml21/src/dml2_pmo/dml2_pmo_dcn4_fams2.c | 8 + .../display/dc/dml2/dml2_translation_helper.c | 20 +- .../drm/amd/display/dc/dml2/dml2_wrapper.c | 2 +- .../display/dc/dpp/dcn401/dcn401_dpp_dscl.c | 568 +++--- .../dc/gpio/dcn401/hw_factory_dcn401.c | 16 +- .../amd/display/dc/hubp/dcn401/dcn401_hubp.c | 5 +- .../amd/display/dc/hwss/dcn35/dcn35_hwseq.c | 2 + .../amd/display/dc/hwss/dcn401/dcn401_hwseq.c | 30 +- .../amd/display/dc/hwss/dcn401/dcn401_init.c | 1 - .../gpu/drm/amd/display/dc/inc/hw/clk_mgr.h | 3 - .../amd/display/dc/inc/hw/stream_encoder.h | 1 + .../gpu/drm/amd/display/dc/inc/hw/transform.h | 10 - .../display/dc/link/accessories/link_dp_cts.c | 3 +- .../amd/display/dc/optc/dcn31/dcn31_optc.c | 8 +- .../dc/resource/dcn32/dcn32_resource.h | 5 + .../resource/dcn32/dcn32_resource_helpers.c | 4 +- .../dc/resource/dcn401/dcn401_resource.c | 8 +- .../dc/resource/dcn401/dcn401_resource.h | 4 +- drivers/gpu/drm/amd/display/dc/spl/Makefile | 2 +- drivers/gpu/drm/amd/display/dc/spl/dc_spl.c | 1310 +++++-------- .../drm/amd/display/dc/spl/dc_spl_filters.c | 15 - .../drm/amd/display/dc/spl/dc_spl_filters.h | 15 - .../display/dc/spl/dc_spl_isharp_filters.c | 427 +--- .../display/dc/spl/dc_spl_isharp_filters.h | 33 +- .../display/dc/spl/dc_spl_scl_easf_filters.c | 1726 ----------------- .../display/dc/spl/dc_spl_scl_easf_filters.h | 38 - .../amd/display/dc/spl/dc_spl_scl_filters.c | 92 +- .../amd/display/dc/spl/dc_spl_scl_filters.h | 55 +- .../display/dc/spl/dc_spl_scl_filters_old.c | 25 + .../gpu/drm/amd/display/dc/spl/dc_spl_types.h | 75 +- .../gpu/drm/amd/display/dc/spl/spl_debug.h | 23 - .../drm/amd/display/dc/spl/spl_fixpt31_32.c | 518 ----- .../drm/amd/display/dc/spl/spl_fixpt31_32.h | 546 ------ drivers/gpu/drm/amd/display/dmub/dmub_srv.h | 3 + .../gpu/drm/amd/display/dmub/src/dmub_dcn31.c | 4 + .../gpu/drm/amd/display/dmub/src/dmub_dcn32.c | 4 + .../gpu/drm/amd/display/dmub/src/dmub_dcn35.c | 4 + .../drm/amd/display/dmub/src/dmub_dcn401.c | 4 + .../gpu/drm/amd/display/include/dpcd_defs.h | 1 + 69 files changed, 1510 insertions(+), 4646 deletions(-) delete mode 100644 drivers/gpu/drm/amd/display/dc/dcn314/Makefile rename drivers/gpu/drm/amd/display/dc/{ => dio}/dcn301/dcn301_dio_link_encoder.c (100%) rename drivers/gpu/drm/amd/display/dc/{ => dio}/dcn301/dcn301_dio_link_encoder.h (100%) rename drivers/gpu/drm/amd/display/dc/{ => dio}/dcn314/dcn314_dio_stream_encoder.c (100%) rename drivers/gpu/drm/amd/display/dc/{ => dio}/dcn314/dcn314_dio_stream_encoder.h (100%) delete mode 100644 drivers/gpu/drm/amd/display/dc/spl/dc_spl_filters.c delete mode 100644 drivers/gpu/drm/amd/display/dc/spl/dc_spl_filters.h delete mode 100644 drivers/gpu/drm/amd/display/dc/spl/dc_spl_scl_easf_filters.c delete mode 100644 drivers/gpu/drm/amd/display/dc/spl/dc_spl_scl_easf_filters.h create mode 100644 drivers/gpu/drm/amd/display/dc/spl/dc_spl_scl_filters_old.c delete mode 100644 drivers/gpu/drm/amd/display/dc/spl/spl_debug.h delete mode 100644 drivers/gpu/drm/amd/display/dc/spl/spl_fixpt31_32.c delete mode 100644 drivers/gpu/drm/amd/display/dc/spl/spl_fixpt31_32.h -- 2.43.0