[<prev] [next>] [day] [month] [year] [list]
Message-Id: <201605301338.u4UDY5lS030402@mx0a-001b2d01.pphosted.com>
Date: Mon, 30 May 2016 21:32:10 +0800
From: Yongji Xie <xyjxie@...ux.vnet.ibm.com>
To: kvm@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-pci@...r.kernel.org, linuxppc-dev@...ts.ozlabs.org,
iommu@...ts.linux-foundation.org
Cc: alex.williamson@...hat.com, bhelgaas@...gle.com, aik@...abs.ru,
benh@...nel.crashing.org, paulus@...ba.org, mpe@...erman.id.au,
joro@...tes.org, warrier@...ux.vnet.ibm.com,
zhong@...ux.vnet.ibm.com, nikunj@...ux.vnet.ibm.com,
eric.auger@...aro.org, will.deacon@....com,
gwshan@...ux.vnet.ibm.com, alistair@...ple.id.au,
ruscur@...sell.cc, kevin.tian@...el.com, David.Laight@...LAB.COM
Subject: [PATCH v2 3/6] PCI: Set PCI_BUS_FLAGS_MSI_REMAP if IOMMU have capability of IRQ remapping
The capability of IRQ remapping is abstracted on IOMMU side on
some archs. There is a existing flag IOMMU_CAP_INTR_REMAP for this.
To have a universal flag to test this capability for different
archs on PCI side, we set PCI_BUS_FLAGS_MSI_REMAP for PCI buses
when IOMMU_CAP_INTR_REMAP is set.
Signed-off-by: Yongji Xie <xyjxie@...ux.vnet.ibm.com>
---
drivers/pci/probe.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index 2b9e3ba..15a33e2 100644
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -16,6 +16,7 @@
#include <linux/aer.h>
#include <linux/acpi.h>
#include <linux/irqdomain.h>
+#include <linux/iommu.h>
#include "pci.h"
#define CARDBUS_LATENCY_TIMER 176 /* secondary latency timer */
@@ -2160,6 +2161,9 @@ struct pci_bus *pci_create_root_bus(struct device *parent, int bus,
pci_set_bus_of_node(b);
pci_set_bus_msi_domain(b);
+ if (iommu_capable(&pci_bus_type, IOMMU_CAP_INTR_REMAP))
+ b->bus_flags |= PCI_BUS_FLAGS_MSI_REMAP;
+
if (!parent)
set_dev_node(b->bridge, pcibus_to_node(b));
--
1.7.9.5
Powered by blists - more mailing lists