A variety of Intel chipsets don't support lane width switchingMaybe this helps explain all the completely unmaintainable ASPM
or speed switching. When ASPM has been enabled on a dGPU,
these features are utilized and breakage ensues.
garbage in amdgpu and radeon.
If these devices are broken, we need quirks for them.
We can't avoid
ASPM in general just because random devices break.
Ah, I see.There are various methods to try to mitigate the impact both inThe kernel parameters and config options been there pretty much from
firmware and driver code.
This feels like a real problem to me. There are existing mechanismsWith both of those policies in place, how did we get into
(ACPI_FADT_NO_ASPM and _OSC PCIe cap ownership) the platform can use
to prevent the OS from using ASPM.
If vendors assume that *in addition*, the OS will pay attention to
whatever ASPM configuration BIOS did, that's a major disconnect. We
don't do anything like that for other PCI features, and I'm not aware
of any restriction like that being documented.
the situation of having configuration options and knobs?
the beginning. We didn't have the per-device sysfs knobs until very
recently.
Could we maybe have the hot added devices follow the policy of
Hot-added devices power up with ASPM disabled. This policy would meanYes.I think the pragmatic way to approach it is to (essentially) applyDo you mean that when enumerating a device (at boot-time or hot-add
the policy as BIOS defaults and allow overrides from that.
time), we would read the current ASPM config but not change it? And
users could use the sysfs knobs to enable/disable ASPM as desired?
the user has to explicitly enable it, which doesn't seem practical to
me.
If you follow my idea of hot added devices the policy follows
I want quirks for BROKEN devices. Quirks for working hardware is aThat wouldn't solve the problem Kai-Heng is trying to solve.Alone it wouldn't; but if you treated the i225 PCIe device
connected to the system as a "quirk" to apply ASPM policy
from the parent device to this child device it could.
maintenance nightmare.
Bjorn