[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1322706e-5905-433b-5bc5-ed44f881b510@arm.com>
Date: Fri, 29 Apr 2022 19:06:43 +0100
From: Robin Murphy <robin.murphy@....com>
To: Baolu Lu <baolu.lu@...ux.intel.com>, joro@...tes.org,
will@...nel.org
Cc: jean-philippe@...aro.org, zhang.lyra@...il.com,
linux-kernel@...r.kernel.org, iommu@...ts.linux-foundation.org,
thierry.reding@...il.com, linux-arm-kernel@...ts.infradead.org,
gerald.schaefer@...ux.ibm.com
Subject: Re: [PATCH v2 03/14] iommu: Move bus setup to IOMMU device
registration
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.
Powered by blists - more mailing lists