[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CABb+yY1UAwQiLCFY0Om1wsG+Hf_MobLfrEMx8JVdvoehVZ-g0A@mail.gmail.com>
Date: Sun, 22 Jun 2025 11:26:21 -0500
From: Jassi Brar <jassisinghbrar@...il.com>
To: Anup Patel <apatel@...tanamicro.com>
Cc: Michael Turquette <mturquette@...libre.com>, Stephen Boyd <sboyd@...nel.org>,
Rob Herring <robh@...nel.org>, Krzysztof Kozlowski <krzk+dt@...nel.org>, Conor Dooley <conor+dt@...nel.org>,
Thomas Gleixner <tglx@...utronix.de>, "Rafael J . Wysocki" <rafael@...nel.org>,
Mika Westerberg <mika.westerberg@...ux.intel.com>,
Andy Shevchenko <andriy.shevchenko@...ux.intel.com>,
Linus Walleij <linus.walleij@...aro.org>, Bartosz Golaszewski <brgl@...ev.pl>,
Uwe Kleine-König <ukleinek@...nel.org>,
Palmer Dabbelt <palmer@...belt.com>, Paul Walmsley <paul.walmsley@...ive.com>,
Len Brown <lenb@...nel.org>, Sunil V L <sunilvl@...tanamicro.com>,
Rahul Pathak <rpathak@...tanamicro.com>, Leyfoon Tan <leyfoon.tan@...rfivetech.com>,
Atish Patra <atish.patra@...ux.dev>, Andrew Jones <ajones@...tanamicro.com>,
Samuel Holland <samuel.holland@...ive.com>, Anup Patel <anup@...infault.org>,
linux-clk@...r.kernel.org, devicetree@...r.kernel.org,
linux-riscv@...ts.infradead.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v6 00/23] Linux SBI MPXY and RPMI drivers
On Wed, Jun 18, 2025 at 7:14 AM Anup Patel <apatel@...tanamicro.com> wrote:
>
> The SBI v3.0 (MPXY extension) [1] and RPMI v1.0 [2] specifications
> are frozen and in public review at the RISC-V International.
>
> Currently, most of the RPMI and MPXY drivers are in OpenSBI whereas
> Linux only has SBI MPXY mailbox controller driver, RPMI clock driver
> and RPMI system MSI driver This series also includes ACPI support
> for SBI MPXY mailbox controller and RPMI system MSI drivers.
>
> These patches can be found in the riscv_sbi_mpxy_mailbox_v6 branch
> at: https://github.com/avpatel/linux.git
>
> To test these patches, boot Linux on "virt,rpmi=on,aia=aplic-imsic"
> machine with OpenSBI and QEMU from the dev-upstream branch at:
> https://github.com/ventanamicro/opensbi.git
> https://github.com/ventanamicro/qemu.git
>
> [1] https://github.com/riscv-non-isa/riscv-sbi-doc/releases
> [2] https://github.com/riscv-non-isa/riscv-rpmi/releases
>
> Changes since v5:
> - Rebased the series on Linux-6.16-rc2
> - Added Conor's Reviewed-by in all DT binding patches
> - Addressed Andy's comments on PATCH5
> - Addressed Tglx's comments on PATCH12 and PATCH21
>
> Changes since v4:
> - Rebased the series on Linux-6.16-rc1
> - Dropped PATCH1 since a similar change is already merged
> https://lore.kernel.org/linux-riscv/20250523101932.1594077-4-cleger@rivosinc.com/
> - Addressed Andy's comments on PATCH4, PATCH5, PATCH6, PATCH7,
> PATCH13, and PATCH17
> - Addressed Atish's comments on PATCH11 and PATCH12
> - Addressed Conor's comments on PATCH9
>
> Changes since v3:
> - Rebased the series on Linux-6.15-rc7
> - Updated PATCH2 DT bindings as-per Rob's suggestion
> - Improved request_threaded_irq() usage in PATCH7
> - Updated PATCH10 clk-rpmi driver as-per commments from Andy
> - Updated PATCH13 irq-riscv-rpmi-sysmsi driver as-per comments
> from Andy and Tglx
> - Addressed ACPI related comments in PATCH14, PATCH15, PATCH18,
> PATCH20 and PATCH21
>
> Changes since v2:
> - Dropped the "RFC" tag from series since the SBI v3.0 and
> RPMI v1.0 specifications are now frozen
> - Rebased the series on Linux-6.15-rc5
> - Split PATCH8 of v2 into two patches adding separate DT
> bindings for "riscv,rpmi-mpxy-clock" and "riscv,rpmi-clock"
> - Split PATCH10 of v2 into two patches adding separate DT
> bindings for "riscv,rpmi-mpxy-system-msi" and
> "riscv,rpmi-system-msi"
> - Addressed comments from TGLX on PATCH11 of v2 adding irqchip
> driver for RPMI system MSI
> - Addressed ACPI related comments in PATCH15 and PATCH16 of v2
> - New PATCH17 and PATCH18 in this series
>
> Changes since v1:
> - Addressed DT bindings related comments in PATCH2, PATCH3, and
> PATCH7 of v1 series
> - Addressed comments in PATCH6 and PATCH8 of v1 series
> - New PATCH6 in v2 series to allow fwnode based mailbox channel
> request
> - New PATCH10 and PATCH11 to add RPMI system MSI based interrupt
> controller driver
> - New PATCH12 to PATCH16 which adds ACPI support in SBI MPXY
> mailbox driver and RPMI system MSI driver
> - New PATCH17 to enable required kconfig option to allow graceful
> shutdown on QEMU virt machine
>
> Anup Patel (13):
> dt-bindings: mailbox: Add bindings for RPMI shared memory transport
> dt-bindings: mailbox: Add bindings for RISC-V SBI MPXY extension
> RISC-V: Add defines for the SBI message proxy extension
> mailbox: Add common header for RPMI messages sent via mailbox
> mailbox: Allow controller specific mapping using fwnode
> mailbox: Add RISC-V SBI message proxy (MPXY) based mailbox driver
> dt-bindings: clock: Add RPMI clock service message proxy bindings
> dt-bindings: clock: Add RPMI clock service controller bindings
> dt-bindings: Add RPMI system MSI message proxy bindings
> dt-bindings: Add RPMI system MSI interrupt controller bindings
> irqchip: Add driver for the RPMI system MSI service group
> RISC-V: Enable GPIO keyboard and event device in RV64 defconfig
> MAINTAINERS: Add entry for RISC-V RPMI and MPXY drivers
>
> Rahul Pathak (1):
> clk: Add clock driver for the RISC-V RPMI clock service group
>
> Sunil V L (9):
> ACPI: property: Refactor acpi_fwnode_get_reference_args()
> ACPI: property: Add support for cells property
> ACPI: scan: Update honor list for RPMI System MSI
> ACPI: RISC-V: Create interrupt controller list in sorted order
> ACPI: RISC-V: Add support to update gsi range
> ACPI: RISC-V: Add RPMI System MSI to GSI mapping
> irqchip/irq-riscv-imsic-early: Export imsic_acpi_get_fwnode()
> mailbox/riscv-sbi-mpxy: Add ACPI support
> irqchip/riscv-rpmi-sysmsi: Add ACPI support
>
> .../bindings/clock/riscv,rpmi-clock.yaml | 64 ++
> .../bindings/clock/riscv,rpmi-mpxy-clock.yaml | 64 ++
> .../riscv,rpmi-mpxy-system-msi.yaml | 67 ++
> .../riscv,rpmi-system-msi.yaml | 74 ++
> .../mailbox/riscv,rpmi-shmem-mbox.yaml | 124 ++
> .../bindings/mailbox/riscv,sbi-mpxy-mbox.yaml | 51 +
> MAINTAINERS | 15 +
> arch/riscv/configs/defconfig | 2 +
> arch/riscv/include/asm/irq.h | 6 +
> arch/riscv/include/asm/sbi.h | 63 +
> drivers/acpi/property.c | 123 +-
> drivers/acpi/riscv/irq.c | 75 +-
> drivers/acpi/scan.c | 2 +
> drivers/base/property.c | 2 +-
> drivers/clk/Kconfig | 8 +
> drivers/clk/Makefile | 1 +
> drivers/clk/clk-rpmi.c | 590 ++++++++++
> drivers/irqchip/Kconfig | 7 +
> drivers/irqchip/Makefile | 1 +
> drivers/irqchip/irq-riscv-imsic-early.c | 2 +
> drivers/irqchip/irq-riscv-rpmi-sysmsi.c | 324 ++++++
> drivers/mailbox/Kconfig | 11 +
> drivers/mailbox/Makefile | 2 +
> drivers/mailbox/mailbox.c | 65 +-
> drivers/mailbox/riscv-sbi-mpxy-mbox.c | 1012 +++++++++++++++++
> include/linux/byteorder/generic.h | 16 +
> include/linux/mailbox/riscv-rpmi-message.h | 238 ++++
> include/linux/mailbox_controller.h | 3 +
> include/linux/wordpart.h | 16 +
> 29 files changed, 2948 insertions(+), 80 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/clock/riscv,rpmi-clock.yaml
> create mode 100644 Documentation/devicetree/bindings/clock/riscv,rpmi-mpxy-clock.yaml
> create mode 100644 Documentation/devicetree/bindings/interrupt-controller/riscv,rpmi-mpxy-system-msi.yaml
> create mode 100644 Documentation/devicetree/bindings/interrupt-controller/riscv,rpmi-system-msi.yaml
> create mode 100644 Documentation/devicetree/bindings/mailbox/riscv,rpmi-shmem-mbox.yaml
> create mode 100644 Documentation/devicetree/bindings/mailbox/riscv,sbi-mpxy-mbox.yaml
> create mode 100644 drivers/clk/clk-rpmi.c
> create mode 100644 drivers/irqchip/irq-riscv-rpmi-sysmsi.c
> create mode 100644 drivers/mailbox/riscv-sbi-mpxy-mbox.c
> create mode 100644 include/linux/mailbox/riscv-rpmi-message.h
>
I am ok with the mailbox patches. How are these to be picked into
mailbox and other subsystems? Maybe sculpt out a separate patchset for
the mailbox?
Thanks
-Jassi
Powered by blists - more mailing lists