linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 0/4] rpmsg: char: introduce the rpmsg-raw channel
@ 2021-07-12 13:18 Arnaud Pouliquen
  2021-07-12 13:18 ` [PATCH v4 1/4] rpmsg: Introduce rpmsg_create_default_ept function Arnaud Pouliquen
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: Arnaud Pouliquen @ 2021-07-12 13:18 UTC (permalink / raw)
  To: Bjorn Andersson, Ohad Ben-Cohen, Mathieu Poirier
  Cc: linux-remoteproc, linux-kernel, linux-stm32, julien.massot,
	arnaud.pouliquen


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.

delta vs V3:
- add Tested-by: Julien Massot <julien.massot@iot.bzh>
- rebased on kernel V.14-rc1 + 
   patchset V5: Restructure the rpmsg char to decorrelate the control part [2]


How to test it:
  - This series can be applied on e73f0f0ee754kernel V.14-rc1 (e73f0f0ee754)
    + 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=514017



Arnaud Pouliquen (4):
  rpmsg: Introduce rpmsg_create_default_ept function
  rpmsg: char: Introduce __rpmsg_chrdev_create_eptdev function
  rpmsg: char: Add possibility to use default endpoint of the rpmsg
    device.
  rpmsg: char: Introduce the "rpmsg-raw" channel

 drivers/rpmsg/rpmsg_char.c | 120 ++++++++++++++++++++++++++++++++++---
 drivers/rpmsg/rpmsg_core.c |  51 ++++++++++++++++
 include/linux/rpmsg.h      |  13 ++++
 3 files changed, 175 insertions(+), 9 deletions(-)

-- 
2.17.1


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2021-10-11 15:37 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-12 13:18 [PATCH v4 0/4] rpmsg: char: introduce the rpmsg-raw channel Arnaud Pouliquen
2021-07-12 13:18 ` [PATCH v4 1/4] rpmsg: Introduce rpmsg_create_default_ept function Arnaud Pouliquen
2021-07-12 13:18 ` [PATCH v4 2/4] rpmsg: char: Introduce __rpmsg_chrdev_create_eptdev function Arnaud Pouliquen
2021-07-12 13:18 ` [PATCH v4 3/4] rpmsg: char: Add possibility to use default endpoint of the rpmsg device Arnaud Pouliquen
2021-10-08 23:42   ` Bjorn Andersson
2021-10-11 14:05     ` Arnaud POULIQUEN
2021-07-12 13:19 ` [PATCH v4 4/4] rpmsg: char: Introduce the "rpmsg-raw" channel Arnaud Pouliquen
2021-10-09  0:06   ` Bjorn Andersson
2021-10-11 15:37     ` Arnaud POULIQUEN

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).