Use pci_rebar_get_max_size() from PCI core to simplify code in
amdgpu_device_resize_fb_bar().

Signed-off-by: Ilpo Järvinen <ilpo.jarvi...@linux.intel.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index 01d234cf8156..c4ab503fb5d0 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -1670,9 +1670,9 @@ int amdgpu_device_resize_fb_bar(struct amdgpu_device 
*adev)
        int rbar_size = pci_rebar_bytes_to_size(adev->gmc.real_vram_size);
        struct pci_bus *root;
        struct resource *res;
+       int max_size, r;
        unsigned int i;
        u16 cmd;
-       int r;
 
        if (!IS_ENABLED(CONFIG_PHYS_ADDR_T_64BIT))
                return 0;
@@ -1718,8 +1718,10 @@ int amdgpu_device_resize_fb_bar(struct amdgpu_device 
*adev)
                return 0;
 
        /* Limit the BAR size to what is available */
-       rbar_size = min(fls(pci_rebar_get_possible_sizes(adev->pdev, 0)) - 1,
-                       rbar_size);
+       max_size = pci_rebar_get_max_size(adev->pdev, 0);
+       if (max_size < 0)
+               return 0;
+       rbar_size = min(max_size, rbar_size);
 
        /* Disable memory decoding while we change the BAR addresses and size */
        pci_read_config_word(adev->pdev, PCI_COMMAND, &cmd);
-- 
2.39.5

Reply via email to