Am Freitag, den 12.05.2017, 17:56 +0100 schrieb Joao Pinto: > This patch adds the new interrupt api to pecie-designware, keeping the old > one. A define was added to toggle between the two apis (for testing purposes). > > Signed-off-by: Joao Pinto <jpinto@xxxxxxxxxxxx> > --- > drivers/pci/dwc/pcie-designware-host.c | 241 ++++++++++++++++++++++++++++++++- > drivers/pci/dwc/pcie-designware.h | 5 + > 2 files changed, 244 insertions(+), 2 deletions(-) > > diff --git a/drivers/pci/dwc/pcie-designware-host.c b/drivers/pci/dwc/pcie-designware-host.c > index 28ed32b..6810ea10b 100644 > --- a/drivers/pci/dwc/pcie-designware-host.c > +++ b/drivers/pci/dwc/pcie-designware-host.c [...] > +static int dw_pcie_irq_domain_alloc(struct irq_domain *domain, > + unsigned int virq, unsigned int nr_irqs, > + void *args) > +{ > + struct dw_pcie *pci = domain->host_data; > + struct pcie_port *pp = &pci->pp; > + unsigned long bit; > + > + mutex_lock(&pp->lock); > + > + WARN_ON(nr_irqs != 1); So the new API doesn't support multi MSI, where we need more than a single contiguous MSI in a range? If this is the case then this change is breaking real use-cases that work today. Regards, Luvas