Depending on HW generation, BAR that needs to be excluded from
pci_resize_resource() is either 2 or 5.

Suggested-by: Christian König <[email protected]>
Signed-off-by: Ilpo Järvinen <[email protected]>
---

This change should be be folded into the commit 73cd7ee85e78 ("PCI: Fix
restoring BARs on BAR resize rollback path") in the pci/resource branch.

Also the changelog should be changed: "(BAR 5)" -> "(BAR 2 or 5)".

---
 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index 4e241836ae68..bf0bc38e1c47 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -1736,7 +1736,9 @@ int amdgpu_device_resize_fb_bar(struct amdgpu_device 
*adev)
 
        pci_release_resource(adev->pdev, 0);
 
-       r = pci_resize_resource(adev->pdev, 0, rbar_size, 1 << 5);
+       r = pci_resize_resource(adev->pdev, 0, rbar_size,
+                               (adev->asic_type >= CHIP_BONAIRE) ? 1 << 5
+                                                                 : 1 << 2);
        if (r == -ENOSPC)
                dev_info(adev->dev,
                         "Not enough PCI address space for a large BAR.");

base-commit: 73cd7ee85e788bc2541bfce2500e3587cf79f081
-- 
2.39.5

Reply via email to