On Mon, Jul 21, 2025 at 1:09 AM Jassi Brar <jassisinghbrar@xxxxxxxxx> wrote: > > On Fri, Jul 4, 2025 at 2:04 AM Anup Patel <apatel@xxxxxxxxxxxxxxxx> wrote: > > > > The SBI v3.0 (MPXY extension) [1] and RPMI v1.0 [2] specifications > > are frozen and finished 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_v8 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 v7: > > - Addressed comments on PATCH3, PATCH7, PATCH10, PATCH14, and PATCH21 > > > > Changes since v6: > > - Rebased the series on Linux-6.16-rc4 > > - Added Stephen's Reviewed-by in appropriate patches > > - Addressed Andy's comments on PATCH5, PATCH6, PATCH9, and PATCH14 > > - New PATCH6 in this series which is factored-out from PATCH7 > > > > 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@xxxxxxxxxxxx/ > > - 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 (14): > > 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 > > byteorder: Add memcpy_to_le32() and memcpy_from_le32() > > 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() to support > > nargs_prop > > ACPI: Add support for nargs_prop in acpi_fwnode_get_reference_args() > > 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 | 128 ++- > > 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 | 616 ++++++++++ > > drivers/irqchip/Kconfig | 7 + > > drivers/irqchip/Makefile | 1 + > > drivers/irqchip/irq-riscv-imsic-early.c | 2 + > > drivers/irqchip/irq-riscv-rpmi-sysmsi.c | 328 ++++++ > > drivers/mailbox/Kconfig | 11 + > > drivers/mailbox/Makefile | 2 + > > drivers/mailbox/mailbox.c | 65 +- > > drivers/mailbox/riscv-sbi-mpxy-mbox.c | 1017 +++++++++++++++++ > > include/linux/byteorder/generic.h | 16 + > > include/linux/mailbox/riscv-rpmi-message.h | 243 ++++ > > include/linux/mailbox_controller.h | 3 + > > include/linux/wordpart.h | 16 + > > 29 files changed, 2990 insertions(+), 83 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 > > > For the mailbox changes ... > Acked-by: Jassi Brar <jassisinghbrar@xxxxxxxxx> Thanks Jassi ! --Anup