Messages in this thread | | | From | Sjur Brændeland <> | Subject | [RFCv2 00/10] remoteproc: Support bi-directional vdev config space | Date | Fri, 14 Dec 2012 17:06:49 +0100 |
| |
Changes since v1: - Separate vring allocation and registration - Break up patches in smaller parts to facilitate review. (The patches here are perhaps too fine grained and can be squashed later).
This patch-set adds support for shared resource table between Linux kernel and remote devices. Features: - dynamically-allocated address of the vrings can be communicated - vdev statuses can be communicated - virtio config space becomes bi-directional - virtio feature negotiation is two-way
NOTE: This change may not be backwards compatible with existing device firmware! The memory allocation order may change. Previously the Virtio Rings were always allocated at start of the share memory area, but with this patch-set the memory allocation are done in the order defined resource table.
A number of changes are introduced to achieve this: - The firmware is loaded once. - The allocations of resources is done before registering the virtio devices. - The virtio device uses resource bits, status and config space in memory shared with the device.
Review comments and feedback are welcomed!
Thanks, Sjur
Sjur Brændeland (11): remoteproc: Code cleanup of resource parsing remoteproc: Move check on firmware name to rproc_add remoteproc: Set vring addresses in resource table remoteproc: Add state RPROC_LOADED remoteproc: Load firmware once. remoteproc: Add resource entry number to callbacks remoteproc: Register virtio devices after vring allocation remoteproc: Refactor function rproc_elf_find_rsc_table remoteproc: Add operation to find resource table in memory remoteproc: Find resource table in device memory remoteproc: Support virtio config space.
drivers/remoteproc/remoteproc_core.c | 216 ++++++++++++--------------- 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 | 9 +- 7 files changed, 238 insertions(+), 173 deletions(-)
-- 1.7.5.4
-- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |