summaryrefslogtreecommitdiff
path: root/Documentation
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2026-10-28 07:17:28 -1000
committerLinus Torvalds <torvalds@linux-foundation.org>2026-10-28 07:17:28 -1000
commit0d314add22247c91c74ef6ec093feee43fa2a9aa (patch)
tree7d75e00d32f9c9d41098460c3f64da8dafef1956 /Documentation
parentf9350d59d7c186608a86326f2dad96ee6a2c9842 (diff)
parent7dd4cffdf4c2a496ccf783303a03d687a2127baf (diff)
Merge tag 'rpmsg-v7.4' of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux
Pull rpmsg updates from Bjorn Andersson: - Allow virtio rpmsg to use separate transmit and receive buffer counts based on the vring sizes, and obtain buffer sizes from virtio config space when the feature is negotiated. Document the configuration and report the MTU in the sample driver. - Fix signal interruption and timeout handling while waiting for a virtio transmit buffer. Release the device tree node reference on MediaTek channel teardown. - Convert the rpmsg control ioctl comments to kernel-doc format. * tag 'rpmsg-v7.4' of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux: rpmsg: virtio: fix error handling in TX buffer wait rpmsg: mtk: release channel OF node on device teardown samples: rpmsg: Fix mtu printk specifiers samples: rpmsg: Add MTU size info docs: rpmsg: Add virtio config space details rpmsg: virtio_rpmsg_bus: Get buffer size from config space rpmsg: virtio_rpmsg_bus: Allow different size of tx and rx bufs rpmsg: virtio_rpmsg_bus: Rename rbufs and sbufs rpmsg: ctrl: use kernel-doc format for ioctl macros
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/staging/rpmsg.rst17
1 files changed, 17 insertions, 0 deletions
diff --git a/Documentation/staging/rpmsg.rst b/Documentation/staging/rpmsg.rst
index 63612b7ee120..017867383fd9 100644
--- a/Documentation/staging/rpmsg.rst
+++ b/Documentation/staging/rpmsg.rst
@@ -299,3 +299,20 @@ by the bus, and can then start sending messages to the remote service.
The plan is also to add static creation of rpmsg channels via the virtio
config space, but it's not implemented yet.
+
+Configurable buffer sizes
+=========================
+
+By default each rpmsg buffer is 512 bytes, and the same size is used for both
+the receive and transmit directions. Remote processors that need a different
+size (for example a larger MTU, or different RX and TX queue sizes) can
+advertise it through the virtio device config space by setting the
+VIRTIO_RPMSG_F_BUFSZ feature bit.
+
+When this feature is negotiated, the driver reads struct virtio_rpmsg_config
+from the config space. This structure provides the size of a single buffer for
+each direction (TX and RX). The device should advertise TX/RX buffer sizes
+that already satisfy the alignment constraints of its buffers.
+
+If the feature is not negotiated, the default 512-byte buffers are used for
+both directions.