This series proposes an implementation for the rpmsg virtio transport backend, of the signaling API proposed by Deepak Kumar Singh: "rpmsg and glink signaling API support" [1] The aim of the series is to offer the possibility for an endpoint to inform a remote endpoint about its state, based on a software flow control[2]. For this a new rpmsg service( with a fixed address 64) is proposed. It is responsible for: - transmitting local endpoint flow control information to the remote side, - informing a local endpoint about a remote endpoint flow control. For the rpmsg virtio transport layer the service is negotiated thanks to the virtio feature flag: VIRTIO_RPMSG_F_FC Notice that this pull request introduces new feature in the rpmsg protocol, So it has to be aligned with OpenAMP implementation. Pending OpenAMP pull request is available here: https://github.com/OpenAMP/open-amp/pull/394 [1]https://lkml.org/lkml/2022/1/18/867 [2]https://en.wikipedia.org/wiki/Software_flow_control Arnaud Pouliquen (8): rpmsg: core: Add rpmsg device remote flow control announcement ops rpmsg: virtio: Implement the announce_remote_fc ops rpmsg: Introduce flow control channel driver rpmsg: virtio: Add support of the VIRTIO_RPMSG_F_FC feature rpmsg: virtio: Implement the set_flow_control ops rpmsg: Add the destination address in rpmsg_set_flow_control rpmsg: tty : Add the support of the flow control rpmsg: virtio: Set default dst address on flow control Deepak Kumar Singh (2): rpmsg: core: Add signal API support rpmsg: char: Add TIOCMGET/TIOCMSET ioctl support drivers/rpmsg/Kconfig | 11 +++ drivers/rpmsg/Makefile | 1 + drivers/rpmsg/rpmsg_char.c | 56 +++++++++++++-- drivers/rpmsg/rpmsg_core.c | 47 +++++++++++++ drivers/rpmsg/rpmsg_fc.c | 113 +++++++++++++++++++++++++++++++ drivers/rpmsg/rpmsg_internal.h | 9 +++ drivers/rpmsg/virtio_rpmsg_bus.c | 111 +++++++++++++++++++++++++++++- drivers/tty/rpmsg_tty.c | 50 ++++++++++++++ include/linux/rpmsg.h | 15 ++++ include/linux/rpmsg/fc.h | 51 ++++++++++++++ 10 files changed, 456 insertions(+), 8 deletions(-) create mode 100644 drivers/rpmsg/rpmsg_fc.c create mode 100644 include/linux/rpmsg/fc.h -- 2.25.1