summaryrefslogtreecommitdiff
path: root/drivers/pci
diff options
context:
space:
mode:
authorMinghuan Lian <Minghuan.Lian@freescale.com>2014-11-04 08:28:42 (GMT)
committerMatthew Weigel <Matthew.Weigel@freescale.com>2014-12-11 18:40:17 (GMT)
commitd54184beb93e2af12116a29189bbcc6f5c895a78 (patch)
tree37db2d68c6913a6b4d5b88d39301cebae57b6bcf /drivers/pci
parent1468d507377042b2d647036ea81471e002aed61a (diff)
downloadlinux-fsl-qoriq-d54184beb93e2af12116a29189bbcc6f5c895a78.tar.xz
PCI: Layerscape: fix MSI interrupt clearing
MSI_LS1021A_DATA that is used to generate MSI interrupt by PCI device is a little endian value. It should be converted to big endian when writing to SCFG_SPIMSICLRCR a big endian register. Signed-off-by: Minghuan Lian <Minghuan.Lian@freescale.com> Change-Id: Ie26dd7320f54ee7410d29cca38f4218044549307 Reviewed-on: http://git.am.freescale.net:8181/23098 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Mingkai Hu <Mingkai.Hu@freescale.com> Reviewed-by: Richard Schmitt <richard.schmitt@freescale.com>
Diffstat (limited to 'drivers/pci')
-rw-r--r--drivers/pci/host/pci-layerscape.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/pci/host/pci-layerscape.c b/drivers/pci/host/pci-layerscape.c
index e4cd563..8d75caf 100644
--- a/drivers/pci/host/pci-layerscape.c
+++ b/drivers/pci/host/pci-layerscape.c
@@ -90,7 +90,7 @@ static irqreturn_t ls_pcie_msi_irq_handler(int irq, void *data)
/* clear the interrupt */
regmap_write(pcie->scfg, SCFG_SPIMSICLRCR,
- MSI_LS1021A_DATA(pcie->index));
+ cpu_to_be32(MSI_LS1021A_DATA(pcie->index)));
msi_irq = irq_find_mapping(pp->irq_domain, 0);
if (!msi_irq) {