All of lore.kernel.org
 help / color / mirror / Atom feed
From: Matteo Sartori <matteo.sartori@t3lab.it>
To: linux-remoteproc@vger.kernel.org
Cc: Alessio Paccoia <alessio.paccoia@t3lab.it>,
	Michele Rodolfi <michele.rodolfi@t3lab.it>,
	Claudio Salati <claudio.salati@t3lab.it>
Subject: rpmsg: exposing the bus to userspace
Date: Fri, 5 Aug 2016 11:53:15 +0200	[thread overview]
Message-ID: <20160805095315.GA7702@alexat> (raw)

Hi,

I have been working on remoteproc/rpmsg and FreeRTOS/OpenAMP for the
latest three months and recently, with my colleagues, I have started
reasoning about the best possible way to expose the kernel rpmsg bus
to applications running in user space. The idea is to end up with a
clean mechanism for the user-kernel communication, like sockets or
char devices, in order to build AMP applications on top of it.

In fact, we have been running experiments with some out-of-tree
drivers implementing exactly such interfaces, namely a driver
registering a new address family AF_RPMSG for the socket interface,
from Texas Instruments, and a char device driver representing
different rpmsg channels with /dev/rpmsgX special files, found inside
OpenAMP obsolete directory.

I am quite new to kernel development and in particular to remoteproc
subsystem, so I am asking the following questions because maybe I have
missed some past developments and discussions about this topic. I
apologize if this is the case.

- Have you ever considered the inclusion of these out-of-tree modules
  in the mainline?
- If so, have you planned some work on this, or what are the reasons
  for not including these modules?
- Is there already a preferred way for exposing the rpmsg bus for
  generic services to userspace, or is more suitable the idea to have 
  a different rpmsg driver, therefore a user-kernel communication strategy, 
  for each different use case of the bus?

Anyway, I would be very glad to contribute in the direction of an
appropriate user-kernel interface for accessing the rpmsg bus, and at
the moment I have a working test case for the socket driver as well as
for the char driver. Given the fact I don't see the superiority of one
approach compared to the other, I would like to propose and discuss
with you both of them.

This was kind of an introductory email. I am preparing two patchsets.

Best regards,
Matteo

             reply	other threads:[~2016-08-05  9:53 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-05  9:53 Matteo Sartori [this message]
  -- strict thread matches above, loose matches on Subject: below --
2016-08-04 10:33 rpmsg: exposing the bus to userspace Matteo Sartori
2016-08-10 20:03 ` Bjorn Andersson
2016-08-25 10:31   ` Matteo Sartori
2016-09-21  4:08     ` Bjorn Andersson
2016-09-21  4:43       ` Marek Novak
2016-09-29 17:35         ` Bjorn Andersson
2016-09-29 18:36           ` Marek Novak
2016-09-29 20:07             ` Bjorn Andersson
2016-10-04  8:05               ` Marek Novak
2016-10-05 20:58                 ` Bjorn Andersson

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=20160805095315.GA7702@alexat \
    --to=matteo.sartori@t3lab.it \
    --cc=alessio.paccoia@t3lab.it \
    --cc=claudio.salati@t3lab.it \
    --cc=linux-remoteproc@vger.kernel.org \
    --cc=michele.rodolfi@t3lab.it \
    /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.