From patchwork Fri Jun 18 07:52:40 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephan Gerhold X-Patchwork-Id: 12330493 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 89868C49EA4 for ; Fri, 18 Jun 2021 07:54:19 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 63FB26109E for ; Fri, 18 Jun 2021 07:54:19 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233571AbhFRH40 (ORCPT ); Fri, 18 Jun 2021 03:56:26 -0400 Received: from mo4-p01-ob.smtp.rzone.de ([85.215.255.52]:32847 "EHLO mo4-p01-ob.smtp.rzone.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231946AbhFRH4Y (ORCPT ); Fri, 18 Jun 2021 03:56:24 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1624002848; s=strato-dkim-0002; d=gerhold.net; h=Message-Id:Date:Subject:Cc:To:From:Cc:Date:From:Subject:Sender; bh=yjHKQ8lMulbXx+wnwSOLruB/LKdAZkXQEDoNCCRjt0o=; b=Drh/vG8ejiCnZkjMWjt3ncXd2ZT20/rX0Q4tKNnOcCaEllhEXpDSBkbLGBmtSbclKn Bh7cOk2QxiyPiWsVdYbmJF/5cJyVGIKBKZBm8SUVIRpcTG6H/UUl1TL0m6FwQuOHTUvY GNoNb+NCVCQY75BzOdjUnlR8GL9TuzkzBfWNan4JN4bWvjWuWsJ+uiigziVXeoTrlUz8 Tr6io/iRZBaRzDKvutQdA3ua11N42I6gs+b7Z0BUzGula9IO2MvkUaImDH4lBljTuG3a 62seHldEkW0xRJGmter1RqBtuqm3AxC6PnyH6/BlDvN4tvUDZ0UZk7LmDkYzrRjzVtX6 LN1A== Authentication-Results: strato.com; dkim=none X-RZG-AUTH: ":P3gBZUipdd93FF5ZZvYFPugejmSTVR2nRPhVORvLd4SsytBXS7IYBkLahKxA626EOg==" X-RZG-CLASS-ID: mo00 Received: from droid.. by smtp.strato.de (RZmta 47.27.3 DYNA|AUTH) with ESMTPSA id 000885x5I7s64DB (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits)) (Client did not present a certificate); Fri, 18 Jun 2021 09:54:06 +0200 (CEST) From: Stephan Gerhold To: "David S. Miller" , Jakub Kicinski Cc: Loic Poulain , Bjorn Andersson , Aleksander Morgado , Sergey Ryazanov , Johannes Berg , Leon Romanovsky , M Chetan Kumar , linuxwwan@intel.com, Ohad Ben-Cohen , Mathieu Poirier , netdev@vger.kernel.org, linux-remoteproc@vger.kernel.org, linux-arm-msm@vger.kernel.org, phone-devel@vger.kernel.org, linux-kernel@vger.kernel.org, ~postmarketos/upstreaming@lists.sr.ht, Stephan Gerhold Subject: [PATCH net-next v2 0/3] net: wwan: Add RPMSG WWAN CTRL driver Date: Fri, 18 Jun 2021 09:52:40 +0200 Message-Id: <20210618075243.42046-1-stephan@gerhold.net> X-Mailer: git-send-email 2.32.0 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org This patch series adds a WWAN "control" driver for the remote processor messaging (rpmsg) subsystem. This subsystem allows communicating with an integrated modem DSP on many Qualcomm SoCs, e.g. MSM8916 or MSM8974. The driver is a fairly simple glue layer between WWAN and RPMSG and is mostly based on the existing mhi_wwan_ctrl.c and rpmsg_char.c. For more information, see commit message in PATCH 2/3. I already posted a RFC for this a while ago: https://lore.kernel.org/linux-arm-msm/YLfL9Q+4860uqS8f@gerhold.net/ and now I'm looking for some feedback for the actual changes. :) Changes in v2: Only in PATCH 3/3 - Fix EPOLLOUT being always set even if poll op is defined - Rename poll() op -> tx_poll() since it should be only used for TX v1: https://lore.kernel.org/netdev/20210615133229.213064-1-stephan@gerhold.net/ Stephan Gerhold (3): rpmsg: core: Add driver_data for rpmsg_device_id net: wwan: Add RPMSG WWAN CTRL driver net: wwan: Allow WWAN drivers to provide blocking tx and poll function MAINTAINERS | 7 ++ drivers/net/wwan/Kconfig | 18 +++ drivers/net/wwan/Makefile | 1 + drivers/net/wwan/iosm/iosm_ipc_port.c | 3 +- drivers/net/wwan/mhi_wwan_ctrl.c | 3 +- drivers/net/wwan/rpmsg_wwan_ctrl.c | 156 ++++++++++++++++++++++++++ drivers/net/wwan/wwan_core.c | 11 +- drivers/net/wwan/wwan_hwsim.c | 3 +- drivers/rpmsg/rpmsg_core.c | 4 +- include/linux/mod_devicetable.h | 1 + include/linux/wwan.h | 13 ++- 11 files changed, 208 insertions(+), 12 deletions(-) create mode 100644 drivers/net/wwan/rpmsg_wwan_ctrl.c