This DC patchset brings improvements in multiple areas. In summary, we highlight: * bandwidth optimizations on following fast updates * fixes and code improvements of DP connector blanking * add thread to offload work of MST HPD IRQ function * fix gamma coefficients * provide backlight support for APUs without DMUB support * coverity memory leak and warning fixes * DSC MST bandwidth calculation fixes * DMUB enhances Anson Jacob (3): drm/amd/display: Fix false BAD_FREE warning from Coverity drm/amd/display: Fix multiple memory leaks reported by coverity drm/amd/display: Revert "Directly retrain link from debugfs" Anthony Koo (2): drm/amd/display: [FW Promotion] Release 0.0.81 drm/amd/display: [FW Promotion] Release 0.0.82 Aric Cyr (2): drm/amd/display: 3.2.151 drm/amd/display: 3.2.152 Aurabindo Pillai (1): drm/amd/display: Add flag to detect dpms force off during HPD Dale Zhao (1): drm/amd/display: Refine condition of cursor visibility for pipe-split Eric Yang (1): drm/amd/display: Add periodic detection when zstate is enabled Harry Wentland (1): drm/amd/display: Get backlight from PWM if DMCU is not initialized Hersen Wu (1): drm/amd/display: dsc mst 2 4K displays go dark with 2 lane HBR3 Ian Chen (1): drm/amd/display: remove force_enable_edp_fec param. Jaehyun Chung (3): drm/amd/display: Add regamma/degamma coefficients and set sRGB when TF is BT709 drm/amd/display: Correct degamma coefficients drm/amd/display: Revert adding degamma coefficients Jimmy Kizito (1): drm/amd/display: Fix dynamic link encoder access. Josip Pavic (1): drm/amd/display: unblock abm when odm is enabled only on configs that support it Leo (Hanghong) Ma (3): drm/amd/display: Add DPCD writes at key points drm/amd/display: Fix system hang at boot drm/amd/display: Add helper for blanking all dp displays Meenakshikumar Somasundaram (2): drm/amd/display: Fix for null pointer access for ddc pin and aux engine. drm/amd/display: Link training retry fix for abort case Michael Strauss (2): drm/amd/display: Add VPG and AFMT low power support for DCN3.1 drm/amd/display: Enable mem low power control for DCN3.1 sub-IP blocks Nicholas Kazlauskas (1): drm/amd/display: Optimize bandwidth on following fast update Qingqing Zhuo (3): drm/amd/display: Revert "dc: w/a for hard hang on HPD on native DP" drm/amd/display: Apply w/a for hard hang on HPD drm/amd/display: Fix unstable HPCP compliance on Chrome Barcelo Wayne Lin (2): drm/amd/display: Add option to defer works of hpd_rx_irq drm/amd/display: Fork thread to offload work of hpd_rx_irq Wenjing Liu (2): drm/amd/display: move bpp range decision in decide dsc bw range function drm/amd/display: update conditions to do dfp cap ext validation .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 266 ++++++++++++++---- .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h | 51 +++- .../amd/display/amdgpu_dm/amdgpu_dm_debugfs.c | 3 +- .../amd/display/amdgpu_dm/amdgpu_dm_hdcp.c | 16 +- .../amd/display/amdgpu_dm/amdgpu_dm_helpers.c | 6 + .../display/amdgpu_dm/amdgpu_dm_mst_types.c | 18 +- .../display/amdgpu_dm/amdgpu_dm_mst_types.h | 11 +- .../amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c | 16 +- .../display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c | 4 +- drivers/gpu/drm/amd/display/dc/core/dc.c | 31 +- drivers/gpu/drm/amd/display/dc/core/dc_link.c | 139 ++++++++- .../gpu/drm/amd/display/dc/core/dc_link_dp.c | 138 ++++++--- .../drm/amd/display/dc/core/dc_link_dpcd.c | 11 +- .../drm/amd/display/dc/core/dc_link_enc_cfg.c | 25 +- .../drm/amd/display/dc/core/dc_link_hwss.c | 20 +- .../gpu/drm/amd/display/dc/core/dc_resource.c | 3 +- drivers/gpu/drm/amd/display/dc/dc.h | 9 +- drivers/gpu/drm/amd/display/dc/dc_dsc.h | 6 +- drivers/gpu/drm/amd/display/dc/dc_link.h | 10 +- drivers/gpu/drm/amd/display/dc/dce/dce_aux.c | 12 +- .../drm/amd/display/dc/dce/dce_panel_cntl.c | 10 - .../amd/display/dc/dce/dce_stream_encoder.c | 2 + .../display/dc/dce110/dce110_hw_sequencer.c | 55 ++-- .../amd/display/dc/dcn10/dcn10_hw_sequencer.c | 86 ++---- .../drm/amd/display/dc/dcn10/dcn10_resource.c | 2 +- .../display/dc/dcn10/dcn10_stream_encoder.c | 20 ++ .../display/dc/dcn10/dcn10_stream_encoder.h | 2 + .../drm/amd/display/dc/dcn20/dcn20_hwseq.c | 23 +- .../drm/amd/display/dc/dcn20/dcn20_resource.c | 20 +- .../display/dc/dcn20/dcn20_stream_encoder.c | 5 + .../display/dc/dcn20/dcn20_stream_encoder.h | 1 + .../gpu/drm/amd/display/dc/dcn30/dcn30_afmt.c | 24 +- .../gpu/drm/amd/display/dc/dcn30/dcn30_afmt.h | 24 ++ .../dc/dcn30/dcn30_dio_stream_encoder.c | 2 + .../drm/amd/display/dc/dcn30/dcn30_hwseq.c | 39 +-- .../gpu/drm/amd/display/dc/dcn30/dcn30_init.c | 1 + .../drm/amd/display/dc/dcn30/dcn30_resource.c | 6 +- .../gpu/drm/amd/display/dc/dcn30/dcn30_vpg.c | 2 +- .../gpu/drm/amd/display/dc/dcn30/dcn30_vpg.h | 11 + .../amd/display/dc/dcn301/dcn301_resource.c | 6 +- .../amd/display/dc/dcn302/dcn302_resource.c | 6 +- drivers/gpu/drm/amd/display/dc/dcn31/Makefile | 3 +- .../gpu/drm/amd/display/dc/dcn31/dcn31_afmt.c | 92 ++++++ .../gpu/drm/amd/display/dc/dcn31/dcn31_afmt.h | 126 +++++++++ .../drm/amd/display/dc/dcn31/dcn31_hwseq.c | 60 +--- .../drm/amd/display/dc/dcn31/dcn31_hwseq.h | 2 +- .../gpu/drm/amd/display/dc/dcn31/dcn31_init.c | 1 - .../drm/amd/display/dc/dcn31/dcn31_resource.c | 74 +++-- .../gpu/drm/amd/display/dc/dcn31/dcn31_vpg.c | 87 ++++++ .../gpu/drm/amd/display/dc/dcn31/dcn31_vpg.h | 162 +++++++++++ drivers/gpu/drm/amd/display/dc/dm_helpers.h | 4 + drivers/gpu/drm/amd/display/dc/dsc/dc_dsc.c | 126 +++++---- .../amd/display/dc/inc/hw/stream_encoder.h | 2 + .../gpu/drm/amd/display/dc/inc/hw_sequencer.h | 2 +- .../gpu/drm/amd/display/dc/inc/link_enc_cfg.h | 5 + .../gpu/drm/amd/display/dc/inc/link_hwss.h | 1 + .../display/dc/irq/dcn21/irq_service_dcn21.c | 25 ++ .../display/dc/irq/dcn21/irq_service_dcn21.h | 2 + .../gpu/drm/amd/display/dc/irq/irq_service.c | 2 +- .../gpu/drm/amd/display/dc/irq/irq_service.h | 4 + .../dc/virtual/virtual_stream_encoder.c | 2 + drivers/gpu/drm/amd/display/dmub/dmub_srv.h | 4 + .../gpu/drm/amd/display/dmub/inc/dmub_cmd.h | 4 +- .../gpu/drm/amd/display/dmub/src/dmub_dcn31.c | 8 + .../gpu/drm/amd/display/dmub/src/dmub_dcn31.h | 2 + .../gpu/drm/amd/display/dmub/src/dmub_srv.c | 10 +- .../gpu/drm/amd/display/include/dal_asic_id.h | 2 +- .../gpu/drm/amd/display/include/dpcd_defs.h | 1 + .../amd/display/include/link_service_types.h | 16 ++ .../amd/display/modules/color/color_gamma.c | 32 ++- 70 files changed, 1528 insertions(+), 475 deletions(-) create mode 100644 drivers/gpu/drm/amd/display/dc/dcn31/dcn31_afmt.c create mode 100644 drivers/gpu/drm/amd/display/dc/dcn31/dcn31_afmt.h create mode 100644 drivers/gpu/drm/amd/display/dc/dcn31/dcn31_vpg.c create mode 100644 drivers/gpu/drm/amd/display/dc/dcn31/dcn31_vpg.h -- 2.25.1