Message ID | 1485867097-6960-1-git-send-email-loic.pallardy@st.com |
---|---|
Headers | show |
Series | virtio_rpmsg: make rpmsg channel configurable | expand |
Acked-and-tested-by: Hugues Fruchet <hugues.fruchet@st.com> Tested on B2260 ST Platform with st-delta video decoder V4L2 kernel driver (http://www.mail-archive.com/linux-media@vger.kernel.org/msg107644.html). On 01/31/2017 01:51 PM, Loic Pallardy wrote: > This goal of this series is to offer more flexibility for virtio_rpmsg > communication link configuration. > > It should be possible to tune rpmsg buffer size per Rpmsg link, to provide > selected configuration to coprocessor, to take into account coprocessor > specificities like memory region. > > This series introduces an optional virtio rpmsg configuration structure, which > will be managed as an extension of struct fw_rsc_vdev present in coprocessor firmware > resource table. > Structure access is possible thanks to virtio get and set API. > This structure contains the different information to tune the link between the > host and the coprocessor. > > Patch "rpmsg: virtio_rpmsg_bus: fix sg_set_buf() when addr is not a valid > kernel address" has the same goal as Wendy's RFC [1]. I don't have tested > Wendy's series with level driver buffer allocation. > > Last patch "rpmsg: virtio_rpmsg: set buffer configuration to virtio" has a > dependency with remoteproc subdevice boot sequence as coprocessor resource > table must be updated before coprocessor start. See [2] > > [1] http://www.spinics.net/lists/linux-remoteproc/msg00852.html > [2] http://www.spinics.net/lists/linux-remoteproc/msg00826.html > > --- > Changes from v1: > - No more dependency with [2]. Coprocessor firmware should wait for first kick > indicating virtio rpmsg link ready before accessing resource table information. > - Correct issues reported by Suman > - Fix warnings found by checkpatch with --strict option > > > Loic Pallardy (6): > rpmsg: virtio_rpmsg: set rpmsg_buf_size customizable > rpmsg: virtio_rpmsg_bus: fix sg_set_buf() when addr is not a valid > kernel address > include: virtio_rpmsg: add virtio rpmsg configuration structure > rpmsg: virtio_rpmsg: get buffer configuration from virtio > rpmsg: virtio_rpmsg: don't allocate buffer if provided by low level > driver > rpmsg: virtio_rpmsg: set buffer configuration to virtio > > drivers/rpmsg/virtio_rpmsg_bus.c | 176 +++++++++++++++++++++++++++++++------ > include/linux/rpmsg/virtio_rpmsg.h | 32 +++++++ > 2 files changed, 179 insertions(+), 29 deletions(-) > create mode 100644 include/linux/rpmsg/virtio_rpmsg.h >