amdgpu folks, any objection to this?
On Tue, Oct 28, 2025 at 07:35:50PM +0200, Ilpo Järvinen wrote: > PCI core handles releasing device's resources and their rollback in > case of failure of a BAR resizing operation. Releasing resource prior > to calling pci_resize_resource() prevents PCI core from restoring the > BARs as they were. > > Remove driver-side release of BARs from the amdgpu driver. > > Also remove the driver initiated assignment as pci_resize_resource() > should try to assign as much as possible. If the driver side call > manages to get more required resources assigned in some scenario, such > a problem should be fixed inside pci_resize_resource() instead. > > Signed-off-by: Ilpo Järvinen <[email protected]> > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 8 +------- > 1 file changed, 1 insertion(+), 7 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c > b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c > index 7a899fb4de29..65474d365229 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c > @@ -1729,12 +1729,8 @@ int amdgpu_device_resize_fb_bar(struct amdgpu_device > *adev) > pci_write_config_word(adev->pdev, PCI_COMMAND, > cmd & ~PCI_COMMAND_MEMORY); > > - /* Free the VRAM and doorbell BAR, we most likely need to move both. */ > + /* Tear down doorbell as resizing will release BARs */ > amdgpu_doorbell_fini(adev); > - if (adev->asic_type >= CHIP_BONAIRE) > - pci_release_resource(adev->pdev, 2); > - > - pci_release_resource(adev->pdev, 0); > > r = pci_resize_resource(adev->pdev, 0, rbar_size); > if (r == -ENOSPC) > @@ -1743,8 +1739,6 @@ int amdgpu_device_resize_fb_bar(struct amdgpu_device > *adev) > else if (r && r != -ENOTSUPP) > dev_err(adev->dev, "Problem resizing BAR0 (%d).", r); > > - pci_assign_unassigned_bus_resources(adev->pdev->bus); > - > /* When the doorbell or fb BAR isn't available we have no chance of > * using the device. > */ > -- > 2.39.5 >
