Received: by 2002:a5d:9c59:0:0:0:0:0 with SMTP id 25csp2299885iof; Wed, 8 Jun 2022 01:51:45 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyIhvX490CiqDxbtuoEHwGbbBxDlMw8lfWdHkBAWBHNCoqIe33f8KalT1wgrHVULcTD9mN8 X-Received: by 2002:a17:903:2cf:b0:151:a932:f1f0 with SMTP id s15-20020a17090302cf00b00151a932f1f0mr33789969plk.130.1654678304991; Wed, 08 Jun 2022 01:51:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1654678304; cv=none; d=google.com; s=arc-20160816; b=iGSMSZXoOeQVIgYm8LsJyAf3sXJm/ExHDu1iPW17sFppIqgAGfNvMw0NFj+q1dlyl1 BJWrQV9ujEBztMAJtRFRjNolA6s8XffWJ1AKyf/eNq99UUa3kTM18uS+7wpclvJUJYui FRJXEjiSQNzvGkSmqqs8s9BPid5hSncOwFkomeO79jIzsXo+JJzAEhWKvRnvZWYqZTUD w/JAg2ijXh/VxCSbR99IfPS7Ze3OlBVTWo6xauPNeSzWy2g0DVKtSND5IyhjR3/TJCGB g15v8XiETLzpRmBGGprPvKGhpPq2Fqh3sywUgqhxQLF3tRtFTz2e+ycZyTGiEtgA0a/I FBBg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:message-id:date:subject:cc:to:from :dkim-signature; bh=ygwHZANy7H7v2wYM6erWiH+LMWYVUEK2GJZZRAhv6Hs=; b=i/WCuYcgte1o1D5Q/o5FDNliyCoR3jwlsl+SiTukdvDnUL2PtbF0dtJPW0R4uRQu98 Thg6q89g1y7b2LfKIqE88Wmn/QnipHOywZDhoFsZdf9mxCAvQudqx3A30rySqjVEVjpf ZbLJ+ZutYrqGjNmGSdlNPNEVZKAIFE1oyBtCt/M1nJUPSme5+wKcj34RudXroUSjnWW5 Sz4Ow1J4dSLh0jEV+npNCxV633Rby7nqHlMP5ksQve3cjrK/Zt5aX/9EwOLoDjHCfexy 0XKD2nrQDcOh987ueV9/frut61CyZF6sVai6zXUadXujl7ls40q5hU9D3C3iOUtlI38X N2KA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcdkim header.b=OBhhX70w; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [23.128.96.19]) by mx.google.com with ESMTPS id 192-20020a6301c9000000b003fd876a5684si13806078pgb.267.2022.06.08.01.51.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 08 Jun 2022 01:51:44 -0700 (PDT) Received-SPF: softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) client-ip=23.128.96.19; Authentication-Results: mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcdkim header.b=OBhhX70w; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 45612222A74; Wed, 8 Jun 2022 01:14:36 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232460AbiFHEwQ (ORCPT + 99 others); Wed, 8 Jun 2022 00:52:16 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51894 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232032AbiFHEv2 (ORCPT ); Wed, 8 Jun 2022 00:51:28 -0400 Received: from alexa-out.qualcomm.com (alexa-out.qualcomm.com [129.46.98.28]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D1FFA27144D; Tue, 7 Jun 2022 18:17:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; i=@quicinc.com; q=dns/txt; s=qcdkim; t=1654651029; x=1686187029; h=from:to:cc:subject:date:message-id:mime-version; bh=ygwHZANy7H7v2wYM6erWiH+LMWYVUEK2GJZZRAhv6Hs=; b=OBhhX70wi4Ui25JX6ImVLOVdtr/T3JuNcNuW4mZMNflR6BVJpDlZI0qJ E9wdet1IQsX+InZNpjNq2zPxG5H7k3b9x4I+dTTtBBDcj3lPsey2b01Q2 yNFOudDwoJmmYnwdxmZ6Kyt36yYnEPw171+HZ+mSHSm2uOgaHEsDqzxuw k=; Received: from ironmsg09-lv.qualcomm.com ([10.47.202.153]) by alexa-out.qualcomm.com with ESMTP; 07 Jun 2022 18:17:07 -0700 X-QCInternal: smtphost Received: from nasanex01c.na.qualcomm.com ([10.47.97.222]) by ironmsg09-lv.qualcomm.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Jun 2022 18:17:07 -0700 Received: from nalasex01a.na.qualcomm.com (10.47.209.196) by nasanex01c.na.qualcomm.com (10.47.97.222) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.22; Tue, 7 Jun 2022 18:17:07 -0700 Received: from hu-clew-lv.qualcomm.com (10.49.16.6) by nalasex01a.na.qualcomm.com (10.47.209.196) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.22; Tue, 7 Jun 2022 18:17:06 -0700 From: Chris Lew To: , CC: , , , Subject: [PATCH 0/4] Introduction of rpmsg_rx_done Date: Tue, 7 Jun 2022 18:16:41 -0700 Message-ID: <1654651005-15475-1-git-send-email-quic_clew@quicinc.com> X-Mailer: git-send-email 2.7.4 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.49.16.6] X-ClientProxiedBy: nalasex01c.na.qualcomm.com (10.47.97.35) To nalasex01a.na.qualcomm.com (10.47.209.196) X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This series proposes an implementation for the rpmsg framework to do deferred cleanup of buffers provided in the rx callback. The current implementation assumes that the client is done with the buffer after returning from the rx callback. In some cases where the data size is large, the client may want to avoid copying the data in the rx callback for later processing. This series proposes two new facilities for signaling that they want to hold on to a buffer after the rx callback. They are: - New API rpmsg_rx_done() to tell the rpmsg framework the client is done with the buffer - New return codes for the rx callback to signal that the client will hold onto a buffer and later call rpmsg_rx_done() This series implements the qcom_glink_native backend for these new facilities. Chris Lew (4): rpmsg: core: Add rx done hooks rpmsg: char: Add support to use rpmsg_rx_done rpmsg: glink: Try to send rx done in irq rpmsg: glink: Add support for rpmsg_rx_done drivers/rpmsg/qcom_glink_native.c | 112 ++++++++++++++++++++++++++++++-------- drivers/rpmsg/rpmsg_char.c | 50 ++++++++++++++++- drivers/rpmsg/rpmsg_core.c | 20 +++++++ drivers/rpmsg/rpmsg_internal.h | 1 + include/linux/rpmsg.h | 24 ++++++++ 5 files changed, 183 insertions(+), 24 deletions(-) -- 2.7.4