summaryrefslogtreecommitdiffstats
path: root/drivers/pci/controller/dwc/pcie-fu740.c
diff options
context:
space:
mode:
authorYong-Xuan Wang <yongxuan.wang@sifive.com>2023-08-07 05:56:21 +0000
committerLorenzo Pieralisi <lpieralisi@kernel.org>2023-08-23 09:33:23 +0200
commit551a60e1225e71fff8efd9390204c505b0870e0f (patch)
treeb4d5720475af3c59edde7489a1c4d8c8dc6cada0 /drivers/pci/controller/dwc/pcie-fu740.c
parent06c2afb862f9da8dc5efa4b6076a0e48c3fbaaa5 (diff)
downloadlinux-stable-551a60e1225e71fff8efd9390204c505b0870e0f.tar.gz
linux-stable-551a60e1225e71fff8efd9390204c505b0870e0f.tar.bz2
linux-stable-551a60e1225e71fff8efd9390204c505b0870e0f.zip
PCI: fu740: Set the number of MSI vectors
The iMSI-RX module of the DW PCIe controller provides multiple sets of MSI_CTRL_INT_i_* registers, and each set is capable of handling 32 MSI interrupts. However, the fu740 PCIe controller driver only enabled one set of MSI_CTRL_INT_i_* registers, as the total number of supported interrupts was not specified. Set the supported number of MSI vectors to enable all the MSI_CTRL_INT_i_* registers on the fu740 PCIe core, allowing the system to fully utilize the available MSI interrupts. Link: https://lore.kernel.org/r/20230807055621.2431-1-yongxuan.wang@sifive.com Signed-off-by: Yong-Xuan Wang <yongxuan.wang@sifive.com> Signed-off-by: Lorenzo Pieralisi <lpieralisi@kernel.org> Reviewed-by: Serge Semin <fancer.lancer@gmail.com>
Diffstat (limited to 'drivers/pci/controller/dwc/pcie-fu740.c')
-rw-r--r--drivers/pci/controller/dwc/pcie-fu740.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/pci/controller/dwc/pcie-fu740.c b/drivers/pci/controller/dwc/pcie-fu740.c
index 0c90583c078b..1e9b44b8bba4 100644
--- a/drivers/pci/controller/dwc/pcie-fu740.c
+++ b/drivers/pci/controller/dwc/pcie-fu740.c
@@ -299,6 +299,7 @@ static int fu740_pcie_probe(struct platform_device *pdev)
pci->dev = dev;
pci->ops = &dw_pcie_ops;
pci->pp.ops = &fu740_pcie_host_ops;
+ pci->pp.num_vectors = MAX_MSI_IRQS;
/* SiFive specific region: mgmt */
afp->mgmt_base = devm_platform_ioremap_resource_byname(pdev, "mgmt");