]> git.baikalelectronics.ru Git - kernel.git/commitdiff
PCI: fu740: Set the number of MSI vectors
authorYong-Xuan Wang <yongxuan.wang@sifive.com>
Mon, 7 Aug 2023 05:56:21 +0000 (05:56 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 23 Sep 2023 09:11:05 +0000 (11:11 +0200)
[ Upstream commit 551a60e1225e71fff8efd9390204c505b0870e0f ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/pci/controller/dwc/pcie-fu740.c

index 0c90583c078bfde331c99bf593aa443f7debc53c..1e9b44b8bba48e8930c2ae8de101356f0339b729 100644 (file)
@@ -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");