* [PATCH v5] PCI: Fix BAR resize for devices on a root bus
@ 2026-09-08 23:03 Liz Fong-Jones
2026-09-09 10:17 ` Ilpo Järvinen
0 siblings, 1 reply; 3+ messages in thread
From: Liz Fong-Jones @ 2026-09-08 23:03 UTC (permalink / raw)
To: Bjorn Helgaas, Ilpo Järvinen
Cc: linux-pci, linux-kernel, regressions, amd-gfx, Jon Nettleton,
Jon Nettleton, Jacob Martin, Thorsten Leemhuis, stable,
Liz Fong-Jones
pci_do_resource_release_and_resize() releases the device BARs that
share a bridge window with the BAR being resized, but when the device
sits directly on a root bus (pdev->bus->self == NULL) it then skips
resource assignment entirely and returns success, leaving the BARs it
just released unassigned (IORESOURCE_UNSET).
Skipping pbus_reassign_bridge_resources() is correct in that case --
there is no bridge window to adjust -- but the device BARs still have
to be reassigned. Before the BAR release was consolidated into the PCI
core, this case worked for amdgpu because the driver released the BARs
itself and then called pci_assign_unassigned_bus_resources()
unconditionally after the resize, which assigns unassigned device BARs
also on a root bus. Commit db92e3fef53e ("drm/amdgpu: Remove driver
side BAR release before resize") removed that call, so nothing assigns
the released BARs anymore.
This breaks amdgpu completely on the SolidRun HoneyComb LX2K (NXP
LX2160A, arm64, ACPI), where the GPU endpoint is enumerated directly
on the root bus of its segment (there is no root port device, so
pdev->bus->self is NULL):
amdgpu 0004:01:00.0: BAR 0 [mem 0xa400000000-0xa40fffffff 64bit pref]: releasing
amdgpu 0004:01:00.0: BAR 2 [mem 0xa410000000-0xa4101fffff 64bit pref]: releasing
amdgpu 0004:01:00.0: sw_init of IP block <gmc_v8_0> failed -19
amdgpu 0004:01:00.0: amdgpu_device_ip_init failed
amdgpu 0004:01:00.0: Fatal error during GPU init
No error is logged because the resize path reports success; amdgpu
then finds BAR0 IORESOURCE_UNSET and bails out with -ENODEV.
When there is no upstream bridge, call pci_bus_assign_resources() on
the root bus to place the BARs released above, using the same
alignment-sorted algorithm as normal enumeration instead of a manual
per-BAR loop. This also walks the rest of the hierarchy under the
root bus, as pci_assign_unassigned_bus_resources() used to for amdgpu
before commit db92e3fef53e ("drm/amdgpu: Remove driver side BAR
release before resize") removed that call -- the core-side fix that
commit asked for ("such a problem should be fixed inside
pci_resize_resource() instead").
pci_bus_assign_resources() returns void, so failure is detected by
checking whether the released BARs are still assigned afterward; if
not, roll back as in the bridged case. This is stricter than the
bridged path -- it fails on any unplaced resource, not just required
ones -- since a root bus typically has one shared window, and failing
loudly seemed better than leaving something silently unassigned.
The root bus path also had a locking bug that any fix here necessarily
touches: the old "goto out" jumped to up_read(&pci_bus_sem) without a
matching down_read() (as does the "goto restore" taken when
pci_dev_res_add_to_list() fails in the release loop). Take pci_bus_sem
before the BAR release loop so every path through the function holds
it exactly once.
Use pci_upstream_bridge() rather than testing pdev->bus->self
directly. The two are usually equivalent, but pci_upstream_bridge()
is the canonical test -- pci_is_root_bus(), which it's built on,
warns that bus->self == NULL doesn't necessarily mean a root bus
(SR-IOV virtual buses from virtfn_add_bus() are the same).
Fixes: 337b1b566db0 ("PCI: Fix restoring BARs on BAR resize rollback path")
Cc: stable@vger.kernel.org
Link: https://bugs.launchpad.net/ubuntu/+source/linux-hwe-7.0/+bug/2159596
Suggested-by: Bjorn Helgaas <bhelgaas@google.com>
Suggested-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Assisted-by: Claude:claude-fable-5 checkpatch
Assisted-by: Claude:claude-sonnet-5
Signed-off-by: Liz Fong-Jones <lizf@honeycomb.io>
---
#regzbot introduced: 337b1b566db0
Observed at runtime on Ubuntu's linux-hwe-7.0 (7.0.0-14, broken) vs
linux-hwe-6.17 (working), but nothing here is distro-specific: Ubuntu
carries this code unmodified, and the affected function is identical
to current mainline. By source inspection the regression window is
v6.18 (old code paths) to v6.19 (consolidation). Workaround for
affected users: amdgpu.rebar=0.
On the topology question raised in review: this is physical hardware,
not a virtualized guest, running the UEFI/ACPI firmware variant of
this board (SolidRun also ships a U-Boot/devicetree variant of the
same hardware). Deferring to Jon Nettleton (CC'd, SolidRun) on the
exact root complex wiring; see the hardware manual's block diagram:
https://dev.solid-run.com/nxp/lx2160a/com-som/lx2160a-com-hardware-user-manual#block-diagram
---
Changes in v5:
- Per Ilpo Järvinen's review of v4: use pci_bus_assign_resources()
instead of a manual per-BAR pci_assign_resource() loop in the
root-bus branch. Same outcome for the bug being fixed, but reuses
the core's alignment-sorted placement algorithm and matches the
design intent stated in db92e3fef53e's commit message, rather than
reimplementing assignment ad hoc.
- Drop Reviewed-by from Krzysztof Wilczyński: this revision changes
what the root-bus branch actually does (not just a predicate, as
in v3's pci_upstream_bridge() change), so his v2 review doesn't
carry over. Add Suggested-by for Ilpo instead.
- Add Suggested-by for Bjorn Helgaas too: overdue credit for the
pci_upstream_bridge() suggestion from v3 review, which only ever
made it into the cover letter's changelog, not the actual commit
trailers.
- Link to v4: https://patch.msgid.link/20260908-pci-rebar-root-bus-v4-1-2780e9c22e08@honeycomb.io
Changes in v4:
- No functional changes. Resending per Thorsten Leemhuis (regressions
tracking) -- this looked to have fallen through the cracks after
v3. Confirmed still broken today on v7.3-rc2 (mainline) and v7.2.4
(stable): pci_do_resource_release_and_resize() still has the
original "if (!bus->self) goto out;" with no reassignment on that
path.
- Rebase onto current mainline.
- Link to v3: https://patch.msgid.link/20260731-pci-rebar-root-bus-v3-1-6732e233fc99@honeycomb.io
Changes in v3:
- Add Reviewed-by from Krzysztof Wilczyński, received on v2.
- Use pci_upstream_bridge() instead of testing pdev->bus->self
directly, per Bjorn Helgaas's review: bus->self == NULL doesn't
necessarily mean a root bus (SR-IOV virtfn_add_bus() buses are the
same), and this function is reachable for VF BAR resizes elsewhere
in this file. Doesn't affect the bug being fixed here (not a VF)
but is more correct in general. Reviewed-by kept from v2 -- this is
a narrow, mechanical change to a path this device doesn't exercise,
not a substantive rework of what was reviewed.
- Rebase onto current mainline.
- Add Jacob Martin to Cc: he independently triaged and accepted the
corresponding Ubuntu report (LP: #2159596) on the Canonical kernel
team, so he has direct interest in this landing.
- Move Ilpo Järvinen to To: for final review, per Bjorn.
- Link to v2: https://patch.msgid.link/20260712-pci-rebar-root-bus-v2-1-a1b9107a82dc@honeycomb.io
Changes in v2:
- Add Assisted-by tags (missing from v1; required per
Documentation/process/coding-assistants.rst)
- Add Link: to the corresponding Ubuntu bug report
- Drop the "# v6.19+" annotation on Cc: stable; unnecessary noise
given the Fixes: tag already lets the stable team derive applicable
versions (per stable-kernel-rules.rst)
- Link to v1: https://patch.msgid.link/20260705-pci-rebar-root-bus-v1-1-55df70cbdd88@honeycomb.io
To: Bjorn Helgaas <bhelgaas@google.com>
To: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Cc: linux-pci@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: regressions@lists.linux.dev
Cc: amd-gfx@lists.freedesktop.org
Cc: Jon Nettleton <jon@solid-run.com>
Cc: Jon Nettleton <jon.nettleton@gmail.com>
Cc: Jacob Martin <jacob.martin@canonical.com>
Cc: Thorsten Leemhuis <regressions@leemhuis.info>
---
drivers/pci/setup-bus.c | 23 +++++++++++++++++------
1 file changed, 17 insertions(+), 6 deletions(-)
diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
index e8c94aa1d3c12..ed16ef7c26fa7 100644
--- a/drivers/pci/setup-bus.c
+++ b/drivers/pci/setup-bus.c
@@ -2380,6 +2380,7 @@ int pci_do_resource_release_and_resize(struct pci_dev *pdev, int resno, int size
struct resource *res = pci_resource_n(pdev, resno);
struct pci_dev_resource *dev_res;
struct pci_bus *bus = pdev->bus;
+ struct pci_dev *bridge = pci_upstream_bridge(pdev);
struct resource *b_win, *r;
LIST_HEAD(saved);
unsigned int i;
@@ -2397,6 +2398,8 @@ int pci_do_resource_release_and_resize(struct pci_dev *pdev, int resno, int size
if (ret)
return ret;
+ down_read(&pci_bus_sem);
+
pci_dev_for_each_resource(pdev, r, i) {
if (i >= PCI_BRIDGE_RESOURCES)
break;
@@ -2415,13 +2418,21 @@ int pci_do_resource_release_and_resize(struct pci_dev *pdev, int resno, int size
pci_resize_resource_set_size(pdev, resno, size);
- if (!bus->self)
- goto out;
+ if (bridge) {
+ ret = pbus_reassign_bridge_resources(bus, res, &saved);
+ if (ret)
+ goto restore;
+ } else {
+ /* No bridge window to adjust; let the core reassign the bus. */
+ pci_bus_assign_resources(bus);
- down_read(&pci_bus_sem);
- ret = pbus_reassign_bridge_resources(bus, res, &saved);
- if (ret)
- goto restore;
+ list_for_each_entry(dev_res, &saved, list) {
+ if (!resource_assigned(dev_res->res)) {
+ ret = -ENOSPC;
+ goto restore;
+ }
+ }
+ }
out:
up_read(&pci_bus_sem);
---
base-commit: 893e11787f78e43b534e252249ac3fff4d1333f8
change-id: 20260704-pci-rebar-root-bus-f3123fe10fc7
Best regards,
--
Liz Fong-Jones <lizf@honeycomb.io>
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [PATCH v5] PCI: Fix BAR resize for devices on a root bus
2026-09-08 23:03 [PATCH v5] PCI: Fix BAR resize for devices on a root bus Liz Fong-Jones
@ 2026-09-09 10:17 ` Ilpo Järvinen
2026-09-10 16:23 ` Liz Fong-Jones
0 siblings, 1 reply; 3+ messages in thread
From: Ilpo Järvinen @ 2026-09-09 10:17 UTC (permalink / raw)
To: Liz Fong-Jones
Cc: Bjorn Helgaas, linux-pci, LKML, regressions, amd-gfx,
Jon Nettleton, Jon Nettleton, Jacob Martin, Thorsten Leemhuis,
stable
[-- Attachment #1: Type: text/plain, Size: 10501 bytes --]
On Tue, 8 Sep 2026, Liz Fong-Jones wrote:
> pci_do_resource_release_and_resize() releases the device BARs that
> share a bridge window with the BAR being resized, but when the device
> sits directly on a root bus (pdev->bus->self == NULL) it then skips
> resource assignment entirely and returns success, leaving the BARs it
> just released unassigned (IORESOURCE_UNSET).
>
> Skipping pbus_reassign_bridge_resources() is correct in that case --
> there is no bridge window to adjust -- but the device BARs still have
> to be reassigned. Before the BAR release was consolidated into the PCI
> core, this case worked for amdgpu because the driver released the BARs
> itself and then called pci_assign_unassigned_bus_resources()
> unconditionally after the resize, which assigns unassigned device BARs
> also on a root bus. Commit db92e3fef53e ("drm/amdgpu: Remove driver
> side BAR release before resize") removed that call, so nothing assigns
> the released BARs anymore.
>
> This breaks amdgpu completely on the SolidRun HoneyComb LX2K (NXP
> LX2160A, arm64, ACPI), where the GPU endpoint is enumerated directly
> on the root bus of its segment (there is no root port device, so
> pdev->bus->self is NULL):
>
> amdgpu 0004:01:00.0: BAR 0 [mem 0xa400000000-0xa40fffffff 64bit pref]: releasing
> amdgpu 0004:01:00.0: BAR 2 [mem 0xa410000000-0xa4101fffff 64bit pref]: releasing
> amdgpu 0004:01:00.0: sw_init of IP block <gmc_v8_0> failed -19
> amdgpu 0004:01:00.0: amdgpu_device_ip_init failed
> amdgpu 0004:01:00.0: Fatal error during GPU init
>
> No error is logged because the resize path reports success; amdgpu
> then finds BAR0 IORESOURCE_UNSET and bails out with -ENODEV.
>
> When there is no upstream bridge, call pci_bus_assign_resources() on
> the root bus to place the BARs released above, using the same
> alignment-sorted algorithm as normal enumeration instead of a manual
> per-BAR loop. This also walks the rest of the hierarchy under the
> root bus, as pci_assign_unassigned_bus_resources() used to for amdgpu
> before commit db92e3fef53e ("drm/amdgpu: Remove driver side BAR
> release before resize") removed that call -- the core-side fix that
> commit asked for ("such a problem should be fixed inside
> pci_resize_resource() instead").
>
> pci_bus_assign_resources() returns void, so failure is detected by
> checking whether the released BARs are still assigned afterward; if
> not, roll back as in the bridged case. This is stricter than the
> bridged path -- it fails on any unplaced resource, not just required
> ones -- since a root bus typically has one shared window, and failing
> loudly seemed better than leaving something silently unassigned.
>
> The root bus path also had a locking bug that any fix here necessarily
> touches: the old "goto out" jumped to up_read(&pci_bus_sem) without a
> matching down_read() (as does the "goto restore" taken when
> pci_dev_res_add_to_list() fails in the release loop). Take pci_bus_sem
> before the BAR release loop so every path through the function holds
> it exactly once.
>
> Use pci_upstream_bridge() rather than testing pdev->bus->self
> directly. The two are usually equivalent, but pci_upstream_bridge()
> is the canonical test -- pci_is_root_bus(), which it's built on,
> warns that bus->self == NULL doesn't necessarily mean a root bus
> (SR-IOV virtual buses from virtfn_add_bus() are the same).
>
> Fixes: 337b1b566db0 ("PCI: Fix restoring BARs on BAR resize rollback path")
> Cc: stable@vger.kernel.org
> Link: https://bugs.launchpad.net/ubuntu/+source/linux-hwe-7.0/+bug/2159596
> Suggested-by: Bjorn Helgaas <bhelgaas@google.com>
> Suggested-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
> Assisted-by: Claude:claude-fable-5 checkpatch
> Assisted-by: Claude:claude-sonnet-5
> Signed-off-by: Liz Fong-Jones <lizf@honeycomb.io>
> ---
> #regzbot introduced: 337b1b566db0
>
> Observed at runtime on Ubuntu's linux-hwe-7.0 (7.0.0-14, broken) vs
> linux-hwe-6.17 (working), but nothing here is distro-specific: Ubuntu
> carries this code unmodified, and the affected function is identical
> to current mainline. By source inspection the regression window is
> v6.18 (old code paths) to v6.19 (consolidation). Workaround for
> affected users: amdgpu.rebar=0.
>
> On the topology question raised in review: this is physical hardware,
> not a virtualized guest, running the UEFI/ACPI firmware variant of
> this board (SolidRun also ships a U-Boot/devicetree variant of the
> same hardware). Deferring to Jon Nettleton (CC'd, SolidRun) on the
> exact root complex wiring; see the hardware manual's block diagram:
> https://dev.solid-run.com/nxp/lx2160a/com-som/lx2160a-com-hardware-user-manual#block-diagram
> ---
> Changes in v5:
> - Per Ilpo Järvinen's review of v4: use pci_bus_assign_resources()
> instead of a manual per-BAR pci_assign_resource() loop in the
> root-bus branch. Same outcome for the bug being fixed, but reuses
> the core's alignment-sorted placement algorithm
Great, it worked (I was somewhat afraid there might have been some
landmine for the case where there's no bridge).
And yes, it's very important in general case to assign the resource in
correct order because the assignment algorithm is greedy.
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
--
i.
> and matches the
> design intent stated in db92e3fef53e's commit message, rather than
> reimplementing assignment ad hoc.
> - Drop Reviewed-by from Krzysztof Wilczyński: this revision changes
> what the root-bus branch actually does (not just a predicate, as
> in v3's pci_upstream_bridge() change), so his v2 review doesn't
> carry over. Add Suggested-by for Ilpo instead.
> - Add Suggested-by for Bjorn Helgaas too: overdue credit for the
> pci_upstream_bridge() suggestion from v3 review, which only ever
> made it into the cover letter's changelog, not the actual commit
> trailers.
> - Link to v4: https://patch.msgid.link/20260908-pci-rebar-root-bus-v4-1-2780e9c22e08@honeycomb.io
>
> Changes in v4:
> - No functional changes. Resending per Thorsten Leemhuis (regressions
> tracking) -- this looked to have fallen through the cracks after
> v3. Confirmed still broken today on v7.3-rc2 (mainline) and v7.2.4
> (stable): pci_do_resource_release_and_resize() still has the
> original "if (!bus->self) goto out;" with no reassignment on that
> path.
> - Rebase onto current mainline.
> - Link to v3: https://patch.msgid.link/20260731-pci-rebar-root-bus-v3-1-6732e233fc99@honeycomb.io
>
> Changes in v3:
> - Add Reviewed-by from Krzysztof Wilczyński, received on v2.
> - Use pci_upstream_bridge() instead of testing pdev->bus->self
> directly, per Bjorn Helgaas's review: bus->self == NULL doesn't
> necessarily mean a root bus (SR-IOV virtfn_add_bus() buses are the
> same), and this function is reachable for VF BAR resizes elsewhere
> in this file. Doesn't affect the bug being fixed here (not a VF)
> but is more correct in general. Reviewed-by kept from v2 -- this is
> a narrow, mechanical change to a path this device doesn't exercise,
> not a substantive rework of what was reviewed.
> - Rebase onto current mainline.
> - Add Jacob Martin to Cc: he independently triaged and accepted the
> corresponding Ubuntu report (LP: #2159596) on the Canonical kernel
> team, so he has direct interest in this landing.
> - Move Ilpo Järvinen to To: for final review, per Bjorn.
> - Link to v2: https://patch.msgid.link/20260712-pci-rebar-root-bus-v2-1-a1b9107a82dc@honeycomb.io
>
> Changes in v2:
> - Add Assisted-by tags (missing from v1; required per
> Documentation/process/coding-assistants.rst)
> - Add Link: to the corresponding Ubuntu bug report
> - Drop the "# v6.19+" annotation on Cc: stable; unnecessary noise
> given the Fixes: tag already lets the stable team derive applicable
> versions (per stable-kernel-rules.rst)
> - Link to v1: https://patch.msgid.link/20260705-pci-rebar-root-bus-v1-1-55df70cbdd88@honeycomb.io
>
> To: Bjorn Helgaas <bhelgaas@google.com>
> To: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
> Cc: linux-pci@vger.kernel.org
> Cc: linux-kernel@vger.kernel.org
> Cc: regressions@lists.linux.dev
> Cc: amd-gfx@lists.freedesktop.org
> Cc: Jon Nettleton <jon@solid-run.com>
> Cc: Jon Nettleton <jon.nettleton@gmail.com>
> Cc: Jacob Martin <jacob.martin@canonical.com>
> Cc: Thorsten Leemhuis <regressions@leemhuis.info>
> ---
> drivers/pci/setup-bus.c | 23 +++++++++++++++++------
> 1 file changed, 17 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
> index e8c94aa1d3c12..ed16ef7c26fa7 100644
> --- a/drivers/pci/setup-bus.c
> +++ b/drivers/pci/setup-bus.c
> @@ -2380,6 +2380,7 @@ int pci_do_resource_release_and_resize(struct pci_dev *pdev, int resno, int size
> struct resource *res = pci_resource_n(pdev, resno);
> struct pci_dev_resource *dev_res;
> struct pci_bus *bus = pdev->bus;
> + struct pci_dev *bridge = pci_upstream_bridge(pdev);
> struct resource *b_win, *r;
> LIST_HEAD(saved);
> unsigned int i;
> @@ -2397,6 +2398,8 @@ int pci_do_resource_release_and_resize(struct pci_dev *pdev, int resno, int size
> if (ret)
> return ret;
>
> + down_read(&pci_bus_sem);
> +
> pci_dev_for_each_resource(pdev, r, i) {
> if (i >= PCI_BRIDGE_RESOURCES)
> break;
> @@ -2415,13 +2418,21 @@ int pci_do_resource_release_and_resize(struct pci_dev *pdev, int resno, int size
>
> pci_resize_resource_set_size(pdev, resno, size);
>
> - if (!bus->self)
> - goto out;
> + if (bridge) {
> + ret = pbus_reassign_bridge_resources(bus, res, &saved);
> + if (ret)
> + goto restore;
> + } else {
> + /* No bridge window to adjust; let the core reassign the bus. */
> + pci_bus_assign_resources(bus);
>
> - down_read(&pci_bus_sem);
> - ret = pbus_reassign_bridge_resources(bus, res, &saved);
> - if (ret)
> - goto restore;
> + list_for_each_entry(dev_res, &saved, list) {
> + if (!resource_assigned(dev_res->res)) {
> + ret = -ENOSPC;
> + goto restore;
> + }
> + }
> + }
>
> out:
> up_read(&pci_bus_sem);
>
> ---
> base-commit: 893e11787f78e43b534e252249ac3fff4d1333f8
> change-id: 20260704-pci-rebar-root-bus-f3123fe10fc7
>
> Best regards,
> --
> Liz Fong-Jones <lizf@honeycomb.io>
>
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [PATCH v5] PCI: Fix BAR resize for devices on a root bus
2026-09-09 10:17 ` Ilpo Järvinen
@ 2026-09-10 16:23 ` Liz Fong-Jones
0 siblings, 0 replies; 3+ messages in thread
From: Liz Fong-Jones @ 2026-09-10 16:23 UTC (permalink / raw)
To: Ilpo Järvinen
Cc: Liz Fong-Jones, Bjorn Helgaas, linux-pci, LKML, regressions,
amd-gfx, Jon Nettleton, Jon Nettleton, Jacob Martin,
Thorsten Leemhuis, stable
On Ilpo Järvinen wrote:
> Great, it worked (I was somewhat afraid there might have been some
> landmine for the case where there's no bridge).
>
> And yes, it's very important in general case to assign the resource in
> correct order because the assignment algorithm is greedy.
Thanks, Ilpo, for both reviews.
Yes, it works fine even without the bridge. This is what it looks
like when triggering the resize through sysfs, and through amdgpu's
probe-on-insmod, on the actual root-bus hardware (HoneyComb LX2K,
LX2160A, dGPU directly on the root bus, no upstream bridge).
Manual trigger via sysfs (shrink then grow back, forcing the release
+ reassign path both directions):
pci 0004:01:00.0: BAR 0 [mem 0xa400000000-0xa4ffffffff 64bit pref]: releasing
pci 0004:01:00.0: BAR 2 [mem 0xa500000000-0xa5001fffff 64bit pref]: releasing
pci 0004:01:00.0: BAR 0 [mem 0xa400000000-0xa40fffffff 64bit pref]: assigned
pci 0004:01:00.0: BAR 2 [mem 0xa410000000-0xa4101fffff 64bit pref]: assigned
...
pci 0004:01:00.0: BAR 0 [mem 0xa400000000-0xa40fffffff 64bit pref]: releasing
pci 0004:01:00.0: BAR 2 [mem 0xa410000000-0xa4101fffff 64bit pref]: releasing
pci 0004:01:00.0: BAR 0 [mem 0xa400000000-0xa4ffffffff 64bit pref]: assigned
pci 0004:01:00.0: BAR 2 [mem 0xa500000000-0xa5001fffff 64bit pref]: assigned
And the real-world path, amdgpu's own probe with the amdgpu.rebar=0
workaround removed:
amdgpu 0004:01:00.0: VRAM: 4096M 0x000000F400000000 - 0x000000F4FFFFFFFF (4096M used)
amdgpu 0004:01:00.0: [drm] Detected VRAM RAM=4096M, BAR=4096M
amdgpu 0004:01:00.0: 4096M of VRAM memory ready
No "Fatal error during GPU init" (the original regression's failure
signature), full IP block init, driver comes up clean.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-09-10 16:23 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-08 23:03 [PATCH v5] PCI: Fix BAR resize for devices on a root bus Liz Fong-Jones
2026-09-09 10:17 ` Ilpo Järvinen
2026-09-10 16:23 ` Liz Fong-Jones
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®