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/[email protected]/

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


Reply via email to