Received: by 2002:a25:c593:0:0:0:0:0 with SMTP id v141csp1037162ybe; Thu, 5 Sep 2019 09:22:03 -0700 (PDT) X-Google-Smtp-Source: APXvYqxORl+UhE0OgrkspDyv8UvmFrHRJ4X8isF8LZG50aThsLRwf1DFTGoWJey8oapkbmb0MGoR X-Received: by 2002:a17:902:b583:: with SMTP id a3mr4280477pls.52.1567700523595; Thu, 05 Sep 2019 09:22:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1567700523; cv=none; d=google.com; s=arc-20160816; b=EZi4/Q7LUymt2NdawrDBg5qlNGWm/68D596eesLpLvScAG0l4gideD4sfvFK5Xk4HC 1iatn5vjI5YqMdf3X7dLeF0JQp/GuPj/Ys5j6qmfRKCqUTgoT69XPr23F/YgvZyYwkK7 vLtaaxSHaK2n2eiLe1DUwg6bKmtUi5xC+5MXeVzQZn6Yik8RHxO16JCuK+r2jwhIDHyo B/y5Yl8MdAFqLxOjF3droUCcUwyklnpE5lqHLu2HA4ssRlud0fggiaoX/PXWBcdm+mgr MzEQvJ8Xwl/VqpVnyv8QtnoVWesaTrxgpFfcAHiBHuhqPK0ZigFyTFHZswWpybGVUpGi ZFPg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=YrWE+pFDSWWveSDQIG3fJMGYfBJNITVKHz/E5fZx6Q0=; b=dN2ap2yJdIRx29KEE1WFAhl2c2nDIxRvROicak8+NAyuxxA5FFc2yql7qgjXpwF6ba ihTxxvRzI3f4BuB4mkDMuSU6EreTadNwUNgpHAqKJ7ihrpRzM0E5N54d0+wRGtAZhaj9 TXm886r3qF/lwgTBvZdqQ8Dk2CzLKN6SEf7V+ujyykKUo86aX134cIXqOhFp1GXoKWVp On3NCooYw/0sAUsyMmiJ27k1csunRzSM60WwtvsklwwFWPVg92tOa4fBuxOZosXafgB0 nkT4K9uXQ5I+TC8ECTsSvoq2ynCKG72HFPuGj2Gu4j8CrTNCVFc878IF7nqPRD4uVqS3 nFuw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@st.com header.s=STMicroelectronics header.b=hJa87dgr; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f4si2190602pgg.334.2019.09.05.09.21.47; Thu, 05 Sep 2019 09:22:03 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@st.com header.s=STMicroelectronics header.b=hJa87dgr; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2389222AbfIEO1k (ORCPT + 99 others); Thu, 5 Sep 2019 10:27:40 -0400 Received: from mx08-00178001.pphosted.com ([91.207.212.93]:1282 "EHLO mx07-00178001.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S2389044AbfIEO12 (ORCPT ); Thu, 5 Sep 2019 10:27:28 -0400 Received: from pps.filterd (m0046660.ppops.net [127.0.0.1]) by mx08-00178001.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id x85EQQxn026558; Thu, 5 Sep 2019 16:27:22 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=st.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-type; s=STMicroelectronics; bh=YrWE+pFDSWWveSDQIG3fJMGYfBJNITVKHz/E5fZx6Q0=; b=hJa87dgr3fDuxI0od5m6ziF60QB8V7L0qDSVQe5agQO3O/+BAdQW0+R/SVAUJxG2bi3i eFW4Gp61ywrOTnFpHkQu9u74q/8HVrh5yqeOChG4pJTcFda/Dp2IQzto2TbHRihu3DDW WKeNKimSz9lpGh+AjBBfbHsWHyK57ZHxsPAVd7mYtNam6Nko/m1ALuqxyLZ7QWTlKK/K pQeXYRSaCVG9Bp9KIhvL+1mPsLYuTzFcqUz9vfxjHLfoA2/yikmA1MJMN8AhMGq3ApX6 DHNYYhzaf/7/Kx8tymPN3iX2/Eh4EF+2xowpb+1KdGQQg95FBxx6R3kzIh6FtHk7AzYF gA== Received: from beta.dmz-ap.st.com (beta.dmz-ap.st.com [138.198.100.35]) by mx08-00178001.pphosted.com with ESMTP id 2uqe1a0xrt-1 (version=TLSv1 cipher=ECDHE-RSA-AES256-SHA bits=256 verify=NOT); Thu, 05 Sep 2019 16:27:22 +0200 Received: from euls16034.sgp.st.com (euls16034.sgp.st.com [10.75.44.20]) by beta.dmz-ap.st.com (STMicroelectronics) with ESMTP id AE72123; Thu, 5 Sep 2019 14:27:19 +0000 (GMT) Received: from Webmail-eu.st.com (Safex1hubcas23.st.com [10.75.90.46]) by euls16034.sgp.st.com (STMicroelectronics) with ESMTP id 6B08A2D6C48; Thu, 5 Sep 2019 16:27:19 +0200 (CEST) Received: from SAFEX1HUBCAS21.st.com (10.75.90.45) by SAFEX1HUBCAS23.st.com (10.75.90.46) with Microsoft SMTP Server (TLS) id 14.3.439.0; Thu, 5 Sep 2019 16:27:19 +0200 Received: from localhost (10.48.0.131) by Webmail-ga.st.com (10.75.90.48) with Microsoft SMTP Server (TLS) id 14.3.439.0; Thu, 5 Sep 2019 16:27:19 +0200 From: Arnaud Pouliquen To: Ohad Ben-Cohen , Bjorn Andersson , , , CC: , Suman Anna , Fabien DESSENNE , Subject: [PATCH 2/3] rpmsg: glink: implement get_mtu ops Date: Thu, 5 Sep 2019 16:27:09 +0200 Message-ID: <1567693630-27544-3-git-send-email-arnaud.pouliquen@st.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1567693630-27544-1-git-send-email-arnaud.pouliquen@st.com> References: <1567693630-27544-1-git-send-email-arnaud.pouliquen@st.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.48.0.131] X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.70,1.0.8 definitions=2019-09-05_04:2019-09-04,2019-09-05 signatures=0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Implement the get_mtu ops to return the maximum size of the message that can be sent. Signed-off-by: Arnaud Pouliquen --- drivers/rpmsg/qcom_glink_native.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/drivers/rpmsg/qcom_glink_native.c b/drivers/rpmsg/qcom_glink_native.c index 621f1afd4d6b..8a477416a38a 100644 --- a/drivers/rpmsg/qcom_glink_native.c +++ b/drivers/rpmsg/qcom_glink_native.c @@ -1312,6 +1312,29 @@ static int qcom_glink_trysend(struct rpmsg_endpoint *ept, void *data, int len) return __qcom_glink_send(channel, data, len, false); } +static ssize_t qcom_glink_get_mtu(struct rpmsg_endpoint *ept) +{ + struct glink_channel *channel = to_glink_channel(ept); + size_t mtu_size = 0; + struct qcom_glink *glink = channel->glink; + struct glink_core_rx_intent *tmp; + unsigned long flags; + int iid = 0; + + if (!glink->intentless) { + spin_lock_irqsave(&channel->intent_lock, flags); + idr_for_each_entry(&channel->riids, tmp, iid) { + if (tmp->size > mtu_size && !tmp->in_use) + mtu_size = tmp->size; + } + spin_unlock_irqrestore(&channel->intent_lock, flags); + + return mtu_size; + } else { + return qcom_glink_tx_avail(glink); + } +} + /* * Finds the device_node for the glink child interested in this channel. */ @@ -1345,6 +1368,7 @@ static const struct rpmsg_endpoint_ops glink_endpoint_ops = { .destroy_ept = qcom_glink_destroy_ept, .send = qcom_glink_send, .trysend = qcom_glink_trysend, + .get_mtu = qcom_glink_get_mtu, }; static void qcom_glink_rpdev_release(struct device *dev) -- 2.7.4