summaryrefslogtreecommitdiffstats
path: root/drivers/pci
diff options
context:
space:
mode:
authorAlan Douglas <adouglas@cadence.com>2018-10-11 17:15:54 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-12-01 09:16:15 +0100
commit26a4c6a562ceb419e42cd5b0fa05752b8ff3db60 (patch)
tree01b2a0519d2147d1d1ad0cf05e8e3ae1c7d97cab /drivers/pci
parentca71f9c8adc2f61246158a1bdc9cd5e21db52773 (diff)
downloadlinux-stable-26a4c6a562ceb419e42cd5b0fa05752b8ff3db60.tar.gz
linux-stable-26a4c6a562ceb419e42cd5b0fa05752b8ff3db60.tar.bz2
linux-stable-26a4c6a562ceb419e42cd5b0fa05752b8ff3db60.zip
PCI: cadence: Write MSI data with 32bits
[ Upstream commit e81e36a96bb56f243b5ac1d114c37c086761595b ] According to the PCIe specification, although the MSI data is only 16bits, the upper 16bits should be written as 0. Use writel instead of writew when writing the MSI data to the host. Fixes: 37dddf14f1ae ("PCI: cadence: Add EndPoint Controller driver for Cadence PCIe controller") Signed-off-by: Alan Douglas <adouglas@cadence.com> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/pci')
-rw-r--r--drivers/pci/controller/pcie-cadence-ep.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/pci/controller/pcie-cadence-ep.c b/drivers/pci/controller/pcie-cadence-ep.c
index 6692654798d4..c3a088910f48 100644
--- a/drivers/pci/controller/pcie-cadence-ep.c
+++ b/drivers/pci/controller/pcie-cadence-ep.c
@@ -355,7 +355,7 @@ static int cdns_pcie_ep_send_msi_irq(struct cdns_pcie_ep *ep, u8 fn,
ep->irq_pci_addr = (pci_addr & ~pci_addr_mask);
ep->irq_pci_fn = fn;
}
- writew(data, ep->irq_cpu_addr + (pci_addr & pci_addr_mask));
+ writel(data, ep->irq_cpu_addr + (pci_addr & pci_addr_mask));
return 0;
}