diff options
author | Minghuan Lian <Minghuan.Lian@freescale.com> | 2014-11-04 08:28:42 (GMT) |
---|---|---|
committer | Matthew Weigel <Matthew.Weigel@freescale.com> | 2014-12-11 18:40:17 (GMT) |
commit | d54184beb93e2af12116a29189bbcc6f5c895a78 (patch) | |
tree | 37db2d68c6913a6b4d5b88d39301cebae57b6bcf | |
parent | 1468d507377042b2d647036ea81471e002aed61a (diff) | |
download | linux-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>
-rw-r--r-- | drivers/pci/host/pci-layerscape.c | 2 |
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) { |