Re: [PATCH 1/2] irqdomain: add empty irq_domain_check_msi_remap

From: Mian Yousaf Kaukab
Date: Thu Mar 02 2017 - 08:31:59 EST


On 03/02/2017 02:12 PM, Auger Eric wrote:
Hi Yousaf,

On 02/03/2017 13:23, Mian Yousaf Kaukab wrote:
On 03/02/2017 11:24 AM, Auger Eric wrote:
Hi Mian Yousaf,

On 02/03/2017 11:01, Mian Yousaf Kaukab wrote:
Fix following build error for s390:
drivers/vfio/vfio_iommu_type1.c: In function
'vfio_iommu_type1_attach_group':
drivers/vfio/vfio_iommu_type1.c:1290:25: error: implicit declaration
of function 'irq_domain_check_msi_remap'

Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxx>
---
include/linux/irqdomain.h | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/include/linux/irqdomain.h b/include/linux/irqdomain.h
index 188eced6813e..137817b08cdc 100644
--- a/include/linux/irqdomain.h
+++ b/include/linux/irqdomain.h
@@ -524,6 +524,10 @@ static inline struct irq_domain
*irq_find_matching_fwnode(
{
return NULL;
}
+static inline bool irq_domain_check_msi_remap(void)
+{
+ return true;
By default you should rather return false, reporting there is no MSI
remapping capability on irq domain side. Besides thank you for the fix.
I choose to return true based on the function header comments of
irq_domain_check_msi_remap. It says

"Return: false if any MSI irq domain does not support IRQ remapping,
true otherwise (including if there is no MSI irq domain)"

So function should return true in case of no MSI irq domain. Have I miss
understood this?
This behavior is indeed mandated on ARM - where MSI are translated by
the smmu - to allow safe device assignment if there is no MSI domain,
ie. in this situation there is no risk an assigned device writes into an
MSI doorbell.

As the function is not implemented at all in your case, personally I
would rather be defensive though and return false. You were not able to
check the capability.
OK Agree. I will send an update as soon as a decision is made on 2/2.

BR,
Yousaf