On Sun, Apr 29, 2012 at 10:53:06PM +0400, Sergei Shtylyov wrote: > Hello. > > On 28-04-2012 17:12, Jayachandran C wrote: > > >From: Ganesan Ramalingam<ganesanr@xxxxxxxxxxxx> > > >MSI interrupts do not work on XLS after commit a776c49, because > > Please also specify that commit's summary in parens. > > >the change disables MSI interrupts on the XLS PCIe bridges at boot-up. > > >Fix this by enabling MSI interrupts on the bridge in the > >arch_setup_msi_irq() function. Earlier, this was done from firmware > >and we did not need to change the configuration in linux. > > >Signed-off-by: Ganesan Ramalingam<ganesanr@xxxxxxxxxxxx> > >Signed-off-by: Jayachandran C<jayachandranc@xxxxxxxxxxxxxxxxx> > >--- > > arch/mips/pci/pci-xlr.c | 30 +++++++++++++++++++++++++----- > > 1 file changed, 25 insertions(+), 5 deletions(-) > > > >diff --git a/arch/mips/pci/pci-xlr.c b/arch/mips/pci/pci-xlr.c > >index 50ff4dc..003e053 100644 > >--- a/arch/mips/pci/pci-xlr.c > >+++ b/arch/mips/pci/pci-xlr.c > [...] > >@@ -168,17 +169,17 @@ static int get_irq_vector(const struct pci_dev *dev) > > if (dev->bus->self == NULL) > > return 0; > > > >- switch (dev->bus->self->devfn) { > >- case 0x0: > >+ switch (PCI_SLOT(dev->bus->self->devfn)) { > >+ case 0: > > return PIC_PCIE_LINK0_IRQ; > >- case 0x8: > >+ case 1: > > return PIC_PCIE_LINK1_IRQ; > >- case 0x10: > >+ case 2: > > if (nlm_chip_is_xls_b()) > > return PIC_PCIE_XLSB0_LINK2_IRQ; > > else > > return PIC_PCIE_LINK2_IRQ; > >- case 0x18: > >+ case 3: > > if (nlm_chip_is_xls_b()) > > return PIC_PCIE_XLSB0_LINK3_IRQ; > > else > > This seems like un unrelated change... This is just a slightly better way of writing the same logic, it does not fix any issue. We should have added this to the commit description, but I'm not sure if it requires a separate patch. JC.