This DC patchset brings improvements in multiple areas. In summary, we highlight:
- Enable DCN 4.2.1: * Add register header files for DCN42B * Add DCN42B DC resource files * Add DCN42B DMUB support * Add DCN42B code to DC and dcn42b_soc_bb to DML2 * Add DCN42 PMO init_for_pstate_support * Enable DCN42 PMO policy and pstate pmo * Enable DCN 4.2.1 in amdgpu_dm * Enable DM for DCN 4.2.1 - Add no_native_i2c codepath - Add amdgpu_dm KUnit tests for: * amdgpu_dm_psr_set_event * dm_ism_dispatch_next_event and additional ISM functions * amdgpu_dm_colorop * color LUT functions and transfer function helpers - Enable gcov coverage for amdgpu_dm KUnit builds - Extract dm_ism_dispatch_next_event and transfer function helpers - Refactor amdgpu_dm_initialize_default_pipeline - Clean up PSR helper functions - Fix gamma 2.2 colorop TF direction in tests - Handle aux_inst for connectors without DDC pin - Fix DP_PIXEL_FORMAT fields & update clk_src for DCN4x - Avoid DPMS-on for phantom stream - Change default driver setting for "Force ODM2:1 for eDP" policy - Add DC_VALIDATE_MODE_AND_PROGRAMMING condition check for force odm2:1 - Check for sharpening case when calculating max vtaps for scaler - Add DRAM table fields to clk_mgr_internal - Enable frame skipping in 0x37B - Bound VBIOS record-chain walk loops - Clamp HDMI HDCP2 rx_id_list read to buffer size - Clamp VBIOS HDMI retimer register count to array size - Reject gpio_bitshift >= 32 in bios_parser_get_gpio_pin_info() - Use krealloc_array() in dal_vector_reserve() - Fix NULL deref and buffer over-read in SDP debugfs - Fix out-of-bounds read in dp_get_eq_aux_rd_interval() - FW Release 0.1.61.0 Cc: Daniel Wheeler <[email protected]> Alex Hung (12): drm/amd/display: Enable gcov coverage for amdgpu_dm KUnit builds drm/amd/display: Add KUnit tests for color LUT functions drm/amd/display: Extract transfer function helpers drm/amd/display: Add more color KUnit tests drm/amd/display: Refactor amdgpu_dm_initialize_default_pipeline drm/amd/display: Fix gamma 2.2 colorop TF direction in tests drm/amd/display: Add KUnit tests for amdgpu_dm_colorop drm/amd/display: Add more KUnit tests for amdgpu_dm_ism drm/amd/display: Extract dm_ism_dispatch_next_event drm/amd/display: Add KUnit tests for dm_ism_dispatch_next_event drm/amd/display: Add KUnit tests for amdgpu_dm_psr_set_event drm/amd/display: Clean up PSR helper functions Charlene Liu (1): drm/amd/display: Add DC_VALIDATE_MODE_AND_PROGRAMMING condition check for force odm2:1 Chuntao Tso (1): drm/amd/display: Enable frame skipping in 0x37B Dmytro Laktyushkin (2): drm/amd/display: Enable dcn42 pstate pmo drm/amd/display: Add DCN42 PMO init_for_pstate_support Gabe Teeger (1): drm/amd/display: Handle aux_inst for connectors without DDC pin Harry Wentland (7): drm/amd/display: Fix out-of-bounds read in dp_get_eq_aux_rd_interval() drm/amd/display: Clamp VBIOS HDMI retimer register count to array size drm/amd/display: Fix NULL deref and buffer over-read in SDP debugfs drm/amd/display: Use krealloc_array() in dal_vector_reserve() drm/amd/display: Reject gpio_bitshift >= 32 in bios_parser_get_gpio_pin_info() drm/amd/display: Clamp HDMI HDCP2 rx_id_list read to buffer size drm/amd/display: Bound VBIOS record-chain walk loops Ilya Bakoulin (1): drm/amd/display: Avoid DPMS-on for phantom stream Matthew Stewart (8): drm/amd/display: Add no_native_i2c codepath drm/amd: Add register header files for DCN42B drm/amd/display: Add DCN42B DC resource files drm/amd/display: Add dcn42b_soc_bb to DML2 drm/amd/display: Add DCN42B code to DC drm/amd/display: Add DCN42B DMUB support drm/amd/display: Enable DCN 4.2.1 in amdgpu_dm drm/amd/display: Enable DM for DCN 4.2.1 Nicholas Kazlauskas (1): drm/amd/display: Enable DCN42 PMO policy Ovidiu Bunea (3): drm/amd/display: Update get_pixel_clk_frequency() for DCN4x DCCG DP DTO drm/amd/display: Change default driver setting for "Force ODM2:1 for eDP" policy drm/amd/display: Fix DP_PIXEL_FORMAT fields & update clk_src for DCN4x Samson Tam (1): drm/amd/display: Check for sharpening case when calculating max vtaps for scaler Taimur Hassan (2): ddrm/amd/display: [FW Promotion] Release 0.1.61.0 drm/amd/display: Promote DC to 3.2.384 Wenjing Liu (1): drm/amd/display: Add DRAM table fields to clk_mgr_internal drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c | 1 + drivers/gpu/drm/amd/display/Kconfig | 2 +- .../gpu/drm/amd/display/amdgpu_dm/Makefile | 3 + .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 29 +- .../amd/display/amdgpu_dm/amdgpu_dm_color.c | 69 +- .../amd/display/amdgpu_dm/amdgpu_dm_color.h | 29 + .../amd/display/amdgpu_dm/amdgpu_dm_colorop.c | 22 +- .../amd/display/amdgpu_dm/amdgpu_dm_colorop.h | 5 + .../amd/display/amdgpu_dm/amdgpu_dm_debugfs.c | 5 + .../drm/amd/display/amdgpu_dm/amdgpu_dm_ism.c | 83 +- .../drm/amd/display/amdgpu_dm/amdgpu_dm_ism.h | 7 + .../drm/amd/display/amdgpu_dm/amdgpu_dm_psr.c | 20 +- .../drm/amd/display/amdgpu_dm/amdgpu_dm_psr.h | 4 +- .../amd/display/amdgpu_dm/tests/.kunitconfig | 8 + .../amdgpu_dm/tests/amdgpu_dm_color_test.c | 568 + .../amdgpu_dm/tests/amdgpu_dm_colorop_test.c | 102 +- .../amdgpu_dm/tests/amdgpu_dm_ism_test.c | 302 + .../amdgpu_dm/tests/amdgpu_dm_psr_test.c | 46 +- .../gpu/drm/amd/display/dc/basics/vector.c | 4 +- .../gpu/drm/amd/display/dc/bios/bios_parser.c | 15 +- .../drm/amd/display/dc/bios/bios_parser2.c | 148 +- .../amd/display/dc/bios/bios_parser_helper.h | 5 + .../display/dc/bios/command_table_helper2.c | 1 + .../gpu/drm/amd/display/dc/clk_mgr/Makefile | 10 + .../gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c | 15 + .../dc/clk_mgr/dcn42b/dcn42b_clk_mgr.c | 483 + .../dc/clk_mgr/dcn42b/dcn42b_clk_mgr.h | 48 + drivers/gpu/drm/amd/display/dc/core/dc.c | 4 +- .../gpu/drm/amd/display/dc/core/dc_resource.c | 6 + drivers/gpu/drm/amd/display/dc/dc.h | 10 +- .../gpu/drm/amd/display/dc/dc_bios_types.h | 4 + drivers/gpu/drm/amd/display/dc/dc_dp_types.h | 7 +- drivers/gpu/drm/amd/display/dc/dc_fused_io.c | 4 +- drivers/gpu/drm/amd/display/dc/dc_helper.c | 2 + .../gpu/drm/amd/display/dc/dc_spl_translate.c | 1 + drivers/gpu/drm/amd/display/dc/dce/dce_aux.c | 181 +- drivers/gpu/drm/amd/display/dc/dce/dce_aux.h | 4 + .../drm/amd/display/dc/dce/dce_clock_source.c | 83 +- .../drm/amd/display/dc/dce/dce_clock_source.h | 26 +- .../gpu/drm/amd/display/dc/dcn31/dcn31_apg.h | 13 + .../dc/dio/dcn42/dcn42_dio_link_encoder.h | 95 + .../dc/dio/dcn42/dcn42_dio_stream_encoder.c | 64 +- .../dc/dio/dcn42/dcn42_dio_stream_encoder.h | 6 + .../dml2_0/dml21/dml21_translation_helper.c | 5 +- .../dml21/inc/bounding_boxes/dcn42b_soc_bb.h | 227 + .../dc/dml2_0/dml21/inc/dml_top_types.h | 1 + .../dml21/src/dml2_pmo/dml2_pmo_dcn42.c | 223 +- .../dml21/src/dml2_pmo/dml2_pmo_dcn42.h | 2 + .../dml21/src/dml2_pmo/dml2_pmo_dcn4_fams2.c | 30 +- .../dml21/src/dml2_pmo/dml2_pmo_dcn4_fams2.h | 46 +- .../dml21/src/dml2_pmo/dml2_pmo_factory.c | 16 + .../dml21/src/dml2_top/dml2_top_soc15.c | 30 +- .../drm/amd/display/dc/dml2_0/dml2_wrapper.h | 1 + .../amd/display/dc/dpp/dcn401/dcn401_dpp.c | 8 +- drivers/gpu/drm/amd/display/dc/gpio/Makefile | 8 + .../dc/gpio/dcn42b/hw_factory_dcn42b.c | 313 + .../dc/gpio/dcn42b/hw_factory_dcn42b.h | 11 + .../dc/gpio/dcn42b/hw_translate_dcn42b.c | 192 + .../dc/gpio/dcn42b/hw_translate_dcn42b.h | 13 + .../gpu/drm/amd/display/dc/gpio/hw_factory.c | 4 + .../drm/amd/display/dc/gpio/hw_translate.c | 4 + .../hpo/dcn31/dcn31_hpo_dp_stream_encoder.h | 47 + .../display/dc/hubbub/dcn35/dcn35_hubbub.h | 198 + .../amd/display/dc/hubp/dcn42/dcn42_hubp.h | 19 + drivers/gpu/drm/amd/display/dc/hwss/Makefile | 8 + .../amd/display/dc/hwss/dcn10/dcn10_hwseq.c | 4 +- .../amd/display/dc/hwss/dcn401/dcn401_hwseq.c | 27 + .../amd/display/dc/hwss/dcn42b/dcn42b_hwseq.c | 238 + .../amd/display/dc/hwss/dcn42b/dcn42b_hwseq.h | 15 + .../amd/display/dc/hwss/dcn42b/dcn42b_init.c | 20 + .../amd/display/dc/hwss/dcn42b/dcn42b_init.h | 14 + .../gpu/drm/amd/display/dc/inc/clock_source.h | 4 +- .../gpu/drm/amd/display/dc/inc/hw/clk_mgr.h | 21 + .../amd/display/dc/inc/hw/clk_mgr_internal.h | 44 +- drivers/gpu/drm/amd/display/dc/inc/resource.h | 2 + .../display/dc/link/accessories/link_dp_cts.c | 2 + .../drm/amd/display/dc/link/link_factory.c | 86 +- .../amd/display/dc/link/protocols/link_ddc.c | 60 +- .../dc/link/protocols/link_dp_capability.c | 6 + .../link/protocols/link_edp_panel_control.c | 7 +- .../amd/display/dc/optc/dcn42/dcn42_optc.h | 179 + .../amd/display/dc/pg/dcn42/dcn42_pg_cntl.h | 86 + .../gpu/drm/amd/display/dc/resource/Makefile | 7 + .../dc/resource/dcn401/dcn401_resource.c | 4 +- .../dc/resource/dcn42/dcn42_resource.c | 17 +- .../dc/resource/dcn42/dcn42_resource.h | 3 +- .../dc/resource/dcn42b/dcn42b_resource.c | 2404 + .../dc/resource/dcn42b/dcn42b_resource.h | 672 + .../dcn42/dcn42_soc_and_ip_translator.c | 6 +- .../soc_and_ip_translator.c | 1 + drivers/gpu/drm/amd/display/dmub/dmub_srv.h | 1 + .../gpu/drm/amd/display/dmub/inc/dmub_cmd.h | 606 +- drivers/gpu/drm/amd/display/dmub/src/Makefile | 1 + .../drm/amd/display/dmub/src/dmub_dcn42b.c | 34 + .../drm/amd/display/dmub/src/dmub_dcn42b.h | 13 + .../gpu/drm/amd/display/dmub/src/dmub_srv.c | 4 + .../amd/display/include/bios_parser_types.h | 1 + .../gpu/drm/amd/display/include/dal_asic_id.h | 3 + .../gpu/drm/amd/display/include/dal_types.h | 1 + .../drm/amd/display/modules/hdcp/hdcp_ddc.c | 3 +- .../gpu/drm/amd/display/modules/power/power.c | 9 +- .../drm/amd/display/modules/power/power_abm.c | 16 +- .../include/asic_reg/clk/clk_15_0_5_offset.h | 41 + .../include/asic_reg/clk/clk_15_0_5_sh_mask.h | 44 + .../include/asic_reg/dcn/dcn_4_2_1_offset.h | 16304 +++++ .../include/asic_reg/dcn/dcn_4_2_1_sh_mask.h | 60622 ++++++++++++++++ .../include/asic_reg/dpcs/dpcs_4_0_1_offset.h | 108 + .../asic_reg/dpcs/dpcs_4_0_1_sh_mask.h | 412 + 108 files changed, 85760 insertions(+), 342 deletions(-) create mode 100644 drivers/gpu/drm/amd/display/dc/clk_mgr/dcn42b/dcn42b_clk_mgr.c create mode 100644 drivers/gpu/drm/amd/display/dc/clk_mgr/dcn42b/dcn42b_clk_mgr.h create mode 100644 drivers/gpu/drm/amd/display/dc/dml2_0/dml21/inc/bounding_boxes/dcn42b_soc_bb.h create mode 100644 drivers/gpu/drm/amd/display/dc/gpio/dcn42b/hw_factory_dcn42b.c create mode 100644 drivers/gpu/drm/amd/display/dc/gpio/dcn42b/hw_factory_dcn42b.h create mode 100644 drivers/gpu/drm/amd/display/dc/gpio/dcn42b/hw_translate_dcn42b.c create mode 100644 drivers/gpu/drm/amd/display/dc/gpio/dcn42b/hw_translate_dcn42b.h create mode 100644 drivers/gpu/drm/amd/display/dc/hwss/dcn42b/dcn42b_hwseq.c create mode 100644 drivers/gpu/drm/amd/display/dc/hwss/dcn42b/dcn42b_hwseq.h create mode 100644 drivers/gpu/drm/amd/display/dc/hwss/dcn42b/dcn42b_init.c create mode 100644 drivers/gpu/drm/amd/display/dc/hwss/dcn42b/dcn42b_init.h create mode 100644 drivers/gpu/drm/amd/display/dc/resource/dcn42b/dcn42b_resource.c create mode 100644 drivers/gpu/drm/amd/display/dc/resource/dcn42b/dcn42b_resource.h create mode 100644 drivers/gpu/drm/amd/display/dmub/src/dmub_dcn42b.c create mode 100644 drivers/gpu/drm/amd/display/dmub/src/dmub_dcn42b.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/clk/clk_15_0_5_offset.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/clk/clk_15_0_5_sh_mask.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/dcn/dcn_4_2_1_offset.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/dcn/dcn_4_2_1_sh_mask.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/dpcs/dpcs_4_0_1_offset.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/dpcs/dpcs_4_0_1_sh_mask.h -- 2.43.0
