hc
2024-01-03 2f7c68cb55ecb7331f2381deb497c27155f32faf
kernel/drivers/gpu/drm/amd/amdgpu/si.c
....@@ -2159,17 +2159,8 @@
21592159 u16 bridge_cfg2, gpu_cfg2;
21602160 u32 max_lw, current_lw, tmp;
21612161
2162
- pcie_capability_read_word(root, PCI_EXP_LNKCTL,
2163
- &bridge_cfg);
2164
- pcie_capability_read_word(adev->pdev, PCI_EXP_LNKCTL,
2165
- &gpu_cfg);
2166
-
2167
- tmp16 = bridge_cfg | PCI_EXP_LNKCTL_HAWD;
2168
- pcie_capability_write_word(root, PCI_EXP_LNKCTL, tmp16);
2169
-
2170
- tmp16 = gpu_cfg | PCI_EXP_LNKCTL_HAWD;
2171
- pcie_capability_write_word(adev->pdev, PCI_EXP_LNKCTL,
2172
- tmp16);
2162
+ pcie_capability_set_word(root, PCI_EXP_LNKCTL, PCI_EXP_LNKCTL_HAWD);
2163
+ pcie_capability_set_word(adev->pdev, PCI_EXP_LNKCTL, PCI_EXP_LNKCTL_HAWD);
21732164
21742165 tmp = RREG32_PCIE(PCIE_LC_STATUS1);
21752166 max_lw = (tmp & LC_DETECTED_LINK_WIDTH_MASK) >> LC_DETECTED_LINK_WIDTH_SHIFT;
....@@ -2214,21 +2205,14 @@
22142205
22152206 mdelay(100);
22162207
2217
- pcie_capability_read_word(root, PCI_EXP_LNKCTL,
2218
- &tmp16);
2219
- tmp16 &= ~PCI_EXP_LNKCTL_HAWD;
2220
- tmp16 |= (bridge_cfg & PCI_EXP_LNKCTL_HAWD);
2221
- pcie_capability_write_word(root, PCI_EXP_LNKCTL,
2222
- tmp16);
2223
-
2224
- pcie_capability_read_word(adev->pdev,
2225
- PCI_EXP_LNKCTL,
2226
- &tmp16);
2227
- tmp16 &= ~PCI_EXP_LNKCTL_HAWD;
2228
- tmp16 |= (gpu_cfg & PCI_EXP_LNKCTL_HAWD);
2229
- pcie_capability_write_word(adev->pdev,
2230
- PCI_EXP_LNKCTL,
2231
- tmp16);
2208
+ pcie_capability_clear_and_set_word(root, PCI_EXP_LNKCTL,
2209
+ PCI_EXP_LNKCTL_HAWD,
2210
+ bridge_cfg &
2211
+ PCI_EXP_LNKCTL_HAWD);
2212
+ pcie_capability_clear_and_set_word(adev->pdev, PCI_EXP_LNKCTL,
2213
+ PCI_EXP_LNKCTL_HAWD,
2214
+ gpu_cfg &
2215
+ PCI_EXP_LNKCTL_HAWD);
22322216
22332217 pcie_capability_read_word(root, PCI_EXP_LNKCTL2,
22342218 &tmp16);