linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Julien Massot <julien.massot@iot.bzh>
To: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>,
	Bjorn Andersson <bjorn.andersson@linaro.org>,
	Ohad Ben-Cohen <ohad@wizery.com>,
	Mathieu Poirier <mathieu.poirier@linaro.org>
Cc: linux-remoteproc@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-stm32@st-md-mailman.stormreply.com
Subject: Re: [PATCH 0/4] rpmsg: char: introduce the rpmsg-raw channel
Date: Tue, 8 Jun 2021 11:08:13 +0200	[thread overview]
Message-ID: <6aedbe64-9c5d-b738-ad99-0a33733be82d@iot.bzh> (raw)
In-Reply-To: <20210607173032.30133-1-arnaud.pouliquen@foss.st.com>

Hi,

On 6/7/21 7:30 PM, Arnaud Pouliquen wrote:
> Purpose:
>    Allow the remote processor to instantiate a /dev/rpmsgX interface relying on the NS announcement
>    of the "rpmsg-raw" service.
>    This patchet is extracted from  the series [1] with rework to add rpmsg_create_default_ept helper.
> 
>    
> Aim:
>    There is no generic sysfs interface based on RPMsg that allows a user application to communicate
>    with a remote processor in a simple way.
>    The rpmsg_char dev solves a part of this problem by allowing an endpoint to be created on the
>    local side. But it does not take advantage of the NS announcement mechanism implemented for some
>    backends such as the virtio backend. So it is not possible to probe it from  a remote initiative.
>    Extending the char rpmsg device to support NS announcement makes the rpmsg_char more generic.
>    By announcing a "rpmg-raw" service, the firmware of a remote processor will be able to
>    instantiate a /dev/rpmsgX interface providing to the user application a basic link to communicate
>    with it without any knowledge of the rpmsg protocol.
> 
> Implementation details:
>    - Register a rpmsg driver for the rpmsg_char driver, associated to the "rpmsg-raw" channel service.
>    - In case of rpmsg char device instantiated by the rpmsg bus (on NS announcement) manage the
>      channel default endpoint to ensure a stable default endpoint address, for communication with
>      the remote processor.
> 
> How to test it:
>    - This series can be applied on git/andersson/remoteproc.git for-next branch (dc0e14fa833b)
>      + the "Restructure the rpmsg char to decorrelate the control part" series[2]
> 
> [1] https://patchwork.kernel.org/project/linux-remoteproc/list/?series=475217
> [2] https://patchwork.kernel.org/project/linux-remoteproc/list/?series=483793

Just tested this whole series on remoteproc for-next branch + [2].
Works for me, /dev/rpmsg0 is created on NS announcement, and removed when stopping the remote processor.
I can do a repeated series of open /read/write/close, and got EBUSY if I try to open it more than once
at a time.

Firmware used for testing is derived from:
https://github.com/zephyrproject-rtos/zephyr/tree/main/samples/subsys/ipc/openamp_rsc_table
with:
#define RPMSG_CHAN_NAME "rpmsg-raw"

Thanks Arnaud for your work.

Tested-by: Julien Massot <julien.massot@iot.bzh>

-- 
Julien Massot [IoT.bzh]

  parent reply	other threads:[~2021-06-08  9:08 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-07 17:30 [PATCH 0/4] rpmsg: char: introduce the rpmsg-raw channel Arnaud Pouliquen
2021-06-07 17:30 ` [PATCH 1/4] rpmsg: Introduce rpmsg_create_default_ept function Arnaud Pouliquen
2021-06-21 22:42   ` Mathieu Poirier
2021-06-07 17:30 ` [PATCH 2/4] rpmsg: char: Add possibility to create and reuse default endpoint Arnaud Pouliquen
2021-06-07 17:30 ` [PATCH 3/4] rpmsg: char: Introduce the "rpmsg-raw" channel Arnaud Pouliquen
2021-06-15 20:01   ` Mathieu Poirier
2021-06-16 12:38     ` Arnaud POULIQUEN
2021-06-17 21:31       ` Mathieu Poirier
2021-06-18 11:35         ` Arnaud POULIQUEN
2021-06-21 22:38           ` Mathieu Poirier
2021-06-22  8:21             ` Arnaud POULIQUEN
2021-06-22 20:30               ` Mathieu Poirier
2021-06-07 17:30 ` [PATCH 4/4] rpmsg: char: Return error if user tries to destroy a default endpoint Arnaud Pouliquen
2021-06-08  9:08 ` Julien Massot [this message]
2021-06-08 14:26 ` [PATCH 0/4] rpmsg: char: introduce the rpmsg-raw channel Mathieu Poirier
2021-06-08 15:27   ` Arnaud POULIQUEN

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=6aedbe64-9c5d-b738-ad99-0a33733be82d@iot.bzh \
    --to=julien.massot@iot.bzh \
    --cc=arnaud.pouliquen@foss.st.com \
    --cc=bjorn.andersson@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-remoteproc@vger.kernel.org \
    --cc=linux-stm32@st-md-mailman.stormreply.com \
    --cc=mathieu.poirier@linaro.org \
    --cc=ohad@wizery.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).