This DC patchset brings improvements in multiple areas. In summary, we highlight:
- Add allow_clock_gating to dcn42 dccg. - Bypass post csc for additional color spaces in dcn42. - Remove unused dml2_project. - Unset Replay desync error verification by default. - Align HWSS fast commit path with legacy path. - Fix implicit narrowing conversion warnings. - Enable driver power gating. - Fix double free. - Introduce power module on Linux. - Add power module on Linux. - Fix fpu guard warning. - Add Replay/PSR active check in link loss status check. - Remove SYMCLK F and G values from link encoder and MANUAL_FLOW_CONTROL from optc. - Add minimum vfp requirement. - Fix narrowing boundaries and eDP parser assignment. - Fix dml2_0 narrowing boundaries. - Add README.md file to DML2_0 repository. - Fix DPMS using partially updated pipe context. - Move dml2_destroy to non-FPU compilation unit. Cc: Daniel Wheeler <[email protected]> Allen Li (2): drm/amd/display: Unset Replay desync error verification by default drm/amd/display: Add Replay/PSR active check in link loss status check Andrew Lichmanov (1): drm/amd/display: Remove SYMCLK F and G values from link encoder and MANUAL_FLOW_CONTROL from optc Dillon Varone (1): drm/amd/display: Add minimum vfp requirement Dominik Kaszewski (1): drm/amd/display: Fix DPMS using partially updated pipe context Gaghik Khachatrian (3): drm/amd/display: Fix implicit narrowing conversion warnings drm/amd/display: Fix narrowing boundaries and eDP parser assignment drm/amd/display: Fix dml2_0 narrowing boundaries Ilya Bakoulin (1): drm/amd/display: Fix double free Rafal Ostrowski (2): drm/amd/display: Align HWSS fast commit path with legacy path drm/amd/display: Move dml2_destroy to non-FPU compilation unit Ray Wu (2): drm/amd/display: Introduce power module on Linux drm/amd/display: Add power module on Linux Roman Li (3): drm/amd/display: Add allow_clock_gating to dcn42 dccg drm/amd/display: bypass post csc for additional color spaces in dcn42 drm/amd/display: Remove unused dml2_project Samson Tam (1): drm/amd/display: Add README.md file to DML2_0 repository Taimur Hassan (1): drm/amd/display: Promote DC to 3.2.379 Wayne Lin (1): drm/amd/display: Fix fpu guard warning .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 344 +- .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h | 10 + .../drm/amd/display/amdgpu_dm/amdgpu_dm_crc.c | 36 +- .../amd/display/amdgpu_dm/amdgpu_dm_crtc.c | 74 +- .../amd/display/amdgpu_dm/amdgpu_dm_crtc.h | 5 +- .../amd/display/amdgpu_dm/amdgpu_dm_debugfs.c | 60 +- .../drm/amd/display/amdgpu_dm/amdgpu_dm_ism.c | 26 +- .../drm/amd/display/amdgpu_dm/amdgpu_dm_psr.c | 242 +- .../drm/amd/display/amdgpu_dm/amdgpu_dm_psr.h | 13 +- .../amd/display/amdgpu_dm/amdgpu_dm_replay.c | 143 +- .../amd/display/amdgpu_dm/amdgpu_dm_replay.h | 28 +- .../display/amdgpu_dm/amdgpu_dm_services.c | 27 + .../drm/amd/display/dc/basics/custom_float.c | 2 +- .../gpu/drm/amd/display/dc/basics/dce_calcs.c | 2 +- .../gpu/drm/amd/display/dc/bios/bios_parser.c | 6 +- .../drm/amd/display/dc/bios/bios_parser2.c | 21 +- .../drm/amd/display/dc/bios/command_table.c | 12 +- .../drm/amd/display/dc/bios/command_table2.c | 4 +- .../dc/clk_mgr/dce110/dce110_clk_mgr.c | 6 +- .../amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c | 12 +- .../display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c | 39 +- .../display/dc/clk_mgr/dcn301/vg_clk_mgr.c | 13 +- .../display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c | 14 +- .../dc/clk_mgr/dcn314/dcn314_clk_mgr.c | 14 +- .../dc/clk_mgr/dcn315/dcn315_clk_mgr.c | 15 +- .../dc/clk_mgr/dcn316/dcn316_clk_mgr.c | 15 +- .../display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c | 43 +- .../display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c | 16 +- .../dc/clk_mgr/dcn401/dcn401_clk_mgr.c | 40 +- .../display/dc/clk_mgr/dcn42/dcn42_clk_mgr.c | 22 +- .../amd/display/dc/clk_mgr/dcn42/dcn42_smu.c | 1 - drivers/gpu/drm/amd/display/dc/core/dc.c | 206 +- .../drm/amd/display/dc/core/dc_hw_sequencer.c | 565 ++- .../gpu/drm/amd/display/dc/core/dc_resource.c | 66 +- .../gpu/drm/amd/display/dc/core/dc_stream.c | 26 +- .../gpu/drm/amd/display/dc/core/dc_surface.c | 2 +- drivers/gpu/drm/amd/display/dc/dc.h | 17 +- drivers/gpu/drm/amd/display/dc/dc_dmub_srv.c | 137 +- drivers/gpu/drm/amd/display/dc/dc_fused_io.c | 6 +- drivers/gpu/drm/amd/display/dc/dc_helper.c | 12 +- drivers/gpu/drm/amd/display/dc/dc_stream.h | 38 +- drivers/gpu/drm/amd/display/dc/dc_types.h | 30 + .../amd/display/dc/dccg/dcn31/dcn31_dccg.c | 4 +- .../amd/display/dc/dccg/dcn401/dcn401_dccg.c | 20 +- .../amd/display/dc/dccg/dcn42/dcn42_dccg.c | 2 + drivers/gpu/drm/amd/display/dc/dce/dce_aux.c | 4 +- .../drm/amd/display/dc/dce/dce_clock_source.c | 24 +- .../gpu/drm/amd/display/dc/dce/dce_i2c_hw.c | 2 +- .../gpu/drm/amd/display/dc/dce/dce_i2c_sw.c | 16 +- .../drm/amd/display/dc/dce/dce_panel_cntl.c | 4 +- .../drm/amd/display/dc/dce/dce_transform.c | 8 +- .../gpu/drm/amd/display/dc/dce/dmub_abm_lcd.c | 14 +- drivers/gpu/drm/amd/display/dc/dce/dmub_psr.c | 12 +- .../gpu/drm/amd/display/dc/dce/dmub_replay.c | 23 +- .../display/dc/dce80/dce80_timing_generator.c | 2 +- .../amd/display/dc/dcn10/dcn10_cm_common.c | 4 +- .../drm/amd/display/dc/dcn30/dcn30_mmhubbub.c | 16 +- .../dc/dio/dcn401/dcn401_dio_stream_encoder.c | 2 +- .../dc/dio/dcn42/dcn42_dio_link_encoder.h | 2 - .../dc/dio/dcn42/dcn42_dio_stream_encoder.c | 4 +- .../drm/amd/display/dc/dml/calcs/dcn_calcs.c | 5 +- .../drm/amd/display/dc/dml/dcn20/dcn20_fpu.c | 9 +- .../drm/amd/display/dc/dml/dcn20/dcn20_fpu.h | 2 +- .../drm/amd/display/dc/dml/dcn30/dcn30_fpu.c | 2 +- .../drm/amd/display/dc/dml/dcn31/dcn31_fpu.c | 6 +- .../drm/amd/display/dc/dml/dcn31/dcn31_fpu.h | 6 +- .../drm/amd/display/dc/dml/dcn32/dcn32_fpu.c | 37 +- .../gpu/drm/amd/display/dc/dml2_0/README.md | 31 + .../amd/display/dc/dml2_0/display_mode_core.c | 14 +- .../amd/display/dc/dml2_0/display_mode_util.c | 20 +- .../dml2_0/dml21/dml21_translation_helper.c | 15 +- .../amd/display/dc/dml2_0/dml21/dml21_utils.c | 2 +- .../display/dc/dml2_0/dml21/dml21_wrapper.c | 4 +- .../dc/dml2_0/dml21/inc/dml_top_types.h | 1 - .../dml21/src/dml2_core/dml2_core_factory.c | 1 - .../dml21/src/dml2_dpmm/dml2_dpmm_factory.c | 1 - .../dml21/src/dml2_mcg/dml2_mcg_factory.c | 1 - .../dml21/src/dml2_pmo/dml2_pmo_factory.c | 3 +- .../dml21/src/dml2_top/dml2_top_interfaces.c | 1 - .../amd/display/dc/dml2_0/dml2_mall_phantom.c | 100 +- .../drm/amd/display/dc/dml2_0/dml2_policy.c | 6 +- .../dc/dml2_0/dml2_translation_helper.c | 4 +- .../drm/amd/display/dc/dml2_0/dml2_utils.c | 40 +- .../drm/amd/display/dc/dml2_0/dml2_wrapper.c | 11 + .../amd/display/dc/dml2_0/dml2_wrapper_fpu.c | 10 - .../drm/amd/display/dc/dpp/dcn42/dcn42_dpp.c | 6 +- .../drm/amd/display/dc/dsc/dcn20/dcn20_dsc.c | 16 +- .../gpu/drm/amd/display/dc/dsc/rc_calc_dpi.c | 33 +- drivers/gpu/drm/amd/display/dc/gpio/hw_ddc.c | 2 +- .../gpu/drm/amd/display/dc/gpio/hw_generic.c | 2 +- drivers/gpu/drm/amd/display/dc/gpio/hw_gpio.c | 2 +- drivers/gpu/drm/amd/display/dc/gpio/hw_gpio.h | 9 + drivers/gpu/drm/amd/display/dc/gpio/hw_hpd.c | 2 +- .../display/dc/hubbub/dcn10/dcn10_hubbub.c | 16 +- .../display/dc/hubbub/dcn20/dcn20_hubbub.c | 28 +- .../display/dc/hubbub/dcn20/dcn20_hubbub.h | 3 + .../display/dc/hubbub/dcn21/dcn21_hubbub.c | 12 +- .../display/dc/hubbub/dcn30/dcn30_hubbub.c | 12 +- .../display/dc/hubbub/dcn31/dcn31_hubbub.c | 12 +- .../amd/display/dc/hubp/dcn20/dcn20_hubp.c | 4 +- .../amd/display/dc/hubp/dcn21/dcn21_hubp.c | 4 +- .../amd/display/dc/hubp/dcn30/dcn30_hubp.c | 4 +- .../amd/display/dc/hwss/dce110/dce110_hwseq.c | 33 +- .../amd/display/dc/hwss/dce120/dce120_hwseq.c | 12 +- .../amd/display/dc/hwss/dcn10/dcn10_hwseq.c | 12 +- .../amd/display/dc/hwss/dcn20/dcn20_hwseq.c | 13 +- .../amd/display/dc/hwss/dcn21/dcn21_hwseq.c | 8 +- .../amd/display/dc/hwss/dcn30/dcn30_hwseq.c | 16 +- .../amd/display/dc/hwss/dcn314/dcn314_hwseq.c | 4 +- .../amd/display/dc/hwss/dcn32/dcn32_hwseq.c | 4 +- .../amd/display/dc/hwss/dcn35/dcn35_hwseq.c | 6 +- .../amd/display/dc/hwss/dcn401/dcn401_hwseq.c | 18 +- .../drm/amd/display/dc/hwss/hw_sequencer.h | 138 + drivers/gpu/drm/amd/display/dc/inc/bw_fixed.h | 2 +- .../dc/irq/dce110/irq_service_dce110.c | 2 +- .../display/dc/link/accessories/link_dp_cts.c | 37 +- .../display/dc/link/hwss/link_hwss_hpo_dp.c | 4 +- .../drm/amd/display/dc/link/link_detection.c | 4 +- .../gpu/drm/amd/display/dc/link/link_dpms.c | 16 +- .../drm/amd/display/dc/link/link_factory.c | 6 +- .../amd/display/dc/link/protocols/link_ddc.c | 5 +- .../dc/link/protocols/link_dp_capability.c | 2 +- .../display/dc/link/protocols/link_dp_dpia.c | 2 +- .../dc/link/protocols/link_dp_dpia_bw.c | 10 +- .../dc/link/protocols/link_dp_irq_handler.c | 57 +- .../dc/link/protocols/link_dp_panel_replay.c | 27 +- .../link/protocols/link_dp_training_8b_10b.c | 10 +- .../link/protocols/link_edp_panel_control.c | 41 +- .../dc/mmhubbub/dcn20/dcn20_mmhubbub.c | 4 +- .../dc/mmhubbub/dcn32/dcn32_mmhubbub.c | 4 +- .../amd/display/dc/optc/dcn20/dcn20_optc.c | 4 +- .../amd/display/dc/optc/dcn42/dcn42_optc.h | 1 - .../dc/resource/dce110/dce110_resource.c | 4 +- .../dc/resource/dcn10/dcn10_resource.c | 4 +- .../dc/resource/dcn20/dcn20_resource.c | 24 +- .../dc/resource/dcn21/dcn21_resource.c | 9 +- .../dc/resource/dcn30/dcn30_resource.c | 14 +- .../dc/resource/dcn301/dcn301_resource.c | 8 +- .../dc/resource/dcn302/dcn302_resource.c | 4 +- .../dc/resource/dcn303/dcn303_resource.c | 4 +- .../dc/resource/dcn31/dcn31_resource.c | 11 +- .../dc/resource/dcn314/dcn314_resource.c | 4 +- .../dc/resource/dcn315/dcn315_resource.c | 11 +- .../dc/resource/dcn316/dcn316_resource.c | 11 +- .../dc/resource/dcn32/dcn32_resource.c | 20 +- .../resource/dcn32/dcn32_resource_helpers.c | 2 +- .../dc/resource/dcn321/dcn321_resource.c | 4 +- .../dc/resource/dcn35/dcn35_resource.c | 4 +- .../dc/resource/dcn351/dcn351_resource.c | 4 +- .../dc/resource/dcn36/dcn36_resource.c | 4 +- .../dc/resource/dcn401/dcn401_resource.c | 4 +- .../dc/resource/dcn42/dcn42_resource.c | 4 +- .../dcn401/dcn401_soc_and_ip_translator.c | 42 +- .../dcn42/dcn42_soc_and_ip_translator.c | 14 +- .../drm/amd/display/modules/inc/mod_power.h | 415 +++ .../display/modules/info_packet/info_packet.c | 2 +- .../drm/amd/display/modules/power/Makefile | 2 +- .../gpu/drm/amd/display/modules/power/power.c | 3030 +++++++++++++++++ .../amd/display/modules/power/power_helpers.c | 16 +- 159 files changed, 5833 insertions(+), 1416 deletions(-) create mode 100644 drivers/gpu/drm/amd/display/dc/dml2_0/README.md create mode 100644 drivers/gpu/drm/amd/display/modules/inc/mod_power.h create mode 100644 drivers/gpu/drm/amd/display/modules/power/power.c -- 2.43.0
