RE: [patch V2 31/33] iommu/vt-d: Enable PCI/IMS
From: Thomas Gleixner
Date: Thu Nov 24 2022 - 04:37:58 EST
On Thu, Nov 24 2022 at 03:17, Kevin Tian wrote:
>> static const struct msi_parent_ops dmar_msi_parent_ops = {
>> - .supported_flags = X86_VECTOR_MSI_FLAGS_SUPPORTED |
>> MSI_FLAG_MULTI_PCI_MSI,
>> + .supported_flags = X86_VECTOR_MSI_FLAGS_SUPPORTED |
>> + MSI_FLAG_MULTI_PCI_MSI |
>> + MSI_FLAG_PCI_IMS,
>> .prefix = "IR-",
>> .init_dev_msi_info = msi_parent_init_dev_msi_info,
>> };
>
> vIR is already available on vIOMMU today [1].
>
> Fortunately both intel/amd IOMMU has a way to detect whether it's a vIOMMU.
>
> For intel it's cap_caching_mode().
>
> For AMD it's amd_iommu_np_cache.
>
> Then MSI_FLAG_PCI_IMS should be set only on physical IOMMU.
Ok. Let me fix that then.
But that made me read back some more.
Jason said, that the envisioned Mellanox use case does not depend on the
IOMMU because the card itself has one which takes care of the
protections.
How are we going to resolve that dilemma?
Thanks,
tglx