Hi Jason, > On Thu, Jan 30, 2025 at 03:21:37PM -0800, Shyam Saini wrote: > > > Unfortunately, it is an HW issue. > > Well, that's pretty bad to have built HW that can't DMA to low > addresses at all.. But OK. > > > Are you okay with this passing custom MSI_IOVA via DTS approach ? > > It isn't up to me, but I've understood the DT maintainers would reject > this as it isn't is describing HW but just a random Linux software > knob. >
If i understood correctly MSI window IOVA is hw property, if yes then it should be accepted by DTS folks, did i misundertstand that? > I think you should make selecting the sw_msi dynamic in Linux. My understanding is that if we have to make it dynamic, we have to use iova allocator that would need iova_domain as a member of struct arm_smmu_domain, and allocate iova for MSI window dynamically using alloc_iova() in arm_smmu_get_resv_regions() is that what you meant when you mentioned selecting the sw_msi dynamically? later we still have to [1] re-adjust the final iova list to IOVA range - resereved regions (msi) [1] https://elixir.bootlin.com/linux/v6.13.1/source/drivers/vfio/vfio_iommu_type1.c#L2232 so either static or dynamic, we seems to need MSI allocation Please let me know what you think about this? Thanks, Shyam