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

Christian König christian.koenig at amd.com
Tue Mar 19 09:54:48 UTC 2024


Am 19.03.24 um 02:55 schrieb Kurt Kartaltepe:
> 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.

Well what problems do you run into? The ACPI and BIOS assignments 
usually work much better than whatever the Linux PCI subsystem comes up 
with.

The PCI subsystem in the Linux kernel for example can't handle back to 
back resources behind multiple downstream bridges.

So when the BIOS fails to assign something it's extremely unlikely that 
the Linux kernel will do the right thing either.

Regards,
Christian.

>
> 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