This DC patchset brings improvements in multiple areas. In summary, we highlight: - FW Release 0.0.162.0 - Enable FPO+Vactivate - Support for VESA SCR on OLED - Refactor DMUB commands - Fixes in secure display, modeset, memleak and more - Picked up missed patches in history Cc: Daniel Wheeler <daniel.wheeler@xxxxxxx> Alan Liu (1): drm/amd/display: Fix in disabling secure display Alex Hung (2): drm/amd/display: allow edp updates for virtual signal drm/amd/display: fix a divided-by-zero error Alvin Lee (5): drm/amd/display: Only consider DISPCLK when using optimized boot path drm/amd/display: Reduce SubVP + DRR stretch margin drm/amd/display: Set watermarks set D equal to A drm/amd/display: Enable FPO + Vactive drm/amd/display: Update DTBCLK for DCN32 Anthony Koo (1): drm/amd/display: [FW Promotion] Release 0.0.162.0 Aric Cyr (1): drm/amd/display: 3.2.231 Aurabindo Pillai (13): drm/amd/display: Fix hang when skipping modeset drm/amd/display: remove incorrect early return drm/amd/display: Fixes for dcn32_clk_mgr implementation drm/amd/display: Do not clear GPINT register when releasing DMUB from reset drm/amd/display: Update bounding box values for DCN321 drm/amd/display: add support for low bpc drm/amd/display: Set DRAM clock if retraining is required drm/amd/display: Add check for PState change in DCN32 drm/amd/display: Remove DET check from DCN32 drm/amd/display: Add extra check for 444 16 format drm/amd/display: Add FAMS capability to DCN31 drm/amd/display: Add FAMS related definitions and documenation for enum fields drm/amd/display: remove some unused variables Cruise Hung (1): drm/amd/display: Reset OUTBOX0 r/w pointer on DMUB reset Daniel Miess (1): drm/amd/display: limit timing for single dimm memory Dmytro Laktyushkin (4): drm/amd/display: update max streams per surface drm/amd/display: add extra dc odm debug options drm/amd/display: set dcn315 lb bpp to 48 drm/amd/display: Limit nv21 dst_y Eric Yang (1): drm/amd/display: add mechanism to skip DCN init Hersen Wu (2): drm/amd/display: fix memleak in aconnector->timing_requested drm/amd/display: fix access hdcp_workqueue assert Igor Kravchenko (1): drm/amd/display: Set min_width and min_height capability for DCN30 Iswara Nagulendran (1): drm/amd/display: Adding support for VESA SCR Jasdeep Dhillon (1): drm/amd/display: Isolate remaining FPU code in DCN32 Jingwen Zhu (1): drm/amd/display: Improvement for handling edp link training fails Josip Pavic (3): drm/amd/display: copy dmub caps to dc on dcn31 drm/amd/display: refactor dmub commands into single function drm/amd/display: drain dmub inbox if queue is full Krunoslav Kovac (1): drm/amd/display: 3-plane MPO enablement for DCN321 Leon Huang (2): drm/amd/display: Refactor ABM feature drm/amd/display: Fix ABM pipe/backlight issues when change backlight Meenakshikumar Somasundaram (1): drm/amd/display: Adjust dmub outbox notification enable Michael Mityushkin (2): drm/amd/display: Correct output color space during HW reinitialize drm/amd/display: Apply correct panel mode when reinitializing hardware Mikita Lipski (1): drm/amd/display: Write TEST_EDID_CHECKSUM_WRITE for EDID tests Nasir Osman (1): drm/amd/display: DSC policy override when ODM combine is forced Nicholas Kazlauskas (1): drm/amd/display: Explicitly specify update type per plane info change Po-Ting Chen (1): drm/amd/display: update GSP1 generic info packet for PSRSU Rodrigo Siqueira (9): drm/amd/display: Update bouding box values for DCN32 drm/amd/display: Add missing mclk update drm/amd/display: Adjust code identation and other minor details drm/amd/display: Set maximum VStartup if is DCN201 drm/amd/display: Set dp_rate to dm_dp_rate_na by default drm/amd/display: Remove wrong assignment of DP link rate drm/amd/display: Use pointer in the memcpy drm/amd/display: Add missing WA and MCLK validation drm/amd/display: Add FAMS validation before trying to use it Samson Tam (1): drm/amd/display: Clear GPINT1 before taking DMCUB out of reset Sherry Wang (1): drm/amd/display: correct DML calc error Tianci Yin (1): drm/amd/display: Disable migration to ensure consistency of per-CPU variable Wesley Chalmers (3): drm/amd/display: Do not set drr on pipe commit drm/amd/display: Block optimize on consecutive FAMS enables drm/amd/display: Add logging for display MALL refresh setting Zhongwei (1): drm/amd/display: fix dpms_off issue when disabling bios mode hersen wu (1): drm/amd/display: Return error code on DSC atomic check failure .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 33 ++- .../drm/amd/display/amdgpu_dm/amdgpu_dm_crc.c | 31 +- .../amd/display/amdgpu_dm/amdgpu_dm_helpers.c | 31 +- .../display/amdgpu_dm/amdgpu_dm_mst_types.c | 17 +- .../gpu/drm/amd/display/amdgpu_dm/dc_fpu.c | 2 + .../drm/amd/display/dc/bios/command_table2.c | 25 +- .../dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.c | 3 + .../display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c | 4 +- .../dc/clk_mgr/dcn314/dcn314_clk_mgr.c | 4 +- .../dc/clk_mgr/dcn315/dcn315_clk_mgr.c | 4 +- .../dc/clk_mgr/dcn316/dcn316_clk_mgr.c | 4 +- .../display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c | 32 +++ drivers/gpu/drm/amd/display/dc/core/dc.c | 37 +-- .../gpu/drm/amd/display/dc/core/dc_resource.c | 3 + drivers/gpu/drm/amd/display/dc/dc.h | 5 +- drivers/gpu/drm/amd/display/dc/dc_dmub_srv.c | 201 +++++-------- drivers/gpu/drm/amd/display/dc/dc_dmub_srv.h | 15 +- drivers/gpu/drm/amd/display/dc/dc_dp_types.h | 7 + drivers/gpu/drm/amd/display/dc/dc_dsc.h | 1 + drivers/gpu/drm/amd/display/dc/dc_helper.c | 28 +- drivers/gpu/drm/amd/display/dc/dc_stream.h | 8 +- drivers/gpu/drm/amd/display/dc/dc_types.h | 2 +- drivers/gpu/drm/amd/display/dc/dce/Makefile | 2 +- drivers/gpu/drm/amd/display/dc/dce/dmub_abm.c | 264 +++++++---------- .../gpu/drm/amd/display/dc/dce/dmub_abm_lcd.c | 272 ++++++++++++++++++ .../gpu/drm/amd/display/dc/dce/dmub_abm_lcd.h | 46 +++ .../drm/amd/display/dc/dce/dmub_hw_lock_mgr.c | 4 +- .../gpu/drm/amd/display/dc/dce/dmub_outbox.c | 4 +- drivers/gpu/drm/amd/display/dc/dce/dmub_psr.c | 28 +- .../display/dc/dce110/dce110_hw_sequencer.c | 19 +- .../amd/display/dc/dcn10/dcn10_hw_sequencer.c | 4 +- .../drm/amd/display/dc/dcn20/dcn20_hwseq.c | 13 + .../gpu/drm/amd/display/dc/dcn21/dcn21_hubp.c | 7 +- .../drm/amd/display/dc/dcn21/dcn21_hwseq.c | 68 +++-- .../dc/dcn30/dcn30_dio_stream_encoder.c | 15 + .../drm/amd/display/dc/dcn30/dcn30_hwseq.c | 41 ++- .../gpu/drm/amd/display/dc/dcn30/dcn30_optc.c | 7 +- .../drm/amd/display/dc/dcn30/dcn30_resource.c | 4 +- .../display/dc/dcn31/dcn31_dio_link_encoder.c | 8 +- .../drm/amd/display/dc/dcn31/dcn31_hwseq.c | 17 +- .../gpu/drm/amd/display/dc/dcn31/dcn31_init.c | 1 + .../amd/display/dc/dcn31/dcn31_panel_cntl.c | 4 +- .../drm/amd/display/dc/dcn314/dcn314_hwseq.c | 4 +- .../drm/amd/display/dc/dcn314/dcn314_init.c | 1 + .../amd/display/dc/dcn314/dcn314_resource.c | 20 ++ .../drm/amd/display/dc/dcn32/dcn32_hwseq.c | 19 +- .../drm/amd/display/dc/dcn32/dcn32_resource.c | 48 ++-- .../amd/display/dc/dcn321/dcn321_resource.c | 8 +- drivers/gpu/drm/amd/display/dc/dm_services.h | 7 + .../drm/amd/display/dc/dm_services_types.h | 6 + .../drm/amd/display/dc/dml/dcn20/dcn20_fpu.c | 178 ++++++------ .../drm/amd/display/dc/dml/dcn30/dcn30_fpu.c | 18 +- .../dc/dml/dcn30/display_mode_vba_30.c | 6 +- .../dc/dml/dcn30/display_rq_dlg_calc_30.c | 4 +- .../drm/amd/display/dc/dml/dcn31/dcn31_fpu.c | 2 +- .../dc/dml/dcn31/display_mode_vba_31.c | 4 +- .../dc/dml/dcn314/display_mode_vba_314.c | 4 +- .../drm/amd/display/dc/dml/dcn32/dcn32_fpu.c | 22 +- .../drm/amd/display/dc/dml/dcn32/dcn32_fpu.h | 2 + .../dc/dml/dcn32/display_mode_vba_32.c | 1 - .../dc/dml/dcn32/display_mode_vba_util_32.c | 20 +- .../amd/display/dc/dml/dcn321/dcn321_fpu.c | 24 +- drivers/gpu/drm/amd/display/dc/dsc/dc_dsc.c | 10 +- drivers/gpu/drm/amd/display/dc/inc/hw/abm.h | 6 + .../gpu/drm/amd/display/dc/link/link_dpms.c | 5 + .../dc/link/protocols/link_dp_capability.c | 11 +- .../display/dc/link/protocols/link_dp_dpia.c | 2 +- .../dc/link/protocols/link_dp_training.c | 5 +- .../link/protocols/link_edp_panel_control.c | 30 +- drivers/gpu/drm/amd/display/dmub/dmub_srv.h | 1 - .../gpu/drm/amd/display/dmub/inc/dmub_cmd.h | 28 +- .../gpu/drm/amd/display/dmub/src/dmub_dcn21.c | 6 - .../gpu/drm/amd/display/dmub/src/dmub_dcn21.h | 4 - .../gpu/drm/amd/display/dmub/src/dmub_dcn32.c | 11 +- .../gpu/drm/amd/display/dmub/src/dmub_srv.c | 25 +- .../drm/amd/display/include/signal_types.h | 1 + .../amd/display/modules/power/power_helpers.c | 4 + include/drm/display/drm_dp.h | 3 + 78 files changed, 1149 insertions(+), 726 deletions(-) create mode 100644 drivers/gpu/drm/amd/display/dc/dce/dmub_abm_lcd.c create mode 100644 drivers/gpu/drm/amd/display/dc/dce/dmub_abm_lcd.h -- 2.34.1