[irqchip: irq/irqchip-next] irqchip/gic-v3-its: Tag ITS device as shared if allocating for a proxy device

From: irqchip-bot for Marc Zyngier
Date: Fri Dec 11 2020 - 10:00:40 EST


The following commit has been merged into the irq/irqchip-next branch of irqchip:

Commit-ID: 5fe71d271df8c05e1060c0184764eba18b17a96f
Gitweb: https://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms/5fe71d271df8c05e1060c0184764eba18b17a96f
Author: Marc Zyngier <maz@xxxxxxxxxx>
AuthorDate: Sun, 29 Nov 2020 13:52:07
Committer: Marc Zyngier <maz@xxxxxxxxxx>
CommitterDate: Fri, 11 Dec 2020 14:47:50

irqchip/gic-v3-its: Tag ITS device as shared if allocating for a proxy device

The ITS already has some notion of "shared" devices. Let's map the
MSI_ALLOC_FLAGS_PROXY_DEVICE flag onto this internal property.

Signed-off-by: Marc Zyngier <maz@xxxxxxxxxx>
Tested-by: John Garry <john.garry@xxxxxxxxxx>
Link: https://lore.kernel.org/r/20201129135208.680293-3-maz@xxxxxxxxxx
---
drivers/irqchip/irq-gic-v3-its.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/drivers/irqchip/irq-gic-v3-its.c b/drivers/irqchip/irq-gic-v3-its.c
index d74ef41..c951ad2 100644
--- a/drivers/irqchip/irq-gic-v3-its.c
+++ b/drivers/irqchip/irq-gic-v3-its.c
@@ -3487,6 +3487,9 @@ static int its_msi_prepare(struct irq_domain *domain, struct device *dev,
goto out;
}

+ if (info->flags & MSI_ALLOC_FLAGS_PROXY_DEVICE)
+ its_dev->shared = true;
+
pr_debug("ITT %d entries, %d bits\n", nvec, ilog2(nvec));
out:
mutex_unlock(&its->dev_alloc_lock);