All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sjur BRENDELAND <sjur.brandeland@stericsson.com>
To: Arnd Bergmann <arnd@arndb.de>, Ohad Ben-Cohen <ohad@wizery.com>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	"sjurbren@gmail.com" <sjurbren@gmail.com>
Subject: Using remoteproc with ST-Ericsson modem.
Date: Tue, 27 Mar 2012 15:15:57 +0200	[thread overview]
Message-ID: <81C3A93C17462B4BBD7E272753C105792060C098E4@EXDCVYMBSTM005.EQ1STM.local> (raw)
In-Reply-To: <201203221657.09820.arnd@arndb.de>

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="utf-8", Size: 2475 bytes --]

Hi Ohad,

[Arnd]
>Remoteproc and rpmsg are now in the arm-soc tree and will be merged
>upstream for v3.4, I suggest you discuss with Ohad how to best hook in
>there.

I would like to discuss with how to use remoteproc for the ST-Ericsson
modem. For a while, I have been working on a shared memory interface
for ST-Ericsson modems. I already have one version in linux-next, but
I'm planning on redoing parts of the implementation. As part of this, I
want to investigate if I can use remoteproc for handling the start-up
of our modem. One solution could be to make firmware and resource handling
pluggable.

The principles for remoteproc and modem_shm are not so different.
 a) We have a number of channels in shared memory, and the shm-address is
   predefined.
 b) Boot images are copied into shared memory before start.

However, we have a couple of requirements that are different.
- We don't use a ELF binary for resource definition. We have resource
  definitions in a binary format outside the binary. (I'm afraid I'm
  not able to change this).
- We need user-space to access sequential data streams.
- We use CAIF (a muxing protocol) implemented in the networking subsystem.

In order to use remoteproc, I think it could be a good idea to make the
firmware, resource and possible Virtio handling pluggable. E.g:

static struct rproc_ops rproc_ops = {
      ...
       .fw_sanity_check = fw_sanity_check,
       .fw_resource_handler = fw_resource_handler,
       .fw_load = fw_load,
       .fw_config_virtio = fw_config_virtio,
};

I think we need to be able to launch other Virtio device types than
VIRTIO_ID_RPMSG as well. Most likely, I need to make a CAIF specific
VIRTIO type due to the fact that I need RX direction to be reversed
(modem must be able to post it's payload buffer to Virtio ring).

[Sjur:]
>> For the stream interface it's tempting to reuse the ring buffer interface
>> to the modem from last time. But perhaps the Virtio-console could be as the
>> user-space interface...
[Arnd:]
>sounds doable, but again Ohad may have better suggestions as well.

We also define stream channels. As mentioned, I'm considering the possibility
of reusing Virtio console.

So, I'd really like to get your viewpoint and ideas for how we could use
remoteproc to manage the ST-Ericsson modem.

Regards,
Sjur
ÿôèº{.nÇ+‰·Ÿ®‰­†+%ŠËÿ±éݶ\x17¥Šwÿº{.nÇ+‰·¥Š{±þG«éÿŠ{ayº\x1dʇڙë,j\a­¢f£¢·hšïêÿ‘êçz_è®\x03(­éšŽŠÝ¢j"ú\x1a¶^[m§ÿÿ¾\a«þG«éÿ¢¸?™¨è­Ú&£ø§~á¶iO•æ¬z·švØ^\x14\x04\x1a¶^[m§ÿÿÃ\fÿ¶ìÿ¢¸?–I¥

  reply	other threads:[~2012-03-27 13:16 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-12-07  9:27 [PATCH 0/9] XSHM: Shared Memory Driver for ST-E Thor M7400 LTE modem Sjur Brændeland
2011-12-07  9:28 ` [PATCH 1/9] xshm: Shared Memory layout for ST-E M7400 driver Sjur Brændeland
2011-12-07  9:28 ` [PATCH 2/9] xshm: Channel config definitions " Sjur Brændeland
2011-12-07  9:28 ` [PATCH 3/9] xshm: Config data use for platform devices Sjur Brændeland
2011-12-07  9:28 ` [PATCH 4/9] xshm: geni/geno driver interface Sjur Brændeland
2011-12-07  9:28 ` [PATCH 5/9] xshm: genio dummy driver Sjur Brændeland
2011-12-07  9:28 ` [PATCH 6/9] xshm: Platform device for XSHM Sjur Brændeland
2011-12-07  9:28 ` [PATCH 7/9] xshm: Character device for XSHM channel access Sjur Brændeland
2011-12-07  9:28 ` [PATCH 8/9] xshm: Makefile and Kconfig for M7400 Shared Memory Drivers Sjur Brændeland
2011-12-07 12:57   ` Linus Walleij
2011-12-07  9:28 ` [PATCH 9/9] caif-xshm: Add CAIF driver for Shared memory for M7400 Sjur Brændeland
2011-12-07 12:30 ` [PATCH 0/9] XSHM: Shared Memory Driver for ST-E Thor M7400 LTE modem Arnd Bergmann
2011-12-07 15:44   ` Sjur BRENDELAND
2011-12-09 14:42     ` Arnd Bergmann
2011-12-12  9:05       ` Sjur BRENDELAND
2012-03-22 14:31       ` Sjur BRENDELAND
2012-03-22 16:57         ` Arnd Bergmann
2012-03-27 13:15           ` Sjur BRENDELAND [this message]
2012-03-27 13:56             ` Using remoteproc with ST-Ericsson modem Ohad Ben-Cohen
2012-03-28  9:33               ` Sjur BRENDELAND
2012-03-28 15:55                 ` Ohad Ben-Cohen
2012-03-28 17:31                   ` Sjur BRENDELAND
2012-03-31 19:04                     ` Ohad Ben-Cohen
2012-03-31 21:25                       ` Sjur Brændeland
2012-04-01  6:15                         ` Ohad Ben-Cohen
2011-12-07 12:50 ` [PATCH 0/9] XSHM: Shared Memory Driver for ST-E Thor M7400 LTE modem Linus Walleij

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=81C3A93C17462B4BBD7E272753C105792060C098E4@EXDCVYMBSTM005.EQ1STM.local \
    --to=sjur.brandeland@stericsson.com \
    --cc=arnd@arndb.de \
    --cc=linus.walleij@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=ohad@wizery.com \
    --cc=sjurbren@gmail.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.