linux-mips
[Top] [All Lists]

Re: [PATCH 02/12] MIPS: Netlogic: MSI enable fix for XLS

To: Jayachandran C <jayachandranc@netlogicmicro.com>
Subject: Re: [PATCH 02/12] MIPS: Netlogic: MSI enable fix for XLS
From: Sergei Shtylyov <sshtylyov@mvista.com>
Date: Sun, 29 Apr 2012 22:53:06 +0400
Cc: linux-mips@linux-mips.org, ralf@linux-mips.org, Ganesan Ramalingam <ganesanr@broadcom.com>
In-reply-to: <1335618738-4679-3-git-send-email-jayachandranc@netlogicmicro.com>
References: <1335618738-4679-1-git-send-email-jayachandranc@netlogicmicro.com> <1335618738-4679-3-git-send-email-jayachandranc@netlogicmicro.com>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mozilla/5.0 (Windows NT 5.1; rv:12.0) Gecko/20120420 Thunderbird/12.0
Hello.

On 28-04-2012 17:12, Jayachandran C wrote:

From: Ganesan Ramalingam<ganesanr@broadcom.com>

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@broadcom.com>
Signed-off-by: Jayachandran C<jayachandranc@netlogicmicro.com>
---
  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...

WBR, Sergei

<Prev in Thread] Current Thread [Next in Thread>