diff options
| author | Ingo Molnar <mingo@kernel.org> | 2024-03-25 13:32:29 +0300 | 
|---|---|---|
| committer | Ingo Molnar <mingo@kernel.org> | 2024-03-25 13:32:29 +0300 | 
| commit | f4566a1e73957800df75a3dd2dccee8a4697f327 (patch) | |
| tree | b043b875228c0b25988af66c680d60cae69d761d /drivers/gpu/drm/amd/amdgpu/si.c | |
| parent | b9e6e28663928cab836a19abbdec3d036a07db3b (diff) | |
| parent | 4cece764965020c22cff7665b18a012006359095 (diff) | |
| download | linux-f4566a1e73957800df75a3dd2dccee8a4697f327.tar.xz | |
Merge tag 'v6.9-rc1' into sched/core, to pick up fixes and to refresh the branch
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/si.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/si.c | 41 | 
1 files changed, 15 insertions, 26 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/si.c b/drivers/gpu/drm/amd/amdgpu/si.c index a757526153e5..23e4ef4fff7c 100644 --- a/drivers/gpu/drm/amd/amdgpu/si.c +++ b/drivers/gpu/drm/amd/amdgpu/si.c @@ -2331,28 +2331,18 @@ static void si_pcie_gen3_enable(struct amdgpu_device *adev)  								   gpu_cfg &  								   PCI_EXP_LNKCTL_HAWD); -				pcie_capability_read_word(root, PCI_EXP_LNKCTL2, -							  &tmp16); -				tmp16 &= ~(PCI_EXP_LNKCTL2_ENTER_COMP | -					   PCI_EXP_LNKCTL2_TX_MARGIN); -				tmp16 |= (bridge_cfg2 & -					  (PCI_EXP_LNKCTL2_ENTER_COMP | -					   PCI_EXP_LNKCTL2_TX_MARGIN)); -				pcie_capability_write_word(root, -							   PCI_EXP_LNKCTL2, -							   tmp16); - -				pcie_capability_read_word(adev->pdev, -							  PCI_EXP_LNKCTL2, -							  &tmp16); -				tmp16 &= ~(PCI_EXP_LNKCTL2_ENTER_COMP | -					   PCI_EXP_LNKCTL2_TX_MARGIN); -				tmp16 |= (gpu_cfg2 & -					  (PCI_EXP_LNKCTL2_ENTER_COMP | -					   PCI_EXP_LNKCTL2_TX_MARGIN)); -				pcie_capability_write_word(adev->pdev, -							   PCI_EXP_LNKCTL2, -							   tmp16); +				pcie_capability_clear_and_set_word(root, PCI_EXP_LNKCTL2, +								   PCI_EXP_LNKCTL2_ENTER_COMP | +								   PCI_EXP_LNKCTL2_TX_MARGIN, +								   bridge_cfg2 & +								   (PCI_EXP_LNKCTL2_ENTER_COMP | +								    PCI_EXP_LNKCTL2_TX_MARGIN)); +				pcie_capability_clear_and_set_word(adev->pdev, PCI_EXP_LNKCTL2, +								   PCI_EXP_LNKCTL2_ENTER_COMP | +								   PCI_EXP_LNKCTL2_TX_MARGIN, +								   gpu_cfg2 & +								   (PCI_EXP_LNKCTL2_ENTER_COMP | +								    PCI_EXP_LNKCTL2_TX_MARGIN));  				tmp = RREG32_PCIE_PORT(PCIE_LC_CNTL4);  				tmp &= ~LC_SET_QUIESCE; @@ -2365,16 +2355,15 @@ static void si_pcie_gen3_enable(struct amdgpu_device *adev)  	speed_cntl &= ~LC_FORCE_DIS_SW_SPEED_CHANGE;  	WREG32_PCIE_PORT(PCIE_LC_SPEED_CNTL, speed_cntl); -	pcie_capability_read_word(adev->pdev, PCI_EXP_LNKCTL2, &tmp16); -	tmp16 &= ~PCI_EXP_LNKCTL2_TLS; - +	tmp16 = 0;  	if (adev->pm.pcie_gen_mask & CAIL_PCIE_LINK_SPEED_SUPPORT_GEN3)  		tmp16 |= PCI_EXP_LNKCTL2_TLS_8_0GT; /* gen3 */  	else if (adev->pm.pcie_gen_mask & CAIL_PCIE_LINK_SPEED_SUPPORT_GEN2)  		tmp16 |= PCI_EXP_LNKCTL2_TLS_5_0GT; /* gen2 */  	else  		tmp16 |= PCI_EXP_LNKCTL2_TLS_2_5GT; /* gen1 */ -	pcie_capability_write_word(adev->pdev, PCI_EXP_LNKCTL2, tmp16); +	pcie_capability_clear_and_set_word(adev->pdev, PCI_EXP_LNKCTL2, +					   PCI_EXP_LNKCTL2_TLS, tmp16);  	speed_cntl = RREG32_PCIE_PORT(PCIE_LC_SPEED_CNTL);  	speed_cntl |= LC_INITIATE_LINK_SPEED_CHANGE;  | 
