author | Suman Anna <s-anna@ti.com> | |
Wed, 14 Feb 2018 00:01:40 +0000 (18:01 -0600) | ||
committer | Suman Anna <s-anna@ti.com> | |
Fri, 1 Feb 2019 00:27:43 +0000 (18:27 -0600) | ||
commit | 1b5a3b2ef344bdd695ae410893fab7f4665dd55e | |
tree | 54329db60dd8f84665888aeb03f1f407fe592fcc | tree | snapshot (tar.xz tar.gz zip) |
parent | 5b1aaaa3c92a2c7977679910f40171d731f69f29 | commit | diff |
rpmsg: rpc: introduce a new rpmsg_rpc driver
The new rpmsg client driver, rpmsg_rpc, is introduced to provide a
framework for userspace applications to execute functions on different
remote processors.
The functions themselves are published by the remote processors by
different libraries. Each set of functions are published and supported
by a corresponding rpmsg server channel, and is exposed to the user-space
as its own device. User-space applications can open this character device,
and execute any of the published functions associated with the device.
The rpmsg-rpc driver allows any function upto 10 arguments with in-built
pointer translation. The kernel-userspace interaction allows any buffer
pointers to be replaced in the marshalled packet, provided the buffers
are obtained from allocators backed by dma_buf framework.
Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Erik Rainey <erik.rainey@ti.com>
The new rpmsg client driver, rpmsg_rpc, is introduced to provide a
framework for userspace applications to execute functions on different
remote processors.
The functions themselves are published by the remote processors by
different libraries. Each set of functions are published and supported
by a corresponding rpmsg server channel, and is exposed to the user-space
as its own device. User-space applications can open this character device,
and execute any of the published functions associated with the device.
The rpmsg-rpc driver allows any function upto 10 arguments with in-built
pointer translation. The kernel-userspace interaction allows any buffer
pointers to be replaced in the marshalled packet, provided the buffers
are obtained from allocators backed by dma_buf framework.
Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Erik Rainey <erik.rainey@ti.com>
drivers/rpmsg/Kconfig | diff | blob | history | |
drivers/rpmsg/Makefile | diff | blob | history | |
drivers/rpmsg/rpmsg_rpc.c | [new file with mode: 0644] | blob |
drivers/rpmsg/rpmsg_rpc_dmabuf.c | [new file with mode: 0644] | blob |
drivers/rpmsg/rpmsg_rpc_internal.h | [new file with mode: 0644] | blob |
drivers/rpmsg/rpmsg_rpc_sysfs.c | [new file with mode: 0644] | blob |
include/linux/rpmsg_rpc.h | [new file with mode: 0644] | blob |
include/uapi/linux/rpmsg_rpc.h | [new file with mode: 0644] | blob |