Re: [PATCH 00/10] rpmsg: Make RPMSG name service modular
From: Guennadi Liakhovetski
Date: Tue Sep 22 2020 - 04:10:00 EST
Hi Mathieu,
Thanks for the patches. I'm trying to understand the concept of
this approach and I'm probably failing at that. It seems to me
that this patch set is making the NS announcement service to a
separate RPMsg device and I don't understand the reasoning for
doing this. As far as I understand namespace announcements
belong to RPMsg devices / channels, they create a dedicated
endpoint on them with a fixed pre-defined address. But they
don't form a separate RPMsg device. I think the current
virtio_rpmsg_bus.c has that correctly: for each rpmsg device /
channel multiple endpoints can be created, where the NS
service is one of them. It's just an endpoing of an rpmsg
device, not a complete separate device. Have I misunderstood
anything?
Thanks
Guennadi
On Mon, Sep 21, 2020 at 06:09:50PM -0600, Mathieu Poirier wrote:
> Hi all,
>
> After looking at Guennadi[1] and Arnaud's patchsets[2] it became
> clear that we need to go back to a generic rpmsg_ns_msg structure
> if we wanted to make progress. To do that some of the work from
> Arnaud had to be modified in a way that common name service
> functionality was transport agnostic.
>
> This patchset is based on Arnaud's work but also include a patch
> from Guennadi and some input from me. It should serve as a
> foundation for the next revision of [1].
>
> Applies on rpmsg-next (4e3dda0bc603) and tested on stm32mp157. I
> did not test the modularisation.
>
> Comments and feedback would be greatly appreciated.
>
> Thanks,
> Mathieu
>
> [1]. https://patchwork.kernel.org/project/linux-remoteproc/list/?series=346593
> [2]. https://patchwork.kernel.org/project/linux-remoteproc/list/?series=338335
>
> Arnaud Pouliquen (5):
> rpmsg: virtio: rename rpmsg_create_channel
> rpmsg: core: Add channel creation internal API
> rpmsg: virtio: Add rpmsg channel device ops
> rpmsg: Turn name service into a stand alone driver
> rpmsg: virtio: use rpmsg ns device for the ns announcement
>
> Guennadi Liakhovetski (1):
> rpmsg: Move common structures and defines to headers
>
> Mathieu Poirier (4):
> rpmsg: virtio: Move virtio RPMSG structures to private header
> rpmsg: core: Add RPMSG byte conversion operations
> rpmsg: virtio: Make endianness conversion virtIO specific
> rpmsg: ns: Make Name service module transport agnostic
>
> drivers/rpmsg/Kconfig | 9 +
> drivers/rpmsg/Makefile | 1 +
> drivers/rpmsg/rpmsg_core.c | 96 +++++++++++
> drivers/rpmsg/rpmsg_internal.h | 102 +++++++++++
> drivers/rpmsg/rpmsg_ns.c | 108 ++++++++++++
> drivers/rpmsg/virtio_rpmsg_bus.c | 284 +++++++++----------------------
> include/linux/rpmsg_ns.h | 83 +++++++++
> include/uapi/linux/rpmsg.h | 3 +
> 8 files changed, 487 insertions(+), 199 deletions(-)
> create mode 100644 drivers/rpmsg/rpmsg_ns.c
> create mode 100644 include/linux/rpmsg_ns.h
>
> --
> 2.25.1
>