From: Ben Levinsky <blevinsk@amd.com>
To: Krzysztof Kozlowski <krzk@kernel.org>
Cc: "Levinsky, Ben" <ben.levinsky@amd.com>,
"jassisinghbrar@gmail.com" <jassisinghbrar@gmail.com>,
"andersson@kernel.org" <andersson@kernel.org>,
"mathieu.poirier@linaro.org" <mathieu.poirier@linaro.org>,
"robh@kernel.org" <robh@kernel.org>,
"krzk+dt@kernel.org" <krzk+dt@kernel.org>,
"conor+dt@kernel.org" <conor+dt@kernel.org>,
"Simek, Michal" <michal.simek@amd.com>,
"linux-remoteproc@vger.kernel.org"
<linux-remoteproc@vger.kernel.org>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"Shah, Tanmay" <tanmay.shah@amd.com>
Subject: Re: [PATCH 6/6] remoteproc: amd_mbv_bram: Add RPMsg support
Date: Thu, 15 Oct 2026 07:33:24 -0700 [thread overview]
Message-ID: <ccbcd4b6-9a4d-476f-89b9-02441c29c8db@amd.com> (raw)
In-Reply-To: <DM4PR12MB6448FDE3208DB753A37EF3F9839C2@DM4PR12MB6448.namprd12.prod.outlook.com>
>
>
> *From: *Krzysztof Kozlowski <krzk@kernel.org>
> *Date: *Thursday, October 15, 2026 at 2:51 AM
> *To: *Levinsky, Ben <ben.levinsky@amd.com>
> *Cc: *jassisinghbrar@gmail.com <jassisinghbrar@gmail.com>; andersson@kernel.org
> <andersson@kernel.org>; mathieu.poirier@linaro.org <mathieu.poirier@linaro.org>;
> robh@kernel.org <robh@kernel.org>; krzk+dt@kernel.org <krzk+dt@kernel.org>;
> conor+dt@kernel.org <conor+dt@kernel.org>; Simek, Michal <michal.simek@amd.com>;
> linux-remoteproc@vger.kernel.org <linux-remoteproc@vger.kernel.org>;
> devicetree@vger.kernel.org <devicetree@vger.kernel.org>; linux-arm-
> kernel@lists.infradead.org <linux-arm-kernel@lists.infradead.org>; linux-
> kernel@vger.kernel.org <linux-kernel@vger.kernel.org>; Shah, Tanmay
> <tanmay.shah@amd.com>
> *Subject: *Re: [PATCH 6/6] remoteproc: amd_mbv_bram: Add RPMsg support
>
> On Wed, Oct 14, 2026 at 02:34:26PM -0700, Ben Levinsky wrote:
> > Register named reserved-memory carveouts and expose the firmware
> > resource table after it has been loaded into BRAM. This lets remoteproc
> > create virtqueues backed by reserved shared DDR without deriving
> > carveout roles from DT node names. Map the shared-memory carveouts with
> > the common rproc_mem_entry_ioremap_wc() and rproc_mem_entry_iounmap()
> > callbacks.
> >
> > Use the mailbox framework to send virtqueue notification IDs. Defer
> > received notifications to process context before dispatching them to
> > the remoteproc virtqueues. Keep mailbox payload storage valid until
> > transmit completion and order write-combined vring updates before each
> > kick.
> >
> > For designs where the mailbox and remote processor share a clock, request
> > the mailbox channels only after enabling that clock, while the processor
> > is still held in reset. Release the channels before disabling the clock
> > during stop.
> >
> > The mailboxes are optional. Without them the driver keeps supporting
> > load, start, and stop only.
> >
> > Select the mailbox framework, the AMD PL Mailbox controller and the
> > virtio RPMsg bus, which the driver uses for notifications and RPMsg
> > channels. Selecting MAILBOX while depending on GPIOLIB creates a
> > Kconfig recursive dependency, because GPIOLIB is selected by drivers
> > that are reachable from MAILBOX, so select GPIOLIB as well instead of
> > depending on it. The driver always needs GPIO for the reset line.
> > Depend on HAS_IOMEM, which the selected mailbox controller and the
> > write-combined carveout mappings require.
> >
> > Assisted-by: LLM sparse
> > Signed-off-by: Ben Levinsky <ben.levinsky@amd.com>
> > ---
> > drivers/remoteproc/Kconfig | 6 +-
> > drivers/remoteproc/amd_mbv_bram_rproc.c | 231 +++++++++++++++++++++++-
> > 2 files changed, 235 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/remoteproc/Kconfig b/drivers/remoteproc/Kconfig
> > index 5b56b2dcc725..9ebbbf76289f 100644
> > --- a/drivers/remoteproc/Kconfig
> > +++ b/drivers/remoteproc/Kconfig
> > @@ -25,7 +25,11 @@ config REMOTEPROC_CDEV
> >
> > config AMD_MBV_BRAM_REMOTEPROC
> > tristate "AMD MicroBlaze/V BRAM-based remoteproc support"
> > - depends on OF && COMMON_CLK && (GPIOLIB || COMPILE_TEST)
> > + depends on OF && COMMON_CLK && HAS_IOMEM
> > + select GPIOLIB
> > + select MAILBOX
> > + select AMD_PL_MAILBOX
>
> You should not select user-visible symbols.
>
> Best regards,
> Krzysztof
>
Hi Krzysztof,
Understood, thank you. In v2 I will keep the driver's existing
dependencies and add "depends on MAILBOX", since the driver calls the
mailbox client API, and drop all the selects. The PL mailbox controller
and the virtio RPMsg bus are only needed at run time; I will mention
them in the Kconfig help text rather than selecting them.
Thanks,
Ben
prev parent reply other threads:[~2026-10-15 14:33 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-14 21:34 [PATCH 0/6] Add AMD PL Mailbox and RPMsg support for the AMD BRAM remoteproc Ben Levinsky
2026-10-14 21:34 ` [PATCH 1/6] remoteproc: amd_mbv_bram: Bound device name formatting Ben Levinsky
2026-10-14 21:48 ` sashiko-bot
2026-10-14 21:34 ` [PATCH 2/6] remoteproc: amd_mbv_bram: Restore reset GPIO direction after PL reconfig Ben Levinsky
2026-10-14 21:44 ` sashiko-bot
2026-10-14 21:34 ` [PATCH 3/6] dt-bindings: mailbox: Add AMD PL Mailbox IP Ben Levinsky
2026-10-15 9:46 ` Krzysztof Kozlowski
[not found] ` <DM4PR12MB644859F1CA3A936684A3338B839C2@DM4PR12MB6448.namprd12.prod.outlook.com>
2026-10-15 14:29 ` Ben Levinsky
2026-10-15 15:31 ` Shah, Tanmay
2026-10-14 21:34 ` [PATCH 4/6] mailbox: Add AMD PL Mailbox soft IP controller Ben Levinsky
2026-10-14 21:41 ` sashiko-bot
2026-10-15 9:48 ` Krzysztof Kozlowski
[not found] ` <DM4PR12MB6448B4B18D0B45CCA678814F839C2@DM4PR12MB6448.namprd12.prod.outlook.com>
2026-10-15 14:30 ` Ben Levinsky
2026-10-14 21:34 ` [PATCH 5/6] dt-bindings: remoteproc: Add RPMsg resources to AMD BRAM rproc Ben Levinsky
2026-10-15 9:49 ` Krzysztof Kozlowski
[not found] ` <DM4PR12MB64480F027338BA7A1EF91E17839C2@DM4PR12MB6448.namprd12.prod.outlook.com>
2026-10-15 14:32 ` Ben Levinsky
2026-10-14 21:34 ` [PATCH 6/6] remoteproc: amd_mbv_bram: Add RPMsg support Ben Levinsky
2026-10-14 21:45 ` sashiko-bot
2026-10-15 9:51 ` Krzysztof Kozlowski
[not found] ` <DM4PR12MB6448FDE3208DB753A37EF3F9839C2@DM4PR12MB6448.namprd12.prod.outlook.com>
2026-10-15 14:33 ` Ben Levinsky [this message]
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=ccbcd4b6-9a4d-476f-89b9-02441c29c8db@amd.com \
--to=blevinsk@amd.com \
--cc=andersson@kernel.org \
--cc=ben.levinsky@amd.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=jassisinghbrar@gmail.com \
--cc=krzk+dt@kernel.org \
--cc=krzk@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-remoteproc@vger.kernel.org \
--cc=mathieu.poirier@linaro.org \
--cc=michal.simek@amd.com \
--cc=robh@kernel.org \
--cc=tanmay.shah@amd.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.