diff mbox series

[v3] PCI: fu740: Set the number of MSI vectors

Message ID 20230807055621.2431-1-yongxuan.wang@sifive.com (mailing list archive)
State Accepted
Delegated to: Krzysztof Wilczyński
Headers show
Series [v3] PCI: fu740: Set the number of MSI vectors | expand

Commit Message

Yong-Xuan Wang Aug. 7, 2023, 5:56 a.m. UTC
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.

Signed-off-by: Yong-Xuan Wang <yongxuan.wang@sifive.com>
Reviewed-by: Serge Semin <fancer.lancer@gmail.com>
---
Changelog
v3:
- refined the commit message
v2:
- recast the subject and the commit message
---
 drivers/pci/controller/dwc/pcie-fu740.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Yong-Xuan Wang Aug. 23, 2023, 3:06 a.m. UTC | #1
Hi,

Kindly ping on this, any comments or suggestions are appreciated.

Regards,
Yong-Xuan


On Mon, Aug 7, 2023 at 1:56 PM Yong-Xuan Wang <yongxuan.wang@sifive.com> wrote:
>
> 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.
>
> Signed-off-by: Yong-Xuan Wang <yongxuan.wang@sifive.com>
> Reviewed-by: Serge Semin <fancer.lancer@gmail.com>
> ---
> Changelog
> v3:
> - refined the commit message
> v2:
> - recast the subject and the commit message
> ---
>  drivers/pci/controller/dwc/pcie-fu740.c | 1 +
>  1 file changed, 1 insertion(+)
>
> 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");
> --
> 2.17.1
>
Lorenzo Pieralisi Aug. 23, 2023, 7:34 a.m. UTC | #2
On Mon, 07 Aug 2023 05:56:21 +0000, Yong-Xuan Wang wrote:
> 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.
> 
> [...]

Applied to controller/fu740, thanks!

[1/1] PCI: fu740: Set the number of MSI vectors
      https://git.kernel.org/pci/pci/c/551a60e1225e

Thanks,
Lorenzo
diff mbox series

Patch

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");