[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20250920225232.18757-1-ravib@amazon.com>
Date: Sat, 20 Sep 2025 22:52:32 +0000
From: Ravi Kumar Bandi <ravib@...zon.com>
To: <mani@...nel.org>, <thippeswamy.havalige@....com>
CC: <lpieralisi@...nel.org>, <bhelgaas@...gle.com>,
<linux-pci@...r.kernel.org>, <kwilczynski@...nel.org>, <robh@...nel.org>,
<ravib@...zon.com>, <michal.simek@....com>,
<linux-arm-kernel@...ts.infradead.org>, <linux-kernel@...r.kernel.org>,
<stable@...r.kernel.org>
Subject: [PATCH v2] PCI: xilinx-xdma: Enable INTx interrupts
The pcie-xilinx-dma-pl driver does not enable INTx interrupts
after initializing the port, preventing INTx interrupts from
PCIe endpoints from flowing through the Xilinx XDMA root port
bridge. This issue affects kernel 6.6.0 and later versions.
This patch allows INTx interrupts generated by PCIe endpoints
to flow through the root port. Tested the fix on a board with
two endpoints generating INTx interrupts. Interrupts are
properly detected and serviced. The /proc/interrupts output
shows:
[...]
32: 320 0 pl_dma:RC-Event 16 Level 400000000.axi-pcie, azdrv
52: 470 0 pl_dma:RC-Event 16 Level 500000000.axi-pcie, azdrv
[...]
Changes since v1::
- Fixed commit message per reviewer's comments
Fixes: 8d786149d78c ("PCI: xilinx-xdma: Add Xilinx XDMA Root Port driver")
Cc: stable@...r.kernel.org
Signed-off-by: Ravi Kumar Bandi <ravib@...zon.com>
---
drivers/pci/controller/pcie-xilinx-dma-pl.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/pci/controller/pcie-xilinx-dma-pl.c b/drivers/pci/controller/pcie-xilinx-dma-pl.c
index b037c8f315e4..cc539292d10a 100644
--- a/drivers/pci/controller/pcie-xilinx-dma-pl.c
+++ b/drivers/pci/controller/pcie-xilinx-dma-pl.c
@@ -659,6 +659,12 @@ static int xilinx_pl_dma_pcie_setup_irq(struct pl_dma_pcie *port)
return err;
}
+ /* Enable interrupts */
+ pcie_write(port, XILINX_PCIE_DMA_IMR_ALL_MASK,
+ XILINX_PCIE_DMA_REG_IMR);
+ pcie_write(port, XILINX_PCIE_DMA_IDRN_MASK,
+ XILINX_PCIE_DMA_REG_IDRN_MASK);
+
return 0;
}
--
2.47.3
Powered by blists - more mailing lists