Hi Dave, Daniel, Fixes for 6.1. The following changes since commit 65898687cf7392c372ea8d04a88617e2cb794465: Merge tag 'amd-drm-next-6.1-2022-09-30' of https://gitlab.freedesktop.org/agd5f/linux into drm-next (2022-10-04 09:42:24 +1000) are available in the Git repository at: https://gitlab.freedesktop.org/agd5f/linux.git tags/amd-drm-fixes-6.1-2022-10-12 for you to fetch changes up to 0811b9e4530d7c46542a8993ce6b725d042c6154: drm/amd/display: Add HUBP surface flip interrupt handler (2022-10-12 11:27:41 -0400) ---------------------------------------------------------------- amd-drm-fixes-6.1-2022-10-12: amdgpu: - DC mutex fix - DC SubVP fixes - DCN 3.2.x fixes - DCN 3.1.x fixes - SDMA 6.x fixes - Enable DPIA for 3.1.4 - VRR fixes - VRAM BO swapping fix - Revert dirty fb helper change - SR-IOV suspend/resume fixes - Work around GCC array bounds check fail warning - UMC 8.10 fixes - Misc fixes and cleanups ---------------------------------------------------------------- Alex Deucher (7): drm/amdgpu: switch sdma buffer function tear down to a helper drm/amdgpu: fix SDMA suspend/resume on SR-IOV drm/amd/display: make dcn32_split_stream_for_mpc_or_odm static drm/amd/display: fix indentation in dc.c drm/amd/display: make virtual_disable_link_output static drm/amd/display: add a license to cursor_reg_cache.h drm/amd/display: fix transfer function passed to build_coefficients() Alexey Kodanev (2): drm/amd/pm: vega10_hwmgr: fix potential off-by-one overflow in 'performance_levels' drm/amd/pm: smu7_hwmgr: fix potential off-by-one overflow in 'performance_levels' Alvin Lee (5): drm/amd/display: Only commit SubVP state after pipe programming drm/amd/display: Block SubVP if rotation being used drm/amd/display: Disable GSL when enabling phantom pipe drm/amd/display: For SubVP pipe split case use min transition into MPO drm/amd/display: Fix watermark calculation Aric Cyr (4): Revert "drm/amd/display: correct hostvm flag" drm/amd/display: Fix vupdate and vline position calculation drm/amd/display: 3.2.206 drm/amd/display: 3.2.207 Arunpravin Paneer Selvam (1): drm/amdgpu: Fix VRAM BO swap issue Aurabindo Pillai (2): drm/amd/display: Do not trigger timing sync for phantom pipes drm/amd/display: Add HUBP surface flip interrupt handler Bokun Zhang (1): drm/amdgpu: Fix SDMA engine resume issue under SRIOV Candice Li (2): drm/amdgpu: Update umc v8_10_0 headers drm/amdgpu: Add poison mode query for umc v8_10_0 Charlene Liu (1): drm/amd/display: prevent S4 test from failing Daniel Gomez (1): drm/amd/display: Fix mutex lock in dcn10 Dillon Varone (8): drm/amd/display: Program SubVP in dc_commit_state_no_check drm/amd/display: Reorder FCLK P-state switch sequence for DCN32 drm/amd/display: Increase compbuf size prior to updating clocks drm/amd/display: Fix merging dynamic ODM+MPO configs on DCN32 Revert "drm/amd/display: skip commit minimal transition state" drm/amd/display: Use correct pixel clock to program DTBCLK DTO's drm/amd/display: Acquire FCLK DPM levels on DCN32 drm/amd/display: Fix bug preventing FCLK Pstate allow message being sent Dmytro Laktyushkin (3): drm/amd/display: fix dcn315 dml detile overestimation drm/amd/display: add dummy pstate workaround to dcn315 drm/amd/display: always allow pstate change when no dpps are active on dcn315 Dong Chenchen (1): drm/amd/display: Removed unused variable 'sdp_stream_enable' Eric Bernstein (1): drm/amd/display: Fix disable DSC logic in the DIO code Fangzhi Zuo (1): drm/amd/display: Validate DSC After Enable All New CRTCs George Shen (1): drm/amd/display: Add missing SDP registers to DCN32 reglist Guenter Roeck (1): drm/amd/display: fix array-bounds error in dc_stream_remove_writeback() [take 2] Hamza Mahfooz (1): Revert "drm/amdgpu: use dirty framebuffer helper" Ian Chen (1): drm/amd/display: Refactor edp ILR caps codes Iswara Nagulendran (1): drm/amd/display: Allow PSR exit when panel is disconnected Josip Pavic (1): drm/amd/display: do not compare integers of different widths Jun Lei (1): drm/amd/display: Add a helper to map ODM/MPC/Multi-Plane resources Leo (Hanghong) Ma (1): drm/amd/display: AUX tracing cleanup Leo Chen (1): drm/amd/display: Add log for LTTPR Lewis Huang (1): drm/amd/display: Keep OTG on when Z10 is disable Li Zhong (1): drivers/amd/pm: check the return value of amdgpu_bo_kmap Martin Leung (3): drm/amd/display: block odd h_total timings from halving pixel rate drm/amd/display: unblock mcm_luts drm/amd/display: zeromem mypipe heap struct before using it Max Tseng (1): drm/amd/display: Use the same cursor info across features Meenakshikumar Somasundaram (1): drm/amd/display: Display does not light up after S4 resume Nicholas Kazlauskas (1): drm/amd/display: Update PMFW z-state interface for DCN314 Philip Yang (2): drm/amdgpu: Set vmbo destroy after pt bo is created drm/amdgpu: Correct amdgpu_amdkfd_total_mem_size calculation Randy Dunlap (1): drm/amd/display: clean up dcn32_fpu.c kernel-doc Rodrigo Siqueira (14): drm/amd/display: Drop unused code for DCN32/321 drm/amd/display: Update DCN321 hook that deals with pipe aquire drm/amd/display: Fix SubVP control flow in the MPO context drm/amd/display: Remove OPTC lock check drm/amd/display: Adding missing HDMI ACP SEND register drm/amd/display: Add PState change high hook for DCN32 drm/amd/display: Enable 2 to 1 ODM policy if supported drm/amd/display: Disconnect DSC for unused pipes during ODM transition drm/amd/display: update DSC for DCN32 drm/amd/display: Minor code style change drm/amd/display: Add a missing hook to DCN20 drm/amd/display: Use set_vtotal_min_max to configure OTG VTOTAL drm/amd/display: Drop uncessary OTG lock check drm/amd/display: Clean some DCN32 macros Roman Li (1): drm/amd/display: Enable dpia support for dcn314 Ruili Ji (1): drm/amdgpu: Enable F32_WPTR_POLL_ENABLE in mqd Shirish S (1): drm/amd/display: explicitly disable psr_feature_enable appropriately Sonny Jiang (1): drm/amdgpu: Enable VCN PG on GC11_0_1 Tao Zhou (4): drm/amdgpu: remove check for CE in RAS error address query drm/amdgpu: define RAS convert_error_address API drm/amdgpu: define convert_error_address for umc v8.7 drm/amdgpu: fix coding style issue for mca notifier Vladimir Stempen (2): drm/amd/display: properly configure DCFCLK when enable/disable Freesync drm/amd/display: increase hardware status wait time Wenjing Liu (3): drm/amd/display: fix integer overflow during MSA V_Freq calculation drm/amd/display: write all 4 bytes of FFE_PRESET dpcd value drm/amd/display: Add missing mask sh for SYM32_TP_SQ_PULSE register Yang Li (3): drm/amd/display: clean up one inconsistent indenting drm/amd/display: clean up one inconsistent indenting drm/amd/display: Simplify bool conversion Yang Yingliang (3): drm/amd/display: change to enc314_stream_encoder_dp_blank static drm/amdgpu/sdma: add missing release_firmware() in amdgpu_sdma_init_microcode() drm/amd/display: fix build error on arm64 Yuan Can (1): drm/amd/display: Remove unused struct i2c_id_config_access Yunxiang Li (1): drm/amd/display: Fix vblank refcount in vrr transition Zhikai Zhai (1): drm/amd/display: skip commit minimal transition state drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c | 6 +- drivers/gpu/drm/amd/amdgpu/amdgpu_display.c | 14 +- drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 5 +- drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c | 8 +- drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c | 29 ++- drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.h | 2 + drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 17 +- drivers/gpu/drm/amd/amdgpu/amdgpu_umc.h | 7 +- drivers/gpu/drm/amd/amdgpu/cik_sdma.c | 6 +- drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c | 6 +- drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c | 6 +- drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c | 29 +-- drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c | 11 +- drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c | 15 +- drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c | 17 +- drivers/gpu/drm/amd/amdgpu/si_dma.c | 5 +- drivers/gpu/drm/amd/amdgpu/soc21.c | 1 + drivers/gpu/drm/amd/amdgpu/umc_v6_1.c | 10 +- drivers/gpu/drm/amd/amdgpu/umc_v6_7.c | 165 ++++++-------- drivers/gpu/drm/amd/amdgpu/umc_v8_10.c | 78 ++++--- drivers/gpu/drm/amd/amdgpu/umc_v8_7.c | 63 +++--- drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v11.c | 3 +- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 71 +++--- .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_psr.c | 8 +- drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c | 7 - .../amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c | 4 +- .../drm/amd/display/dc/clk_mgr/dcn314/dcn314_smu.c | 11 +- .../amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c | 85 +++++--- drivers/gpu/drm/amd/display/dc/core/dc.c | 105 ++++++++- drivers/gpu/drm/amd/display/dc/core/dc_link.c | 11 +- drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c | 70 +++--- drivers/gpu/drm/amd/display/dc/core/dc_resource.c | 53 ++++- drivers/gpu/drm/amd/display/dc/core/dc_stream.c | 8 +- drivers/gpu/drm/amd/display/dc/dc.h | 8 +- drivers/gpu/drm/amd/display/dc/dc_dmub_srv.c | 147 ++++++++++++- drivers/gpu/drm/amd/display/dc/dc_dmub_srv.h | 1 + drivers/gpu/drm/amd/display/dc/dc_link.h | 4 + drivers/gpu/drm/amd/display/dc/dce/dce_aux.c | 13 +- drivers/gpu/drm/amd/display/dc/dcn10/dcn10_dpp.c | 1 + .../drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c | 239 +++++---------------- drivers/gpu/drm/amd/display/dc/dcn10/dcn10_optc.c | 40 +--- drivers/gpu/drm/amd/display/dc/dcn10/dcn10_optc.h | 1 - .../gpu/drm/amd/display/dc/dcn10/dcn10_resource.c | 66 +++++- drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hubp.c | 30 +++ drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hwseq.c | 25 +-- drivers/gpu/drm/amd/display/dc/dcn20/dcn20_optc.c | 1 + .../gpu/drm/amd/display/dc/dcn21/dcn21_hubbub.c | 8 +- .../gpu/drm/amd/display/dc/dcn21/dcn21_resource.c | 13 +- drivers/gpu/drm/amd/display/dc/dcn30/dcn30_dpp.c | 4 + drivers/gpu/drm/amd/display/dc/dcn30/dcn30_optc.c | 3 +- .../gpu/drm/amd/display/dc/dcn30/dcn30_resource.c | 4 + .../drm/amd/display/dc/dcn301/dcn301_resource.c | 2 +- .../display/dc/dcn31/dcn31_hpo_dp_stream_encoder.c | 20 +- drivers/gpu/drm/amd/display/dc/dcn31/dcn31_optc.c | 2 - .../gpu/drm/amd/display/dc/dcn31/dcn31_resource.c | 15 +- .../display/dc/dcn314/dcn314_dio_stream_encoder.c | 2 +- .../drm/amd/display/dc/dcn314/dcn314_resource.c | 16 +- .../drm/amd/display/dc/dcn315/dcn315_resource.c | 15 +- .../drm/amd/display/dc/dcn316/dcn316_resource.c | 13 +- .../amd/display/dc/dcn32/dcn32_dio_link_encoder.c | 7 - .../amd/display/dc/dcn32/dcn32_dio_link_encoder.h | 4 - .../display/dc/dcn32/dcn32_dio_stream_encoder.c | 57 +++-- .../display/dc/dcn32/dcn32_dio_stream_encoder.h | 14 +- .../display/dc/dcn32/dcn32_hpo_dp_link_encoder.h | 1 + .../gpu/drm/amd/display/dc/dcn32/dcn32_hubbub.c | 1 + drivers/gpu/drm/amd/display/dc/dcn32/dcn32_hubp.c | 6 +- drivers/gpu/drm/amd/display/dc/dcn32/dcn32_hwseq.c | 42 ++-- drivers/gpu/drm/amd/display/dc/dcn32/dcn32_optc.c | 2 +- .../gpu/drm/amd/display/dc/dcn32/dcn32_resource.c | 31 +++ .../gpu/drm/amd/display/dc/dcn32/dcn32_resource.h | 22 ++ .../amd/display/dc/dcn32/dcn32_resource_helpers.c | 88 ++++++++ .../display/dc/dcn321/dcn321_dio_link_encoder.c | 1 - .../drm/amd/display/dc/dcn321/dcn321_resource.c | 6 +- .../gpu/drm/amd/display/dc/dml/calcs/dcn_calcs.c | 118 +++++----- .../gpu/drm/amd/display/dc/dml/dcn31/dcn31_fpu.c | 96 +++------ .../gpu/drm/amd/display/dc/dml/dcn31/dcn31_fpu.h | 1 + .../amd/display/dc/dml/dcn31/display_mode_vba_31.c | 15 ++ .../gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c | 131 ++++++----- .../amd/display/dc/dml/dcn32/display_mode_vba_32.c | 21 +- .../gpu/drm/amd/display/dc/dml/display_mode_lib.c | 1 + .../gpu/drm/amd/display/dc/dml/display_mode_lib.h | 1 + drivers/gpu/drm/amd/display/dc/inc/core_types.h | 6 +- drivers/gpu/drm/amd/display/dc/inc/dcn_calcs.h | 19 +- drivers/gpu/drm/amd/display/dc/inc/hw/clk_mgr.h | 15 +- .../drm/amd/display/dc/inc/hw/cursor_reg_cache.h | 99 +++++++++ drivers/gpu/drm/amd/display/dc/inc/hw/dpp.h | 4 + drivers/gpu/drm/amd/display/dc/inc/hw/hubp.h | 5 + .../drm/amd/display/dc/inc/hw/timing_generator.h | 1 - drivers/gpu/drm/amd/display/dc/inc/resource.h | 6 + .../gpu/drm/amd/display/dc/link/link_hwss_hpo_dp.c | 2 +- .../drm/amd/display/dc/virtual/virtual_link_hwss.c | 2 +- drivers/gpu/drm/amd/display/dmub/dmub_srv.h | 1 + drivers/gpu/drm/amd/display/dmub/inc/dmub_cmd.h | 140 ++++++++++-- drivers/gpu/drm/amd/display/dmub/src/dmub_dcn31.c | 1 + .../drm/amd/display/modules/color/color_gamma.c | 2 +- .../amd/include/asic_reg/umc/umc_8_10_0_offset.h | 2 + .../amd/include/asic_reg/umc/umc_8_10_0_sh_mask.h | 3 + drivers/gpu/drm/amd/pm/legacy-dpm/kv_dpm.c | 5 +- .../gpu/drm/amd/pm/powerplay/hwmgr/smu7_hwmgr.c | 2 +- .../gpu/drm/amd/pm/powerplay/hwmgr/vega10_hwmgr.c | 2 +- 100 files changed, 1617 insertions(+), 995 deletions(-) create mode 100644 drivers/gpu/drm/amd/display/dc/inc/hw/cursor_reg_cache.h