[cc += tglx, start of thread: https://lore.kernel.org/r/f8ff40f35a9a5836d1371f60e85c09c5735e3c5e.1750497201.git.lu...@wunner.de/ ]
On Wed, Jul 02, 2025 at 12:47:49PM +0200, Lukas Wunner wrote: > On Mon, Jun 30, 2025 at 01:10:24PM +0200, Hans de Goede wrote: > > ping? It would be good to get some consensus on how to > > fix this and move forward with a fix. Either the patch from > > this thread; or my patch: > > > > https://lore.kernel.org/dri-devel/20250625112411.4123-1-ha...@kernel.org/ > > > > Works for me, the most important thing here is to get this > > regression fixed. > > You seem to have a machine where you can trigger the > "Resources present before probing" message. > > Would you mind enabling CONFIG_DEBUG_DEVRES=y and adding > "log_devres=1" to the kernel command line so that we > can understand what kind of resource is attached to > the AMD IOMMU, and where that happens. > > I don't see invocations of devm_*() in arch/x86/ or > drivers/iommu/amd/ that would explain the error message. I just remembered that an MSI is set up for the AMD IOMMU. And sure enough: amd_iommu_enable_interrupts() iommu_init_irq() iommu_setup_msi() pci_enable_msi() __pci_enable_msi_range() pci_setup_msi_device_domain() pci_create_device_domain() msi_create_device_irq_domain() msi_setup_device_data() msi_sysfs_create_group() devm_device_add_group() ... introduced by bf5e758f02fc ("genirq/msi: Simplify sysfs handling"). Not sure if this is the only one or if there are other resources added anywhere else for the driver-less AMD IOMMU. We'd have to rework MSI handling to not use devm_*(), so that MSIs can be requested for a device without it being bound to a driver. But I suspect tglx may have deliberately designed it to not support that, in which case what the AMD IOMMU driver does is somewhat dodgy... Thanks, Lukas