Hi,

On 11/13/25 17:26, Ilpo Järvinen wrote:
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c 
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> index 7a899fb4de29..4e241836ae68 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> @@ -1736,7 +1736,7 @@ 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);
> +     r = pci_resize_resource(adev->pdev, 0, rbar_size, 1 << 5);

It is HW generation specific if that is BAR 5 or 2 which needs protection.

There is an "if (adev->asic_type >= CHIP_BONAIRE) pci_release_resource(...);" 
which depends on the same criteria.

Something like this should work:

if (adev->asic_type >= CHIP_BONAIRE)
        r = pci_resize_resource(adev->pdev, 0, rbar_size, 1 << 5);
else
        r = pci_resize_resource(adev->pdev, 0, rbar_size, 1 << 2);

Apart from that the patch set looks really good to me and is certainly a very 
nice cleanup.

We can potentially also remove a bunch of the extra checks in amdgpu. Going to 
take care of it after this set landed.

Thanks,
Christian.

>       if (r == -ENOSPC)
>               dev_info(adev->dev,
>                        "Not enough PCI address space for a large BAR.");

Reply via email to