All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 00/20] rpmsg: glink: Add glink smem based transport
@ 2017-08-24  7:21 ` Sricharan R
  0 siblings, 0 replies; 82+ messages in thread
From: Sricharan R @ 2017-08-24  7:21 UTC (permalink / raw)
  To: ohad, bjorn.andersson, linux-remoteproc, linux-kernel,
	linux-arm-msm, linux-arm-kernel
  Cc: sricharan

The glink protocol works with a shared-memory(transport) for
communication between the local and remote processors. The
existing glink-rpm driver implements the basic features
of the protocol and uses msgram as the transport.

The same is extended to support smem based transport as well.
The first few patches consolidates the code, so that the
core protocol code is made common for both the types of
transport.

The next set of patches adds the additional features of the
protocol required by clients using smem based transport,
particularly support for intents.

 * What is intents ?
	Intents are nothing but pre-allocated buffers that
	both the local and the remote clients allocate and
	share the details (about the buffer size and an id)
	before intending to receive data. The transmitter then
	searches for an suitable 'intent-id' based on size from
	the list that it was notified previously and sends the data
	targeting that intent buffer, which is then copied by the
	receiver in to the same intent-buffer. So this avoids memory
	allocation stalls on copy based transports.

[V2]
        Fixed review comments and a race condition when the remote
        device goes down. Added 2 small patches for fixing the same.
        Previous version is here [1]

[1] https://www.spinics.net/lists/arm-kernel/msg601119.html

Bjorn Andersson (7):
  rpmsg: glink: Rename glink_rpm_xx functions to qcom_glink_xx
  rpmsg: glink: Associate indirections for pipe fifo accessor's
  rpmsg: glink: Split rpm_probe to reuse the common code
  rpmsg: glink: Move the common glink protocol implementation to
    glink_native.c
  rpmsg: glink: Allow unaligned data access
  rpmsg: glink: Introduce glink smem based transport
  rpmsg: glink: Make RX FIFO peak accessor to take an offset

Sricharan R (13):
  rpmsg: glink: Return -EAGAIN when there is no FIFO space
  rpmsg: glink: Do a mbox_free_channel in remove
  rpmsg: glink: Fix default case while handling received commands
  rpmsg: glink: Add support for transport version negotiation
  rpmsg: glink: Fix idr_lock from mutex to spinlock
  rpmsg: glink: Add support for TX intents
  rpmsg: glink: Use the local intents when receiving data
  rpmsg: glink: Add rx done command
  rpmsg: glink: Add announce_create ops and preallocate intents
  rpmsg: glink: Receive and store the remote intent buffers
  rpmsg: glink: Use the intents passed by remote
  rpmsg: glink: Request for intents when unavailable
  rpmsg: glink: Handle remote rx done command

 drivers/rpmsg/Kconfig             |   16 +-
 drivers/rpmsg/Makefile            |    2 +
 drivers/rpmsg/qcom_glink_native.c | 1611 +++++++++++++++++++++++++++++++++++++
 drivers/rpmsg/qcom_glink_native.h |   45 ++
 drivers/rpmsg/qcom_glink_rpm.c    | 1026 ++---------------------
 drivers/rpmsg/qcom_glink_smem.c   |  316 ++++++++
 include/linux/rpmsg/qcom_glink.h  |   27 +
 7 files changed, 2092 insertions(+), 951 deletions(-)
 create mode 100644 drivers/rpmsg/qcom_glink_native.c
 create mode 100644 drivers/rpmsg/qcom_glink_native.h
 create mode 100644 drivers/rpmsg/qcom_glink_smem.c
 create mode 100644 include/linux/rpmsg/qcom_glink.h

-- 
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation

^ permalink raw reply	[flat|nested] 82+ messages in thread

end of thread, other threads:[~2017-08-29 20:57 UTC | newest]

Thread overview: 82+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-08-24  7:21 [PATCH v2 00/20] rpmsg: glink: Add glink smem based transport Sricharan R
2017-08-24  7:21 ` Sricharan R
2017-08-24  7:21 ` [PATCH v2 01/20] rpmsg: glink: Rename glink_rpm_xx functions to qcom_glink_xx Sricharan R
2017-08-24  7:21   ` Sricharan R
2017-08-28 11:42   ` Arun Kumar Neelakantam
2017-08-28 11:42     ` Arun Kumar Neelakantam
2017-08-24  7:21 ` [PATCH v2 02/20] rpmsg: glink: Associate indirections for pipe fifo accessor's Sricharan R
2017-08-24  7:21   ` Sricharan R
2017-08-28 11:44   ` Arun Kumar Neelakantam
2017-08-28 11:44     ` Arun Kumar Neelakantam
2017-08-24  7:21 ` [PATCH v2 03/20] rpmsg: glink: Split rpm_probe to reuse the common code Sricharan R
2017-08-24  7:21   ` Sricharan R
2017-08-28 11:44   ` Arun Kumar Neelakantam
2017-08-28 11:44     ` Arun Kumar Neelakantam
2017-08-24  7:21 ` [PATCH v2 04/20] rpmsg: glink: Move the common glink protocol implementation to glink_native.c Sricharan R
2017-08-24  7:21   ` Sricharan R
2017-08-28 11:45   ` Arun Kumar Neelakantam
2017-08-28 11:45     ` Arun Kumar Neelakantam
2017-08-24  7:21 ` [PATCH v2 05/20] rpmsg: glink: Allow unaligned data access Sricharan R
2017-08-24  7:21   ` Sricharan R
2017-08-28 11:46   ` Arun Kumar Neelakantam
2017-08-28 11:46     ` Arun Kumar Neelakantam
2017-08-24  7:21 ` [PATCH v2 06/20] rpmsg: glink: Return -EAGAIN when there is no FIFO space Sricharan R
2017-08-24  7:21   ` Sricharan R
2017-08-28 11:47   ` Arun Kumar Neelakantam
2017-08-28 11:47     ` Arun Kumar Neelakantam
2017-08-24  7:21 ` [PATCH v2 07/20] rpmsg: glink: Do a mbox_free_channel in remove Sricharan R
2017-08-24  7:21   ` Sricharan R
2017-08-28 11:47   ` Arun Kumar Neelakantam
2017-08-28 11:47     ` Arun Kumar Neelakantam
2017-08-24  7:21 ` [PATCH v2 08/20] rpmsg: glink: Introduce glink smem based transport Sricharan R
2017-08-24  7:21   ` Sricharan R
2017-08-28 11:48   ` Arun Kumar Neelakantam
2017-08-28 11:48     ` Arun Kumar Neelakantam
2017-08-24  7:21 ` [PATCH v2 09/20] rpmsg: glink: Fix default case while handling received commands Sricharan R
2017-08-24  7:21   ` Sricharan R
2017-08-28 11:48   ` Arun Kumar Neelakantam
2017-08-28 11:48     ` Arun Kumar Neelakantam
2017-08-29 20:57   ` Bjorn Andersson
2017-08-29 20:57     ` Bjorn Andersson
2017-08-24  7:21 ` [PATCH v2 10/20] rpmsg: glink: Add support for transport version negotiation Sricharan R
2017-08-24  7:21   ` Sricharan R
2017-08-28 11:48   ` Arun Kumar Neelakantam
2017-08-28 11:48     ` Arun Kumar Neelakantam
2017-08-24  7:21 ` [PATCH v2 11/20] rpmsg: glink: Fix idr_lock from mutex to spinlock Sricharan R
2017-08-24  7:21   ` Sricharan R
2017-08-28 11:49   ` Arun Kumar Neelakantam
2017-08-28 11:49     ` Arun Kumar Neelakantam
2017-08-28 21:51   ` Chris Lew
2017-08-28 21:51     ` Chris Lew
2017-08-28 23:13     ` Sricharan R
2017-08-28 23:13       ` Sricharan R
2017-08-24  7:21 ` [PATCH v2 12/20] rpmsg: glink: Add support for TX intents Sricharan R
2017-08-24  7:21   ` Sricharan R
2017-08-28 11:49   ` Arun Kumar Neelakantam
2017-08-28 11:49     ` Arun Kumar Neelakantam
2017-08-24  7:21 ` [PATCH v2 13/20] rpmsg: glink: Use the local intents when receiving data Sricharan R
2017-08-24  7:21   ` Sricharan R
2017-08-28 11:49   ` Arun Kumar Neelakantam
2017-08-28 11:49     ` Arun Kumar Neelakantam
2017-08-24  7:21 ` [PATCH v2 14/20] rpmsg: glink: Make RX FIFO peak accessor to take an offset Sricharan R
2017-08-24  7:21   ` Sricharan R
2017-08-28 11:50   ` Arun Kumar Neelakantam
2017-08-28 11:50     ` Arun Kumar Neelakantam
2017-08-24  7:21 ` [PATCH v2 15/20] rpmsg: glink: Add rx done command Sricharan R
2017-08-24  7:21   ` Sricharan R
2017-08-28 11:50   ` Arun Kumar Neelakantam
2017-08-28 11:50     ` Arun Kumar Neelakantam
2017-08-24  7:21 ` [PATCH v2 16/20] rpmsg: glink: Add announce_create ops and preallocate intents Sricharan R
2017-08-24  7:21   ` Sricharan R
2017-08-28 11:50   ` Arun Kumar Neelakantam
2017-08-28 11:50     ` Arun Kumar Neelakantam
2017-08-24  7:21 ` [PATCH v2 17/20] rpmsg: glink: Receive and store the remote intent buffers Sricharan R
2017-08-24  7:21   ` Sricharan R
2017-08-28 11:51   ` Arun Kumar Neelakantam
2017-08-28 11:51     ` Arun Kumar Neelakantam
2017-08-24  7:21 ` [PATCH v2 18/20] rpmsg: glink: Use the intents passed by remote Sricharan R
2017-08-24  7:21   ` Sricharan R
2017-08-24  7:21 ` [PATCH v2 19/20] rpmsg: glink: Request for intents when unavailable Sricharan R
2017-08-24  7:21   ` Sricharan R
2017-08-24  7:21 ` [PATCH v2 20/20] rpmsg: glink: Handle remote rx done command Sricharan R
2017-08-24  7:21   ` Sricharan R

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.