From: Tushar Nimkar <tushar.nimkar@amd.com>
To: Anirudha Sarangi <anirudha.sarangi@amd.com>,
Thomas Gleixner <tglx@kernel.org>, Radu Rendec <radu@rendec.net>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Michal Simek <michal.simek@amd.com>
Cc: <git@amd.com>, <linux-arm-kernel@lists.infradead.org>,
<linux-kernel@vger.kernel.org>, <devicetree@vger.kernel.org>,
Tushar Nimkar <tushar.nimkar@amd.com>
Subject: [PATCH v3 0/2] Add Xilinx Versal NET SMMU CSR interrupt controller support
Date: Wed, 23 Sep 2026 12:46:30 +0530 [thread overview]
Message-ID: <20260923-smmu-changes-v2-v3-0-87bd09ba9605@amd.com> (raw)
On Xilinx Versal NET, the ARM SMMUv3 EVENTQ, PRIQ and GERROR interrupts
are routed through a vendor-specific Control and Status Register (CSR)
block, where they must be enabled, cleared and acknowledged before being
forwarded to the parent GIC.
This series adds a small irqchip driver for the CSR block that chains to
the standard arm-smmu-v3 driver, so the generic SMMUv3 driver needs no
changes.
Patch 1 adds the DT binding.
Patch 2 adds the irqchip driver.
Changes in v3:
- irqchip driver (Sashiko): harden against interrupt sources left
enabled/latched by a prior boot stage:
- Mask and clear every CSR source at init, including CMD_SYNC (bit 1)
which the driver does not service.
- Gate the handler on the mask register (ISR & ~MASK) instead of the
raw ISR, so masked-but-latched sources are not dispatched.
- Mask and clear any active source with no mapped consumer so it cannot
spin the parent line.
- dt-bindings: No changes
Link to v2:
https://lore.kernel.org/all/20260918-smmu-changes-v2-v2-0-adda681ab983@amd.com/#t
Changes in v2:
- Posted as a proper threaded series with a cover letter (v1 patches
went out individually).
- dt-bindings (Krzysztof):
- Dropped the irrelevant arm,smmu-v3 consumer node from the example.
- Dropped the unused "smmu_irq_csr" label from the example.
- Dropped the redundant "binding" from the patch subject.
- irqchip driver (Thomas):
- Aligned kernel-doc member descriptions and used "interrupt"
instead of "IRQ".
- Used guard(raw_spinlock)() in the mask/unmask/ack callbacks and
addressed the comments related to lock handling.
- Thomas suggested using devm-managed allocation and irqdomain APIs;
however, the driver is registered via IRQCHIP_DECLARE() and has no
associated struct device, so devm APIs cannot be used. This code is
left unchanged.
Link to v1:
https://lore.kernel.org/all/20260817105233.1557748-1-tushar.nimkar@amd.com/
https://lore.kernel.org/all/20260817105251.1557770-1-tushar.nimkar@amd.com/
Signed-off-by: Tushar Nimkar <tushar.nimkar@amd.com>
---
Anirudha Sarangi (2):
dt-bindings: interrupt-controller: Add Xilinx Versal NET SMMU CSR
irqchip: Add Xilinx Versal NET SMMU CSR interrupt controller driver
.../xlnx,versal-net-smmu-csr.yaml | 75 +++++++
MAINTAINERS | 10 +
drivers/irqchip/Kconfig | 10 +
drivers/irqchip/Makefile | 1 +
drivers/irqchip/irq-xilinx-smmu-csr.c | 247 +++++++++++++++++++++
5 files changed, 343 insertions(+)
---
base-commit: 0d9d0dbf2fddcff5859d623e90ca73c4054276e1
change-id: 20260917-smmu-changes-v2-9cf7435d6969
Best regards,
--
Tushar Nimkar <tushar.nimkar@amd.com>
next reply other threads:[~2026-09-23 7:16 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-23 7:16 Tushar Nimkar [this message]
2026-09-23 7:16 ` [PATCH v3 1/2] dt-bindings: interrupt-controller: Add Xilinx Versal NET SMMU CSR Tushar Nimkar
2026-09-23 16:41 ` Conor Dooley
2026-09-24 7:43 ` Tushar Nimkar
2026-09-23 7:16 ` [PATCH v3 2/2] irqchip: Add Xilinx Versal NET SMMU CSR interrupt controller driver Tushar Nimkar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260923-smmu-changes-v2-v3-0-87bd09ba9605@amd.com \
--to=tushar.nimkar@amd.com \
--cc=anirudha.sarangi@amd.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=git@amd.com \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=michal.simek@amd.com \
--cc=radu@rendec.net \
--cc=robh@kernel.org \
--cc=tglx@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®