Re: [PATCH 2/2] vfio: type1: conditionally check MSI remapping at irq domain level

From: Mian Yousaf Kaukab
Date: Thu Mar 02 2017 - 07:40:40 EST


On 03/02/2017 11:24 AM, Auger Eric wrote:
Hi,

On 02/03/2017 11:01, Mian Yousaf Kaukab wrote:
Check only if irq domains are available.

Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxx>
---
drivers/vfio/vfio_iommu_type1.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/vfio/vfio_iommu_type1.c b/drivers/vfio/vfio_iommu_type1.c
index bd6f293c4ebd..e3ed50e40ead 100644
--- a/drivers/vfio/vfio_iommu_type1.c
+++ b/drivers/vfio/vfio_iommu_type1.c
@@ -1287,8 +1287,9 @@ static int vfio_iommu_type1_attach_group(void *iommu_data,
INIT_LIST_HEAD(&domain->group_list);
list_add(&group->next, &domain->group_list);
- msi_remap = resv_msi ? irq_domain_check_msi_remap() :
- iommu_capable(bus, IOMMU_CAP_INTR_REMAP);
+ msi_remap = resv_msi && IS_ENABLED(CONFIG_IRQ_DOMAIN) ?
+ irq_domain_check_msi_remap() :
+ iommu_capable(bus, IOMMU_CAP_INTR_REMAP);
Is that patch actually needed after [PATCH 1/2] irqdomain: add empty
irq_domain_check_msi_remap. irq_domain_check_msi_remap() should be
defined and if you follow my suggestion, would return false. Anyway in
your case resv_msi should be false.
I agree its an overkill if resv_msi is guaranteed to be false. What I am unsure about is that, if iommu have IOMMU_RESV_MSI regions that would mean that irq domains are selected in the build. If this is not guaranteed, then we need to add this check.


Thanks

Eric

BR,
Yousaf