| .. | .. |
|---|
| 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 | { |
|---|