Hi Arnaud, Between remoteproc/RPMSG and CoreSight, I have 6 patchsets to review (including some of your work) before getting to this one. As such it will take a little while. Thanks, Mathieu On Mon, 7 Jun 2021 at 11:30, Arnaud Pouliquen <arnaud.pouliquen@xxxxxxxxxxx> 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 > > > > Arnaud Pouliquen (4): > rpmsg: Introduce rpmsg_create_default_ept function > rpmsg: char: Add possibility to create and reuse default endpoint > rpmsg: char: Introduce the "rpmsg-raw" channel > rpmsg: char: Return error if user tries to destroy a default endpoint. > > drivers/rpmsg/rpmsg_char.c | 92 +++++++++++++++++++++++++++++++++++--- > drivers/rpmsg/rpmsg_core.c | 51 +++++++++++++++++++++ > include/linux/rpmsg.h | 14 ++++++ > 3 files changed, 151 insertions(+), 6 deletions(-) > > -- > 2.17.1 >