FAILED: patch "[PATCH] drm/amdgpu: used cached pcie gen info for SI (v2)" failed to apply to 4.16-stable tree
Subsystems (3)
[email protected]
maintainerThe patch below does not apply to the 4.16-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
Quoted 1 line
From
0bf6718537cf1112cbe2d7c4349188d7e89be90cMon Sep 17 00:00:00 2001
From: Alex Deucher <[email protected]>
Date: Mon, 26 Feb 2018 11:05:10 -0500
Subject: [PATCH] drm/amdgpu: used cached pcie gen info for SI (v2)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Rather than querying it every time we need it. Also fixes a crash in VM pass through if there is no root bridge because the cached value fetch already checks this properly.
v2: fix includes
drivers/gpu/drm/amd/amdgpu/si.c +10 -12
@@ -31,6 +31,7 @@#include "amdgpu_uvd.h" #include "amdgpu_vce.h" #include "atom.h" +#include "amd_pcie.h" #include "amdgpu_powerplay.h" #include "sid.h" #include "si_ih.h"
@@ -1484,8 +1485,8 @@ static void si_pcie_gen3_enable(struct amdgpu_device *adev) {struct pci_dev *root = adev->pdev->bus->self;int bridge_pos, gpu_pos; -u32 speed_cntl, mask, current_data_rate; -int ret, i; +u32 speed_cntl, current_data_rate; +int i;u16 tmp16;if (pci_is_root_bus (adev->pdev->bus))
@@ -1497,23 +1498,20 @@ static void si_pcie_gen3_enable(struct amdgpu_device *adev)if (adev->flags &AMD_IS_APU )return ; - ret =drm_pcie_get_speed_cap_mask (adev->ddev, &mask); -if (ret !=0 ) -return ; - -if (!(mask & (DRM_PCIE_SPEED_50 |DRM_PCIE_SPEED_80 ))) +if (!(adev->pm.pcie_gen_mask & (CAIL_PCIE_LINK_SPEED_SUPPORT_GEN2 | +CAIL_PCIE_LINK_SPEED_SUPPORT_GEN3 )))return ; speed_cntl =RREG32_PCIE_PORT (PCIE_LC_SPEED_CNTL ); current_data_rate = (speed_cntl &LC_CURRENT_DATA_RATE_MASK ) >>LC_CURRENT_DATA_RATE_SHIFT ; -if (mask &DRM_PCIE_SPEED_80 ) { +if (adev->pm.pcie_gen_mask &CAIL_PCIE_LINK_SPEED_SUPPORT_GEN3 ) {if (current_data_rate ==2 ) {DRM_INFO ("PCIE gen 3 link speeds already enabled\n" );return ; }DRM_INFO ("enabling PCIE gen 3 link speeds, disable with amdgpu.pcie_gen2=0\n" ); - }else if (mask &DRM_PCIE_SPEED_50 ) { + }else if (adev->pm.pcie_gen_mask &CAIL_PCIE_LINK_SPEED_SUPPORT_GEN2 ) {if (current_data_rate ==1 ) {DRM_INFO ("PCIE gen 2 link speeds already enabled\n" );return ;
@@ -1529,7 +1527,7 @@ static void si_pcie_gen3_enable(struct amdgpu_device *adev)if (!gpu_pos)return ; -if (mask &DRM_PCIE_SPEED_80 ) { +if (adev->pm.pcie_gen_mask &CAIL_PCIE_LINK_SPEED_SUPPORT_GEN3 ) {if (current_data_rate !=2 ) {u16 bridge_cfg, gpu_cfg;u16 bridge_cfg2, gpu_cfg2;
@@ -1612,9 +1610,9 @@ static void si_pcie_gen3_enable(struct amdgpu_device *adev)pci_read_config_word (adev->pdev, gpu_pos +PCI_EXP_LNKCTL2 , &tmp16); tmp16 &= ~0xf ; -if (mask &DRM_PCIE_SPEED_80 ) +if (adev->pm.pcie_gen_mask &CAIL_PCIE_LINK_SPEED_SUPPORT_GEN3 ) tmp16 |=3 ; -else if (mask &DRM_PCIE_SPEED_50 ) +else if (adev->pm.pcie_gen_mask &CAIL_PCIE_LINK_SPEED_SUPPORT_GEN2 ) tmp16 |=2 ;else tmp16 |=1 ;
drivers/gpu/drm/amd/amdgpu/si_dpm.c +13 -37
86 lines not on this page · raw message