[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250610100540.2834044-1-vladimir.kondratiev@mobileye.com>
Date: Tue, 10 Jun 2025 13:05:33 +0300
From: Vladimir Kondratiev <vladimir.kondratiev@...ileye.com>
To: Thomas Gleixner <tglx@...utronix.de>,
Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
Paul Walmsley <paul.walmsley@...ive.com>,
Palmer Dabbelt <palmer@...belt.com>,
Albert Ou <aou@...s.berkeley.edu>,
Alexandre Ghiti <alex@...ti.fr>,
Anup Patel <anup@...infault.org>,
Chen Wang <unicorn_wang@...look.com>,
Inochi Amaoto <inochiama@...il.com>,
Sunil V L <sunilvl@...tanamicro.com>,
"Rafael J . Wysocki" <rafael.j.wysocki@...el.com>,
Ryo Takakura <takakura@...inux.co.jp>
Cc: linux-kernel@...r.kernel.org,
devicetree@...r.kernel.org,
linux-riscv@...ts.infradead.org,
sophgo@...ts.linux.dev,
Vladimir Kondratiev <vladimir.kondratiev@...ileye.com>
Subject: [PATCH v2 0/7] MIPS P8700 variant of the ACLINT IPI controller
RISC-V draft specification for the ACLINT IPI controller describes
an "SSWI" device that allows to send IPI by writing register from the
S-mode (Linux kernel), as opposed to the "MSWI" device that does the
same from the M-mode. Sending IPI through the M-mode requires extra
SBI call, SSWI is much faster.
Support for the SSWI exists for the Thead board, it is almost as by
specification save for reading one custom CSR.
Soon to be released Mobileye SoC based on the MIPS P8700 RISC-V CPU has
variant of the ACLINT SSWI device that follows the spec exactly.
To support P8700, refactor Thead implementation, factoring out
generic code that complies with the draft spec, and provide
Thead and MIPS specific variants.
In addition, MIPS P8700 uses non contiguous hart indexes, and thus
requires "riscv,hart-indexes" property.
Patches 1 and 2 refactor "hart index" support, replacing
APLIC specific implementation with generic helper
Patch 3 adds dt-bindings
Patch 4 refactors Thead-specific SSWI, adding MIPS variant
Patch 5 adds "riscv,hart-indexes" support
Patches 6 and 7 do some minor improvements for the SSWI
Changed from v1:
1. RISC-V spec for the ACLINT is in a draft state, then can't
use "riscv," prefix. Restcucture commits to add MIPS specific
ACLINT-SSWI variant instead.
Vladimir Kondratiev (7):
riscv: helper to parse hart index
irqchip: riscv aplic: use riscv_get_hart_index()
dt-bindings: interrupt-controller: add MIPS P8700 aclint-sswi
irqchip: MIPS P800 variant of aclint-sswi
irqchip: aslint-sswi: resolve hart index
irqchip: aclint-sswi: reduce data scope
irqchip: aclint-sswi: remove extra includes
.../thead,c900-aclint-sswi.yaml | 64 ++++++++--
arch/riscv/include/asm/irq.h | 2 +
arch/riscv/kernel/irq.c | 34 +++++
drivers/irqchip/Kconfig | 16 +++
drivers/irqchip/Makefile | 2 +-
...d-c900-aclint-sswi.c => irq-aclint-sswi.c} | 116 ++++++++++++------
drivers/irqchip/irq-riscv-aplic-direct.c | 16 +--
7 files changed, 186 insertions(+), 64 deletions(-)
rename drivers/irqchip/{irq-thead-c900-aclint-sswi.c => irq-aclint-sswi.c} (62%)
base-commit: 19272b37aa4f83ca52bdf9c16d5d81bdd1354494
--
2.43.0
Powered by blists - more mailing lists