From: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
To: Bjorn Andersson <bjorn.andersson@linaro.org>,
Ohad Ben-Cohen <ohad@wizery.com>,
Mathieu Poirier <mathieu.poirier@linaro.org>,
Andy Gross <agross@kernel.org>
Cc: <linux-remoteproc@vger.kernel.org>,
<linux-kernel@vger.kernel.org>,
<linux-stm32@st-md-mailman.stormreply.com>,
<linux-arm-msm@vger.kernel.org>, <arnaud.pouliquen@foss.st.com>
Subject: [PATCH v3 09/15] rpmsg: smd: add sendto and trysendto ops
Date: Thu, 4 Feb 2021 09:45:28 +0100 [thread overview]
Message-ID: <20210204084534.10516-10-arnaud.pouliquen@foss.st.com> (raw)
In-Reply-To: <20210204084534.10516-1-arnaud.pouliquen@foss.st.com>
Implement the sendto ops to support the future rpmsg_char update for the
vitio backend support.
The use of sendto in rpmsg_char is needed as a destination address is
requested at least by the virtio backend.
The SMD implementation does not need a destination address so ignores it.
Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
---
drivers/rpmsg/qcom_smd.c | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/drivers/rpmsg/qcom_smd.c b/drivers/rpmsg/qcom_smd.c
index 40a1c415c775..2d279c03a090 100644
--- a/drivers/rpmsg/qcom_smd.c
+++ b/drivers/rpmsg/qcom_smd.c
@@ -974,6 +974,20 @@ static int qcom_smd_trysend(struct rpmsg_endpoint *ept, void *data, int len)
return __qcom_smd_send(qsept->qsch, data, len, false);
}
+static int qcom_smd_sendto(struct rpmsg_endpoint *ept, void *data, int len, u32 dst)
+{
+ struct qcom_smd_endpoint *qsept = to_smd_endpoint(ept);
+
+ return __qcom_smd_send(qsept->qsch, data, len, true);
+}
+
+static int qcom_smd_trysendto(struct rpmsg_endpoint *ept, void *data, int len, u32 dst)
+{
+ struct qcom_smd_endpoint *qsept = to_smd_endpoint(ept);
+
+ return __qcom_smd_send(qsept->qsch, data, len, false);
+}
+
static __poll_t qcom_smd_poll(struct rpmsg_endpoint *ept,
struct file *filp, poll_table *wait)
{
@@ -1038,7 +1052,9 @@ static const struct rpmsg_device_ops qcom_smd_device_ops = {
static const struct rpmsg_endpoint_ops qcom_smd_endpoint_ops = {
.destroy_ept = qcom_smd_destroy_ept,
.send = qcom_smd_send,
+ .sendto = qcom_smd_sendto,
.trysend = qcom_smd_trysend,
+ .trysendto = qcom_smd_trysendto,
.poll = qcom_smd_poll,
};
--
2.17.1
next prev parent reply other threads:[~2021-02-04 8:49 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-04 8:45 [PATCH v3 00/15] introduce a generic IOCTL interface for RPMsg channels management Arnaud Pouliquen
2021-02-04 8:45 ` [PATCH v3 01/15] rpmsg: char: rename rpmsg_char_init to rpmsg_chrdev_init Arnaud Pouliquen
2021-02-04 8:45 ` [PATCH v3 02/15] rpmsg: move RPMSG_ADDR_ANY in user API and document the API Arnaud Pouliquen
2021-02-04 8:45 ` [PATCH v3 03/15] rpmsg: char: export eptdev create an destroy functions Arnaud Pouliquen
2021-02-04 8:45 ` [PATCH v3 04/15] rpmsg: char: dissociate the control device from the rpmsg class Arnaud Pouliquen
2021-02-04 8:45 ` [PATCH v3 05/15] rpmsg: move the rpmsg control device from rpmsg_char to rpmsg_ctrl Arnaud Pouliquen
2021-02-04 8:45 ` [PATCH v3 06/15] rpmsg: update rpmsg_chrdev_register_device function Arnaud Pouliquen
2021-02-04 12:44 ` kernel test robot
2021-02-04 15:11 ` Arnaud POULIQUEN
2021-02-04 16:53 ` Mathieu Poirier
2021-02-05 8:21 ` Arnaud POULIQUEN
2021-02-04 8:45 ` [PATCH v3 07/15] rpmsg: virtio: probe the rpmsg_ctrl device Arnaud Pouliquen
2021-02-04 11:35 ` kernel test robot
2021-02-04 8:45 ` [PATCH v3 08/15] rpmsg: glink: add sendto and trysendto ops Arnaud Pouliquen
2021-02-04 8:45 ` Arnaud Pouliquen [this message]
2021-02-04 8:45 ` [PATCH v3 10/15] rpmsg: char: use sendto to specify the message destination address Arnaud Pouliquen
2021-02-04 8:45 ` [PATCH v3 11/15] rpmsg: ctrl: introduce RPMSG_CREATE_DEV_IOCTL Arnaud Pouliquen
2021-02-04 8:45 ` [PATCH v3 12/15] rpmsg: char: introduce __rpmsg_chrdev_create_eptdev function Arnaud Pouliquen
2021-02-04 8:45 ` [PATCH v3 13/15] rpmsg: char: introduce a RPMsg driver for the RPmsg char device Arnaud Pouliquen
2021-02-04 8:45 ` [PATCH v3 14/15] rpmsg: char: no dynamic endpoint management for the default one Arnaud Pouliquen
2021-02-04 8:45 ` [PATCH v3 15/15] rpmsg: char: return an error if device already open Arnaud Pouliquen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210204084534.10516-10-arnaud.pouliquen@foss.st.com \
--to=arnaud.pouliquen@foss.st.com \
--cc=agross@kernel.org \
--cc=bjorn.andersson@linaro.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-remoteproc@vger.kernel.org \
--cc=linux-stm32@st-md-mailman.stormreply.com \
--cc=mathieu.poirier@linaro.org \
--cc=ohad@wizery.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).