Received: by 2002:a05:6a10:7420:0:0:0:0 with SMTP id hk32csp4446854pxb; Mon, 21 Feb 2022 21:54:41 -0800 (PST) X-Google-Smtp-Source: ABdhPJxw/kOdF9KXn+gkibDKw324PqaP5JqFQp1D1fqdlVrNZ3RIJfFXZxgblbDEf1qSSZYNwE77 X-Received: by 2002:a17:90a:1a45:b0:1bc:48d7:c368 with SMTP id 5-20020a17090a1a4500b001bc48d7c368mr2492322pjl.183.1645509281235; Mon, 21 Feb 2022 21:54:41 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1645509281; cv=none; d=google.com; s=arc-20160816; b=Ypwh78/IrVKUIiLTvs4SZxCvmUejD9TVtN23l0/Md4auRTs7t3HfQ24WUpuxVKGE57 iKhzg4XE37AEBnUi6orrh59mZThAW4uYKVw5RD9lClc8sK0C+2ebbTRhY9y0Nej+Z8rx etvcteSkok7KmszREMMt28tFcgZGmfs6uIsEjQhQW+/U4zynnqKBBKDd8tF42WqNBh8s vmedotwfsJJQAH6tleV/kUyUFw2RmKxmIyJkD8T9K47KRL8qzWLxAszmMnKqOPnKDTyH 152q1VmwtXghy119jIpnqQXcCyDLjn1muUHmdXVAOtWBv93d/s/17ZRVrMTGzA0rtpyw 5ILg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=KDDcEDbkhzVfk+TQu2VWBarB+wWAgtgnv4l9j8SAhzM=; b=kVAxW+MH3kC9tnkwHBzzZS8mm/YV2d0qwF4JUZ9LcRRUI9EAwGwSPrKA0kR2Dh/EJ/ 7HkdeJU4OAh+20s5a6ijdxTdtbTZTZ3YUpab7wLVk0DGTsC/SaKlpT3KdLkleZ8fntuL 8cAX5mDaKhqHBHNFI8xo3qseblL3kUBu3TqAudQU/4bIjmkyLk8kA7pW5u4ISr4YiuEe BIIC0RDUwEjnOfirOJJYWnpZBdpNho73zJ7rcjcgSKXgZBr4jJo/l1Oco4Du2b/+y8f/ FaGewsEc6Q380FEA166IllxrLUsZjLkupUA5vV8SPiBg3dKD+fPXh8aq9pc1KnfLRPsv CQfw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=T8aD3JVZ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id s1si3076308pls.41.2022.02.21.21.54.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 21 Feb 2022 21:54:41 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=T8aD3JVZ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 7391FA9A61; Mon, 21 Feb 2022 21:17:18 -0800 (PST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1379832AbiBUQEO (ORCPT + 99 others); Mon, 21 Feb 2022 11:04:14 -0500 Received: from mxb-00190b01.gslb.pphosted.com ([23.128.96.19]:46692 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1379824AbiBUQEM (ORCPT ); Mon, 21 Feb 2022 11:04:12 -0500 Received: from mail-pg1-x530.google.com (mail-pg1-x530.google.com [IPv6:2607:f8b0:4864:20::530]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B826B15A3E for ; Mon, 21 Feb 2022 08:03:48 -0800 (PST) Received: by mail-pg1-x530.google.com with SMTP id 195so14649630pgc.6 for ; Mon, 21 Feb 2022 08:03:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=KDDcEDbkhzVfk+TQu2VWBarB+wWAgtgnv4l9j8SAhzM=; b=T8aD3JVZIuLdwLNZyJjGWUui94FnQKIBVDw041q+vcCQEvLWWSKE8exC0dSOMu2Q/h lnb2TLGz/SCRcCVUA4bXGGGshyenePqnVVxnhwjynVMYYfDZ6DD4AVChA6lOgPU49Zk7 tlAYA5GG6MzAx4drXRF4y9gq9OOvtNyhTgPJ+aTRtz4lXOY7I+fmeEk4/FbiP6r7QKEi oxBb2TNfCmZBIwrxjSIl3G/ffti1o1ka82kdwPoQkMZT0ruggi8PwsK/7im0gb3x1f+P /t6kVVaTbNpIJbGvQ4jrQwJFxgJNnKpZgAR2aj32vyIlpVBzwvDVZmTu8/CF413C3Qdh 32kg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=KDDcEDbkhzVfk+TQu2VWBarB+wWAgtgnv4l9j8SAhzM=; b=wK6/6Ic3lpzcXdz2wh5Ff0x1hGxx2e3N0zCvehpSHC11NzLnuARH6gkDq0o7OBkgC0 oQTbVT6t3BLAHaNhBEn371UOIBpbLfkDfpaf9A/45SXye3QeY8Hm4gJibxycRMqKFqRU jUJFLUc5O9Uokauu5vVtvDJHa5jW5+o+xw686YLFcBc0E4VH+cg+eZjePHv3WUGJIuNa oIOaGLM6LQWMAb/gqcbptm5ScZa4pQIB4o50UIzQO9+xtfxoNrXsjgcIbQ2prtiDlPoA dVw5jHNvF9B6Kqohz5/zKYs1k3m1XmpqJWfC69+kUiSREBF0QBEVQCzXQU67UmD5q+eD v2Xg== X-Gm-Message-State: AOAM5316E8mZtWJSb5kOGp5d5d/wrM5H3Kis27WKNCDiAQ6iksRgrDWS mlUnK82TD/RWM6i4cmpfORqfGe0tlqq0yZ4sPjuZzg== X-Received: by 2002:a62:8f87:0:b0:4cc:3f6:ca52 with SMTP id n129-20020a628f87000000b004cc03f6ca52mr20608357pfd.79.1645459428172; Mon, 21 Feb 2022 08:03:48 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Loic Poulain Date: Mon, 21 Feb 2022 17:03:12 +0100 Message-ID: Subject: Re: [PATCH] net: wwan: To support SAHARA port for Qualcomm WWAN module. To: Yonglin Tan Cc: ryazanov.s.a@gmail.com, johannes@sipsolutions.net, davem@davemloft.net, kuba@kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, stable@vger.kernel.org Content-Type: text/plain; charset="UTF-8" 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 Hi Yonglin, On Mon, 21 Feb 2022 at 13:21, Yonglin Tan wrote: > > The SAHARA port for Qualcomm WWAN module is used to capture > memory dump. But now this feature has not been supported by > linux kernel code. Such that no SAHARA driver matched while > the device entered to DUMP mode. Once the device crashed due > to some reasons, device will enter into DUMP mode and running > in SBL stage. After that, the device change EE to SBL and the > host will detect the EE change event and re-enumerate SAHARA > port. > > Cc: stable@vger.kernel.org > Fixes: fa588eba632d ("net: Add Qcom WWAN control driver") > Signed-off-by: Yonglin Tan > Reviewed-by: Loic Poulain Sorry, but I've not yet offered that tag :-) The WWAN framework is a generic way to expose a WWAN device and its related control/data protocols, such as AT, QMI, MBIM, QCDM, etc... All the exposed protocols are supported by open-source user tools/daemons such as ModemManager, ofono, fwupd... SAHARA does not seem to be WWAN specific and is not something needed for controlling a modem, right? I know it would be easier to just add this channel to the WWAN ports, but we don't want to rawly expose something that could fit into an existing framework/subsystem, that's why I referred to the devcoredump framework, which 'seems' a better place for its integration. But I could be wrong, I don't know much about devcoredump and maybe SAHARA is doing much more than a firmware coredump... As a last resort, I think this kind of debug interface should go to debugfs. Regards, Loic > --- > drivers/net/wwan/mhi_wwan_ctrl.c | 1 + > drivers/net/wwan/wwan_core.c | 4 ++++ > include/linux/wwan.h | 1 + > 3 files changed, 6 insertions(+) > > diff --git a/drivers/net/wwan/mhi_wwan_ctrl.c b/drivers/net/wwan/mhi_wwan_ctrl.c > index e4d0f69..4cf420e 100644 > --- a/drivers/net/wwan/mhi_wwan_ctrl.c > +++ b/drivers/net/wwan/mhi_wwan_ctrl.c > @@ -262,6 +262,7 @@ static const struct mhi_device_id mhi_wwan_ctrl_match_table[] = { > { .chan = "QMI", .driver_data = WWAN_PORT_QMI }, > { .chan = "DIAG", .driver_data = WWAN_PORT_QCDM }, > { .chan = "FIREHOSE", .driver_data = WWAN_PORT_FIREHOSE }, > + { .chan = "SAHARA", .driver_data = WWAN_PORT_SAHARA }, > {}, > }; > MODULE_DEVICE_TABLE(mhi, mhi_wwan_ctrl_match_table); > diff --git a/drivers/net/wwan/wwan_core.c b/drivers/net/wwan/wwan_core.c > index b8c7843..2630677 100644 > --- a/drivers/net/wwan/wwan_core.c > +++ b/drivers/net/wwan/wwan_core.c > @@ -318,6 +318,10 @@ static const struct { > .name = "FIREHOSE", > .devsuf = "firehose", > }, > + [WWAN_PORT_SAHARA] = { > + .name = "SAHARA", > + .devsuf = "sahara", > + }, > }; > > static ssize_t type_show(struct device *dev, struct device_attribute *attr, > diff --git a/include/linux/wwan.h b/include/linux/wwan.h > index 5ce2acf..fc8ecaf 100644 > --- a/include/linux/wwan.h > +++ b/include/linux/wwan.h > @@ -26,6 +26,7 @@ enum wwan_port_type { > WWAN_PORT_QMI, > WWAN_PORT_QCDM, > WWAN_PORT_FIREHOSE, > + WWAN_PORT_SAHARA, > > /* Add new port types above this line */ > > -- > 2.7.4 >