Messages in this thread | | | Date | Fri, 29 Apr 2022 19:06:43 +0100 | Subject | Re: [PATCH v2 03/14] iommu: Move bus setup to IOMMU device registration | From | Robin Murphy <> |
| |
On 29/04/2022 9:50 am, Robin Murphy wrote: > On 2022-04-29 07:57, Baolu Lu wrote: >> Hi Robin, >> >> On 2022/4/28 21:18, Robin Murphy wrote: >>> Move the bus setup to iommu_device_register(). This should allow >>> bus_iommu_probe() to be correctly replayed for multiple IOMMU instances, >>> and leaves bus_set_iommu() as a glorified no-op to be cleaned up next. >> >> I re-fetched the latest patches on >> >> https://gitlab.arm.com/linux-arm/linux-rm/-/commits/iommu/bus >> >> and rolled back the head to "iommu: Cleanup bus_set_iommu". >> >> The test machine still hangs during boot. >> >> I went through the code. It seems that the .probe_device for Intel IOMMU >> driver can't handle the probe replay well. It always assumes that the >> device has never been probed. > > Hmm, but probe_iommu_group() is supposed to prevent the > __iommu_probe_device() call even happening if the device *has* already > been probed before :/ > > I've still got an old Intel box spare in the office so I'll rig that up > and see if I can see what might be going on here...
OK, on a Xeon with two DMAR units, this seems to boot OK with or without patch #1, so it doesn't seem to be a general problem with replaying in iommu_device_register(), or with platform devices. Not sure where to go from here... :/
Cheers, Robin.
| |