.. | .. |
---|
181 | 181 | int len, u32 dst); |
---|
182 | 182 | static int virtio_rpmsg_trysend_offchannel(struct rpmsg_endpoint *ept, u32 src, |
---|
183 | 183 | u32 dst, void *data, int len); |
---|
| 184 | +static ssize_t virtio_rpmsg_get_mtu(struct rpmsg_endpoint *ept); |
---|
184 | 185 | |
---|
185 | 186 | static const struct rpmsg_endpoint_ops virtio_endpoint_ops = { |
---|
186 | 187 | .destroy_ept = virtio_rpmsg_destroy_ept, |
---|
.. | .. |
---|
190 | 191 | .trysend = virtio_rpmsg_trysend, |
---|
191 | 192 | .trysendto = virtio_rpmsg_trysendto, |
---|
192 | 193 | .trysend_offchannel = virtio_rpmsg_trysend_offchannel, |
---|
| 194 | + .get_mtu = virtio_rpmsg_get_mtu, |
---|
193 | 195 | }; |
---|
194 | 196 | |
---|
195 | 197 | /** |
---|
.. | .. |
---|
705 | 707 | return rpmsg_send_offchannel_raw(rpdev, src, dst, data, len, false); |
---|
706 | 708 | } |
---|
707 | 709 | |
---|
| 710 | +static ssize_t virtio_rpmsg_get_mtu(struct rpmsg_endpoint *ept) |
---|
| 711 | +{ |
---|
| 712 | + struct rpmsg_device *rpdev = ept->rpdev; |
---|
| 713 | + struct virtio_rpmsg_channel *vch = to_virtio_rpmsg_channel(rpdev); |
---|
| 714 | + |
---|
| 715 | + return vch->vrp->buf_size - sizeof(struct rpmsg_hdr); |
---|
| 716 | +} |
---|
| 717 | + |
---|
708 | 718 | static int rpmsg_recv_single(struct virtproc_info *vrp, struct device *dev, |
---|
709 | 719 | struct rpmsg_hdr *msg, unsigned int len) |
---|
710 | 720 | { |
---|