]> git.baikalelectronics.ru Git - kernel.git/commit
PCI: dwc: Fix dw_pcie_ep_raise_msix_irq() to get correct MSI-X table address
authorKishon Vijay Abraham I <kishon@ti.com>
Tue, 25 Feb 2020 08:17:02 +0000 (13:47 +0530)
committerLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Thu, 2 Apr 2020 16:57:10 +0000 (17:57 +0100)
commite29ee93b5e7605976cac82401022e8c7352311a9
treedb006ec7bb16dc81c37517c8f011a0fb025bf9f5
parentdca3f8c3a8ad74fe0f58ce9323e1da2cf8ae4fbe
PCI: dwc: Fix dw_pcie_ep_raise_msix_irq() to get correct MSI-X table address

commit 9e29e8e3bc1c ("PCI: dwc: Add MSI-X callbacks handler"),
in order to raise MSI-X interrupt, obtained MSIX table address from
Base Address Register (BAR). However BAR only holds PCI address
programmed by the host whereas the MSI-X table should be in the local
memory.

Store the MSI-X table address (virtual address) as part of ->set_bar()
callback and use that to get the message address and message data
here.

Fixes: 9e29e8e3bc1c ("PCI: dwc: Add MSI-X callbacks handler")
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
drivers/pci/controller/dwc/pcie-designware-ep.c
drivers/pci/controller/dwc/pcie-designware.h
drivers/pci/endpoint/pci-epf-core.c
include/linux/pci-epf.h