linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC 0/5] remoteproc: Support bi-directional vdev config space.
@ 2012-12-06 19:35 Sjur Brændeland
  2012-12-06 19:35 ` [RFC 1/5] remoteproc: Refactor function rproc_elf_find_rsc_table Sjur Brændeland
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Sjur Brændeland @ 2012-12-06 19:35 UTC (permalink / raw)
  To: Ohad Ben-Cohen
  Cc: Linus Walleij, linux-kernel, sjurbren, Sjur Brændeland

From: Sjur Brændeland <sjur@brendeland.net>

This patch-set adds support for shared resource table between
Linux kernel and remote devices. 
Features:
1. dynamically-allocated address of the vrings can be communicated
2. vdev statuses can be communicated
3. virtio config space becomes bi-directional
4. virtio feature negotiation is two-way 

This is done by loading firmware once. First pass parsing of the
resource table will allocate carveouts. Then the firmware
is loaded into device memory. After this the address
of the resource table in shared memory is located. This address
is used in the second pass of parsing of the resource
table. This time the virtio devices are created. When the
virtio device are created the virto feature bits, status,
and configuration-space is shared with the remote device.

NOTE: This change will probably break existing device firmware!
The device memory allocation will change. Virtio Rings are no
longer located at start of device memory. But Ring Address in
resource table is supported.

Thanks,
Sjur

Sjur Brændeland (5):
  remoteproc: Refactor function rproc_elf_find_rsc_table
  remoteproc: Add operation to find resource table in memory
  remoteproc: Add state RPROC_LOADED
  remoteproc: Load firmware to device memory once.
  remoteproc: Support virtio config space.

 drivers/remoteproc/remoteproc_core.c       |  226 ++++++++++++----------------
 drivers/remoteproc/remoteproc_debugfs.c    |    1 +
 drivers/remoteproc/remoteproc_elf_loader.c |   99 ++++++++----
 drivers/remoteproc/remoteproc_internal.h   |   13 ++
 drivers/remoteproc/remoteproc_virtio.c     |   30 +++-
 drivers/remoteproc/ste_modem_rproc.c       |   43 ++++--
 include/linux/remoteproc.h                 |    6 +-
 7 files changed, 232 insertions(+), 186 deletions(-)

-- 
1.7.9.5


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

end of thread, other threads:[~2012-12-06 19:37 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-12-06 19:35 [RFC 0/5] remoteproc: Support bi-directional vdev config space Sjur Brændeland
2012-12-06 19:35 ` [RFC 1/5] remoteproc: Refactor function rproc_elf_find_rsc_table Sjur Brændeland
2012-12-06 19:35 ` [RFC 2/5] remoteproc: Add operation to find resource table in memory Sjur Brændeland
2012-12-06 19:35 ` [RFC 3/5] remoteproc: Add state RPROC_LOADED Sjur Brændeland
2012-12-06 19:35 ` [RFC 4/5] remoteproc: Load firmware to device memory once Sjur Brændeland
2012-12-06 19:35 ` [RFC 5/5] remoteproc: Support virtio config space Sjur Brændeland

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