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