Hi Dave, Daniel, Fixes for 5.14. The following changes since commit c707b73f0cfb1acc94a20389aecde65e6385349b: Merge tag 'amd-drm-next-5.14-2021-06-09' of https://gitlab.freedesktop.org/agd5f/linux into drm-next (2021-06-10 13:47:13 +1000) are available in the Git repository at: https://gitlab.freedesktop.org/agd5f/linux.git tags/amd-drm-next-5.14-2021-06-16 for you to fetch changes up to a4b0b97aace09716a635e1a64c7e54e51f4a0f51: drm: display: Fix duplicate field initialization in dcn31 (2021-06-15 17:25:42 -0400) ---------------------------------------------------------------- amd-drm-next-5.14-2021-06-16: amdgpu: - Aldebaran fixes - Expose asic independent throttler status - BACO fixes for navi1x - Smartshift fixes - Misc code cleanups - RAS fixes for Sienna Cichlid - Gamma verificaton fixes - DC LTTPR fixes - DP AUX timeout handling fixes - GFX9, 10 powergating fixes amdkfd: - TLB flush fixes when using SDMA - Locking fixes - SVM fixes ---------------------------------------------------------------- Alex Sierra (1): drm/amdkfd: move CoherentHostAccess prop to HSA_CAPABILITY Amber Lin (1): drm/amdkfd: Fix circular lock in nocpsch path Anthony Koo (1): drm/amd/display: [FW Promotion] Release 0.0.70 Aric Cyr (1): drm/amd/display: 3.2.140 Ashley Thomas (1): drm/amd/display: add DMUB registers to crash dump diagnostic data. Aurabindo Pillai (1): drm/amd/display: add dummy PG callback for beige goby David Galiffi (1): drm/amd/display: Updated variable name. Dmytro Laktyushkin (1): drm/amd/display: Remove unnecessary blank lines Eric Huang (1): drm/amdkfd: Add memory sync before TLB flush on unmap Evan Quan (6): drm/amd/pm: drop the incomplete fix for Navi14 runpm issue drm/amd/pm: correct the runpm handling for BACO supported ASIC drm/amdgpu: make audio dev's D-state transition PMFW-aware drm/amd/pm: update the cached dpm feature status drm/amd/pm: correct the dpm features disablement for Navi1x drm/amd/pm: correct the power limits reporting on OOB supported Felix Kuehling (2): drm/amdkfd: Disable SVM per GPU, not per process drm/amdgpu: Use spinlock_irqsave for pasid_lock Graham Sider (9): drm/amd/pm: Add u64 throttler status field to gpu_metrics drm/amd/pm: Add ASIC independent throttle bits drm/amd/pm: Add common throttler translation func drm/amd/pm: Add arcturus throttler translation drm/amd/pm: Add navi1x throttler translation drm/amd/pm: Add sienna cichlid throttler translation drm/amd/pm: Add vangogh throttler translation drm/amd/pm: Add renoir throttler translation drm/amd/pm: Add aldebaran throttler translation Guchun Chen (1): drm/amdgpu: use adev_to_drm macro for consistency (v2) Hawking Zhang (9): drm/amdgpu: update psp gfx i/f to support dynamic GECC drm/amdgpu: allow different boot configs drm/amdgpu: add helper function to query gecc status in boot config drm/amdgpu: enable dynamic GECC support (v2) drm/amdgpu: add psp runtime db structures drm/amdgpu: add helper function to query psp runtime db entry (v2) drm/amdgpu: cache psp runtime boot_cfg_bitmask in sw_int drm/amdgpu: disable DRAM memory training when GECC is enabled drm/amdgpu: correct psp ucode arrary start address Jiapeng Chong (2): drm/amd/display: Fix duplicate included clk_mgr.h drm/amd/display: use ARRAY_SIZE for base60_refresh_rates John Clements (2): drm/amdgpu: Updated fw header structure source drm/amdgpu: Added support for loading auxiliary PSP FW Jonathan Kim (1): drm/amdkfd: fix circular locking on get_wave_state Josip Pavic (1): drm/amd/display: tune backlight ramping profiles Lijo Lazar (1): drm/amd/pm: Only primary die supports power data Mark Yacoub (1): drm/amd/display: Verify Gamma & Degamma LUT sizes in amdgpu_dm_atomic_check Nirmoy Das (4): drm/amdkfd: use allowed domain for vmbo validation drm/amdgpu: remove amdgpu_vm_pt drm/amdgpu: parameterize ttm BO destroy callback drm/amdgpu: move shadow_list to amdgpu_bo_vm Peng Ju Zhou (1): drm/amd/amdgpu: add instance_number check in amdgpu_discovery_get_ip_version Po-Ting Chen (1): drm/amd/display: Change swizzle visual confirm reference pipe Roman Li (1): drm/amd/display: move psr dm interface to separate files Sathishkumar S (2): drm/amd/pm: support ss metrics read on renoir drm/amd/pm: support ss metrics read on yellow_carp Wan Jiabing (3): drm: display: Remove duplicate include in dce110 drm: display: Remove duplicated argument in dcn31 drm: display: Fix duplicate field initialization in dcn31 Wenjing Liu (1): drm/amd/display: dp mst detection code refactor Wesley Chalmers (14): drm/amd/display: Read LTTPR caps first on hotplug drm/amd/display: Move LTTPR cap read into its own function drm/amd/display: Read LTTPR caps first on bootup drm/amd/display: Set LTTPR Transparent Mode after read link cap drm/amd/display: Always write repeater mode regardless of LTTPR drm/amd/display: Improve logic for is_lttpr_present drm/amd/display: Enforce DPCD Address ranges drm/amd/display: Rename constant drm/amd/display: 7 retries + 50 ms timeout on AUX DEFER drm/amd/display: Do not count I2C DEFERs with AUX DEFERs drm/amd/display: Partition DPCD address space and break up transactions drm/amd/display: Add interface to get Calibrated Avg Level from FIFO drm/amd/display: Cover edge-case when changing DISPCLK WDIVIDER drm/amd/display: Extend AUX timeout for DP initial reads Yi-Ling Chen (1): drm/amd/display: add config option for eDP hotplug detection Yifan Zhang (2): drm/amdgpu/gfx9: fix the doorbell missing when in CGPG issue. drm/amdgpu/gfx10: enlarge CP_MEC_DOORBELL_RANGE_UPPER to cover full doorbell. YuBiao Wang (1): drm/amdgpu: reset psp ring wptr during ring_create drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | 49 ++-- drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c | 4 +- drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 5 +- drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c | 4 +- drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.h | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_fdinfo.c | 4 +- drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c | 12 +- drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 44 ++- drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 55 ++-- drivers/gpu/drm/amd/amdgpu/amdgpu_object.h | 11 +- drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 310 +++++++++++++++++---- drivers/gpu/drm/amd/amdgpu/amdgpu_psp.h | 57 ++++ drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c | 42 +-- drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.h | 34 +-- drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 175 ++++++------ drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h | 9 +- drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.c | 2 +- drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c | 6 +- drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | 6 +- drivers/gpu/drm/amd/amdgpu/psp_gfx_if.h | 13 +- drivers/gpu/drm/amd/amdgpu/psp_v11_0.c | 1 + drivers/gpu/drm/amd/amdgpu/psp_v3_1.c | 1 + drivers/gpu/drm/amd/amdkfd/kfd_chardev.c | 26 +- .../gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 46 +-- drivers/gpu/drm/amd/amdkfd/kfd_flat_memory.c | 4 - drivers/gpu/drm/amd/amdkfd/kfd_priv.h | 2 +- drivers/gpu/drm/amd/amdkfd/kfd_process.c | 1 - drivers/gpu/drm/amd/amdkfd/kfd_svm.c | 62 +++-- drivers/gpu/drm/amd/amdkfd/kfd_svm.h | 7 + drivers/gpu/drm/amd/amdkfd/kfd_topology.c | 6 +- drivers/gpu/drm/amd/amdkfd/kfd_topology.h | 7 +- drivers/gpu/drm/amd/display/amdgpu_dm/Makefile | 2 +- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 141 +--------- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h | 1 + .../drm/amd/display/amdgpu_dm/amdgpu_dm_color.c | 41 ++- .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_psr.c | 166 +++++++++++ .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_psr.h | 37 +++ drivers/gpu/drm/amd/display/dc/Makefile | 2 +- .../amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c | 68 ++++- .../amd/display/dc/clk_mgr/dcn20/dcn20_clk_mgr.h | 3 +- .../amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c | 4 +- .../gpu/drm/amd/display/dc/core/dc_hw_sequencer.c | 10 +- drivers/gpu/drm/amd/display/dc/core/dc_link.c | 167 +++++------ drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c | 170 +++++------ drivers/gpu/drm/amd/display/dc/core/dc_link_dpcd.c | 218 +++++++++++++++ drivers/gpu/drm/amd/display/dc/core/dc_link_hwss.c | 31 +-- drivers/gpu/drm/amd/display/dc/core/dc_resource.c | 2 +- drivers/gpu/drm/amd/display/dc/dc.h | 3 +- drivers/gpu/drm/amd/display/dc/dc_dmub_srv.c | 100 ++++++- drivers/gpu/drm/amd/display/dc/dc_dmub_srv.h | 4 + drivers/gpu/drm/amd/display/dc/dce/dce_aux.c | 23 +- .../amd/display/dc/dce110/dce110_hw_sequencer.c | 1 - .../drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c | 5 + .../amd/display/dc/dcn10/dcn10_stream_encoder.h | 24 ++ .../amd/display/dc/dcn20/dcn20_stream_encoder.c | 12 + .../amd/display/dc/dcn20/dcn20_stream_encoder.h | 3 + .../display/dc/dcn30/dcn30_dio_stream_encoder.c | 2 + .../display/dc/dcn30/dcn30_dio_stream_encoder.h | 12 + drivers/gpu/drm/amd/display/dc/dcn30/dcn30_hwseq.c | 4 + .../gpu/drm/amd/display/dc/dcn303/dcn303_hwseq.c | 5 + .../gpu/drm/amd/display/dc/dcn303/dcn303_hwseq.h | 1 + .../gpu/drm/amd/display/dc/dcn303/dcn303_init.c | 1 + drivers/gpu/drm/amd/display/dc/dcn31/dcn31_hwseq.c | 2 +- .../gpu/drm/amd/display/dc/dcn31/dcn31_resource.c | 1 - .../amd/display/dc/dml/dcn31/display_mode_vba_31.c | 4 +- .../gpu/drm/amd/display/dc/dml/display_mode_vba.c | 2 - drivers/gpu/drm/amd/display/dc/hdcp/hdcp_msg.c | 1 + drivers/gpu/drm/amd/display/dc/inc/dc_link_dp.h | 11 +- .../gpu/drm/amd/display/dc/inc/hw/stream_encoder.h | 3 + drivers/gpu/drm/amd/display/dc/inc/link_dpcd.h | 18 ++ drivers/gpu/drm/amd/display/dc/inc/link_hwss.h | 14 - drivers/gpu/drm/amd/display/dmub/dmub_srv.h | 29 ++ drivers/gpu/drm/amd/display/dmub/inc/dmub_cmd.h | 4 +- drivers/gpu/drm/amd/display/dmub/src/dmub_dcn20.c | 65 ++++- drivers/gpu/drm/amd/display/dmub/src/dmub_dcn20.h | 14 +- drivers/gpu/drm/amd/display/dmub/src/dmub_dcn21.c | 5 +- drivers/gpu/drm/amd/display/dmub/src/dmub_dcn30.c | 5 +- drivers/gpu/drm/amd/display/dmub/src/dmub_dcn301.c | 5 +- drivers/gpu/drm/amd/display/dmub/src/dmub_dcn302.c | 5 +- drivers/gpu/drm/amd/display/dmub/src/dmub_dcn303.c | 5 +- drivers/gpu/drm/amd/display/dmub/src/dmub_srv.c | 10 + .../drm/amd/display/modules/power/power_helpers.c | 20 +- .../amd/include/asic_reg/dcn/dcn_3_0_1_sh_mask.h | 2 + .../amd/include/asic_reg/dcn/dcn_3_1_2_sh_mask.h | 2 + drivers/gpu/drm/amd/include/kgd_pp_interface.h | 58 +++- drivers/gpu/drm/amd/pm/inc/amdgpu_smu.h | 51 +++- drivers/gpu/drm/amd/pm/inc/smu_v11_0.h | 3 + drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c | 26 +- drivers/gpu/drm/amd/pm/swsmu/smu11/arcturus_ppt.c | 59 +++- drivers/gpu/drm/amd/pm/swsmu/smu11/navi10_ppt.c | 115 +++++--- .../drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c | 86 +++++- drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c | 11 +- drivers/gpu/drm/amd/pm/swsmu/smu11/vangogh_ppt.c | 51 +++- drivers/gpu/drm/amd/pm/swsmu/smu12/renoir_ppt.c | 63 ++++- drivers/gpu/drm/amd/pm/swsmu/smu13/aldebaran_ppt.c | 101 +++++-- .../gpu/drm/amd/pm/swsmu/smu13/yellow_carp_ppt.c | 34 +++ drivers/gpu/drm/amd/pm/swsmu/smu_cmn.c | 63 ++++- drivers/gpu/drm/amd/pm/swsmu/smu_cmn.h | 5 + drivers/gpu/drm/amd/pm/swsmu/smu_internal.h | 4 +- include/drm/drm_dp_helper.h | 17 ++ 103 files changed, 2362 insertions(+), 888 deletions(-) create mode 100644 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_psr.c create mode 100644 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_psr.h create mode 100644 drivers/gpu/drm/amd/display/dc/core/dc_link_dpcd.c create mode 100644 drivers/gpu/drm/amd/display/dc/inc/link_dpcd.h