[PATCH] drm/amdgpu: Remove pci address checks from acpi_vfct_bios

Kurt Kartaltepe kkartaltepe at gmail.com
Tue Mar 19 01:55:52 UTC 2024


On Mon, Mar 18, 2024 at 12:57 PM Alex Deucher <alexdeucher at gmail.com> wrote:
>
> On Mon, Mar 18, 2024 at 3:52 PM Alex Deucher <alexdeucher at gmail.com> wrote:
> >
...
> > Depends on the platform, but recent ones use VFCT.  That said, there
> > should only ever be one IGPU in the system so I think we could just
> > rely on the VID and DID for APUs in this case and check everything for
> > dGPUs.
>
> Is there a reason why you need this option?  Even beyond this, I could
> envision other problems related to APUs and ACPI if these changed.
>
> Alex

So there are multiple factors in play. I am trying to make use of the
lovely usb4/tb3 controllers on the 7940HS with the reportedly Intel
Tamales Module 2 pci/pci bridge over the usb4 interface. This provides
a handy way to expand the pcie bus but configuring ACPI and pcie
topology isn't generally an option on consumer BIOS (unless you want
to enlighten me). This leaves us in the situation where the bios can
enumerate devices poorly resulting in inaccessible devices due to
address conflicts. To resolve address conflicts the only option I'm
aware of is pci=assign-busses, maybe this could also be configured at
runtime but assign-busses seemed nice in some ways.

I havnt experienced any issues with the APU (graphics, hardware
encoders/decoders) but I do think assign-busses might be renumbering
again after suspend/resume/pci rescans but I need to debug further,
maybe suspend/resume are just broken when ACPI addresses are wrong.
Obviously the graphics user space (compositors, mesa might be working
as expected) dont handle the device switching addresses while in use,
for amdgpu kernel side I haven't inspected deeply yet.

I'm not sure if this is the right approach to solving the problem, and
given your input i'm considering it may be better, though not
upstreamable, to implement renumbering only for specified devices like
this pci bridge or investigate runtime management of the pci bus
addresses. The current assign-busses implementation is quite the big
hammer admittedly.

--Kurt Kartaltepe


More information about the amd-gfx mailing list