[PATCH 0/3] make MSI IOVA base address and its length configurable
Shyam Saini
shyamsaini at linux.microsoft.com
Thu Apr 3 12:34:58 PDT 2025
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
More information about the linux-arm-kernel
mailing list