drivers/rpmsg/virtio_rpmsg_bus.c | 105 ++++++++++++++++++++----------- include/linux/virtio_rpmsg.h | 24 +++++++ 2 files changed, 93 insertions(+), 36 deletions(-) create mode 100644 include/linux/virtio_rpmsg.h
Take rx and tx buffer size from virtio device config space in the
resource table. This allows each firmware to configure RPMsg buffer size
as needed in each direction.
Original seris:
https://lore.kernel.org/all/1548949280-31794-1-git-send-email-xiaoxiang@xiaomi.com/
Following modificaitons are done to the original series:
- Separate dma allocation is not done for tx and rx buffers. Instead
allocated chunk of memory is split between tx and rx buffers.
- If vdev doesn't support VIRTIO_RPMSG_F_BUFSZ feature then use the
default size of 512 bytes for buffers
- Change MAX_RPMSG_BUF_SIZE to DEFAULT_RPMSG_BUF_SIZE
- move virtio_rpmsg.h from uapi to linux dir
- RPMsg buffer size must be set to hold rpmsg header at minimum in the
vdev config space of the firmware.
- align total buf size to page size when allocating and deallocating
memory
Xiang Xiao (2):
rpmsg: virtio_rpmsg_bus: allow the different vring size for send/recv
rpmsg: virtio_rpmsg_bus: get buffer size from config space
drivers/rpmsg/virtio_rpmsg_bus.c | 105 ++++++++++++++++++++-----------
include/linux/virtio_rpmsg.h | 24 +++++++
2 files changed, 93 insertions(+), 36 deletions(-)
create mode 100644 include/linux/virtio_rpmsg.h
base-commit: f982fbb1a6ca3553c15763ad9eb2beeae78d3684
--
2.34.1
On Fri, Nov 14, 2025 at 10:46:38AM -0800, Tanmay Shah wrote: > Take rx and tx buffer size from virtio device config space in the > resource table. This allows each firmware to configure RPMsg buffer size > as needed in each direction. > > Original seris: > https://lore.kernel.org/all/1548949280-31794-1-git-send-email-xiaoxiang@xiaomi.com/ > > Following modificaitons are done to the original series: > - Separate dma allocation is not done for tx and rx buffers. Instead > allocated chunk of memory is split between tx and rx buffers. > - If vdev doesn't support VIRTIO_RPMSG_F_BUFSZ feature then use the > default size of 512 bytes for buffers > - Change MAX_RPMSG_BUF_SIZE to DEFAULT_RPMSG_BUF_SIZE > - move virtio_rpmsg.h from uapi to linux dir > - RPMsg buffer size must be set to hold rpmsg header at minimum in the > vdev config space of the firmware. > - align total buf size to page size when allocating and deallocating > memory > > Xiang Xiao (2): > rpmsg: virtio_rpmsg_bus: allow the different vring size for send/recv > rpmsg: virtio_rpmsg_bus: get buffer size from config space > > drivers/rpmsg/virtio_rpmsg_bus.c | 105 ++++++++++++++++++++----------- > include/linux/virtio_rpmsg.h | 24 +++++++ > 2 files changed, 93 insertions(+), 36 deletions(-) > create mode 100644 include/linux/virtio_rpmsg.h > This set is going somewhere. Please address the comments that were received and send a new revision. Apologies for the long review delay. Mathieu > > base-commit: f982fbb1a6ca3553c15763ad9eb2beeae78d3684 > -- > 2.34.1 >
On 12/17/25 3:31 PM, Mathieu Poirier wrote: > On Fri, Nov 14, 2025 at 10:46:38AM -0800, Tanmay Shah wrote: >> Take rx and tx buffer size from virtio device config space in the >> resource table. This allows each firmware to configure RPMsg buffer size >> as needed in each direction. >> >> Original seris: >> https://lore.kernel.org/all/1548949280-31794-1-git-send-email-xiaoxiang@xiaomi.com/ >> >> Following modificaitons are done to the original series: >> - Separate dma allocation is not done for tx and rx buffers. Instead >> allocated chunk of memory is split between tx and rx buffers. >> - If vdev doesn't support VIRTIO_RPMSG_F_BUFSZ feature then use the >> default size of 512 bytes for buffers >> - Change MAX_RPMSG_BUF_SIZE to DEFAULT_RPMSG_BUF_SIZE >> - move virtio_rpmsg.h from uapi to linux dir >> - RPMsg buffer size must be set to hold rpmsg header at minimum in the >> vdev config space of the firmware. >> - align total buf size to page size when allocating and deallocating >> memory >> >> Xiang Xiao (2): >> rpmsg: virtio_rpmsg_bus: allow the different vring size for send/recv >> rpmsg: virtio_rpmsg_bus: get buffer size from config space >> >> drivers/rpmsg/virtio_rpmsg_bus.c | 105 ++++++++++++++++++++----------- >> include/linux/virtio_rpmsg.h | 24 +++++++ >> 2 files changed, 93 insertions(+), 36 deletions(-) >> create mode 100644 include/linux/virtio_rpmsg.h >> > > This set is going somewhere. Please address the comments that were received and > send a new revision. > > Apologies for the long review delay. > Mathieu > Sure Mathieu, no problem. I will be on leave in the January, and will start working on this patch series once I come back. Thanks, Tanmay >> >> base-commit: f982fbb1a6ca3553c15763ad9eb2beeae78d3684 >> -- >> 2.34.1 >>
© 2016 - 2026 Red Hat, Inc.