Message ID | 20221031083429.18971-1-johan+linaro@kernel.org |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp2186643wru; Mon, 31 Oct 2022 01:40:34 -0700 (PDT) X-Google-Smtp-Source: AMsMyM4BA7Ckj54v3OkEHgyWVQsCwejr5iGYegozul/ebxW0Qp6XBf2Uv3mySH97knOJQXANJjVy X-Received: by 2002:a05:6a00:1da6:b0:56c:318a:f8ab with SMTP id z38-20020a056a001da600b0056c318af8abmr13283390pfw.82.1667205634703; Mon, 31 Oct 2022 01:40:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1667205634; cv=none; d=google.com; s=arc-20160816; b=WhONaL3ziQv0E3qZ3+kQBZWztvjSXJPVbx209UIL1FP0g9a8VvLt50iGc5SBIKLuSZ EXI50l2n4ubjUdMi71wmAmiA2hs9Nv7deS795qjVOPAWFhniVB5+vi5f4mmVGP4y6/ID NfabxJMGSzvundE0OEcVb7xZOGEPXHahuQIU/tBYRx3eEj1NfRRSMeXtZdBzMAGOE7Qw EWcNoFHyU0mZsiX2mnQS3+lp9fkq9yiTzODWNMRFxRyyGpY25h/reFglaq0zDGQ79CsG PGfERipTTwDSKxlBbjTiXBusZiHuMeC06qnnGGrAJ0yno7dHAc49jTpBpsj5YOfVKXgT GRww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=bysA7zfIZUQU9mDRqn3tqwuzFiZm6GZ12ZezjkfDUig=; b=HKLKcL84DDw4IpW3C+gyjUkLVlRxxwGOHRAXD/DbsxadWOHrizVN5o75NjWf84oPpn M8bS5EyP6gCfdnMMqptSTDDWjcyCm6T2Ty1gX1YvE16fduGTJQ7uKxFBPlRffGDvlEiP zyb0Wg8NMfdnfzvTpAsgyoMl9QuLve4cFox7MGxCBY3HIcmNrMjvE9Fl2A21T+9UOEka 0KnpSFKCuU3QSAlLkY6Zv7YWjeTzToFS5qYm4P0NSBepr/AWPrTkSY+Qa5GMifWtbqfX stKxVwdBCbyNfYedp/dD6B8WJELqTU4MhRjUvDXSSFye+H5VAN4sn1LxOpRCJtRQshaZ m+nQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=XI6nb058; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id n7-20020a170903110700b00186b59eba21si9825142plh.574.2022.10.31.01.40.22; Mon, 31 Oct 2022 01:40:34 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=XI6nb058; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229881AbiJaIfH (ORCPT <rfc822;kartikey406@gmail.com> + 99 others); Mon, 31 Oct 2022 04:35:07 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58566 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229880AbiJaIfE (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Mon, 31 Oct 2022 04:35:04 -0400 Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4B80F60DB; Mon, 31 Oct 2022 01:35:03 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 0B95DB8118A; Mon, 31 Oct 2022 08:35:02 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id AFCA2C433D6; Mon, 31 Oct 2022 08:35:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1667205300; bh=ASH/N1PVIAa5px2h9gfzwh2e654dPXGg/S3FbL5wbv4=; h=From:To:Cc:Subject:Date:From; b=XI6nb058S4gn/MfB1GMCiXnCkhiurD4TA1q6ITQAL3PS2bd8X6l2V7RUBQ+TntPzN MS9intDVVcO9DcbYqIlUM8zdBn0D2tDgyzfvVtzYIQUUlIEMkxg9qug3fRwxcOEdds Qi2qJx2aMrMVMDLNyC14FZJtree3RUvhiOyl9jk594kjORjMoVM78VG3+iZ0fTqhZM vJVUT5wyaKh2eHAIvPVN3kjCAuxL4OnDAgpFp7LaolO8NGq7aEqmQhgAaMPzhAyktZ nmwXWf8i37fJ5JpkoSNwc4VCkYRLpsZB98hs4SmEjpSANNifXqNf1s2sh6bZAAgTn7 iSUIRT92PdtSQ== Received: from johan by xi.lan with local (Exim 4.94.2) (envelope-from <johan+linaro@kernel.org>) id 1opQFq-0004wG-G3; Mon, 31 Oct 2022 09:34:46 +0100 From: Johan Hovold <johan+linaro@kernel.org> To: Manivannan Sadhasivam <mani@kernel.org> Cc: Hemant Kumar <quic_hemantk@quicinc.com>, mhi@lists.linux.dev, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, Johan Hovold <johan+linaro@kernel.org> Subject: [PATCH] mhi: pci_generic: add support for sc8280xp-crd SDX55 variant Date: Mon, 31 Oct 2022 09:34:29 +0100 Message-Id: <20221031083429.18971-1-johan+linaro@kernel.org> X-Mailer: git-send-email 2.37.3 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-8.2 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS autolearn=ham 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: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1748191815754977054?= X-GMAIL-MSGID: =?utf-8?q?1748191815754977054?= |
Series |
mhi: pci_generic: add support for sc8280xp-crd SDX55 variant
|
|
Commit Message
Johan Hovold
Oct. 31, 2022, 8:34 a.m. UTC
The SC8280XP Compute Reference Design (CRD) has an on-PCB SDX55 modem
which uses MBIM.
The exact channel configuration is not known but the Foxconn SDX55
configuration allows the modem to be used so reuse that one for now.
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
---
drivers/bus/mhi/host/pci_generic.c | 3 +++
1 file changed, 3 insertions(+)
Comments
On Mon, Oct 31, 2022 at 09:34:29AM +0100, Johan Hovold wrote: > The SC8280XP Compute Reference Design (CRD) has an on-PCB SDX55 modem > which uses MBIM. > > The exact channel configuration is not known but the Foxconn SDX55 > configuration allows the modem to be used so reuse that one for now. > > Signed-off-by: Johan Hovold <johan+linaro@kernel.org> > --- > drivers/bus/mhi/host/pci_generic.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/bus/mhi/host/pci_generic.c b/drivers/bus/mhi/host/pci_generic.c > index caa4ce28cf9e..f9f4345d472d 100644 > --- a/drivers/bus/mhi/host/pci_generic.c > +++ b/drivers/bus/mhi/host/pci_generic.c > @@ -542,6 +542,9 @@ static const struct mhi_pci_dev_info mhi_telit_fn990_info = { > static const struct pci_device_id mhi_pci_id_table[] = { > { PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x0304), > .driver_data = (kernel_ulong_t) &mhi_qcom_sdx24_info }, > + /* SC8280XP-CRD (sdx55) */ Platform device name is not needed. > + { PCI_DEVICE_SUB(PCI_VENDOR_ID_QCOM, 0x0306, PCI_VENDOR_ID_QCOM, 0x010c), Sub ID looks wierd. Did you test with mhi_qcom_sdx55_info? If it didn't work, what was the issue? Thanks, Mani > + .driver_data = (kernel_ulong_t) &mhi_foxconn_sdx55_info }, > /* EM919x (sdx55), use the same vid:pid as qcom-sdx55m */ > { PCI_DEVICE_SUB(PCI_VENDOR_ID_QCOM, 0x0306, 0x18d7, 0x0200), > .driver_data = (kernel_ulong_t) &mhi_sierra_em919x_info }, > -- > 2.37.3 > >
On Tue, Nov 01, 2022 at 05:12:58PM +0530, Manivannan Sadhasivam wrote: > On Mon, Oct 31, 2022 at 09:34:29AM +0100, Johan Hovold wrote: > > The SC8280XP Compute Reference Design (CRD) has an on-PCB SDX55 modem > > which uses MBIM. > > > > The exact channel configuration is not known but the Foxconn SDX55 > > configuration allows the modem to be used so reuse that one for now. > > > > Signed-off-by: Johan Hovold <johan+linaro@kernel.org> > > --- > > drivers/bus/mhi/host/pci_generic.c | 3 +++ > > 1 file changed, 3 insertions(+) > > > > diff --git a/drivers/bus/mhi/host/pci_generic.c b/drivers/bus/mhi/host/pci_generic.c > > index caa4ce28cf9e..f9f4345d472d 100644 > > --- a/drivers/bus/mhi/host/pci_generic.c > > +++ b/drivers/bus/mhi/host/pci_generic.c > > @@ -542,6 +542,9 @@ static const struct mhi_pci_dev_info mhi_telit_fn990_info = { > > static const struct pci_device_id mhi_pci_id_table[] = { > > { PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x0304), > > .driver_data = (kernel_ulong_t) &mhi_qcom_sdx24_info }, > > + /* SC8280XP-CRD (sdx55) */ > > Platform device name is not needed. Ok, only added it because the other entries had a description. > > + { PCI_DEVICE_SUB(PCI_VENDOR_ID_QCOM, 0x0306, PCI_VENDOR_ID_QCOM, 0x010c), > > Sub ID looks wierd. Did you test with mhi_qcom_sdx55_info? If it didn't > work, what was the issue? I obviously added the new entry because the default match did not work. I haven't had time to look at this since before the summer, but based on my notes and a quick test now it seems that the QMI channel is not supported and ModemManager takes forever to enumerate with a bunch of failed transactions every second: ModemManager[469]: [/dev/wwan0qmi0] Checking version info (45 retries)... ... ModemManager[469]: transaction 0x2 aborted, but message is not abortable ... ModemManager[469]: transaction 0x2e aborted, but message is not abortable ... ModemManager[469]: <warn> [plugin/generic] could not grab port wwan0qmi0: Cannot add port 'wwan/wwan0qmi0', unhandled port type According to my notes I could connect to the provider after the (~45 s) timeout, but no data was coming through with the default config which I attributed to the differences in the data channel configuration (i.e. "IP_HW0" and "IP_HW0_MBIM" are handled by different drivers). > > + .driver_data = (kernel_ulong_t) &mhi_foxconn_sdx55_info }, > > /* EM919x (sdx55), use the same vid:pid as qcom-sdx55m */ > > { PCI_DEVICE_SUB(PCI_VENDOR_ID_QCOM, 0x0306, 0x18d7, 0x0200), > > .driver_data = (kernel_ulong_t) &mhi_sierra_em919x_info }, > > -- > > 2.37.3 Johan
On Wed, Nov 02, 2022 at 02:00:47PM +0100, Johan Hovold wrote: > On Tue, Nov 01, 2022 at 05:12:58PM +0530, Manivannan Sadhasivam wrote: > > On Mon, Oct 31, 2022 at 09:34:29AM +0100, Johan Hovold wrote: > > > The SC8280XP Compute Reference Design (CRD) has an on-PCB SDX55 modem > > > which uses MBIM. > > > > > > The exact channel configuration is not known but the Foxconn SDX55 > > > configuration allows the modem to be used so reuse that one for now. > > > > > > Signed-off-by: Johan Hovold <johan+linaro@kernel.org> > > > --- > > > drivers/bus/mhi/host/pci_generic.c | 3 +++ > > > 1 file changed, 3 insertions(+) > > > > > > diff --git a/drivers/bus/mhi/host/pci_generic.c b/drivers/bus/mhi/host/pci_generic.c > > > index caa4ce28cf9e..f9f4345d472d 100644 > > > --- a/drivers/bus/mhi/host/pci_generic.c > > > +++ b/drivers/bus/mhi/host/pci_generic.c > > > @@ -542,6 +542,9 @@ static const struct mhi_pci_dev_info mhi_telit_fn990_info = { > > > static const struct pci_device_id mhi_pci_id_table[] = { > > > { PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x0304), > > > .driver_data = (kernel_ulong_t) &mhi_qcom_sdx24_info }, > > > + /* SC8280XP-CRD (sdx55) */ > > > > Platform device name is not needed. > > Ok, only added it because the other entries had a description. > Those descriptions are for the modems itself, like Telit FN980m. But SC8280XP-CRD is the platform that makes use of *some* sdx55 based modem. So it is not required. > > > + { PCI_DEVICE_SUB(PCI_VENDOR_ID_QCOM, 0x0306, PCI_VENDOR_ID_QCOM, 0x010c), > > > > Sub ID looks wierd. Did you test with mhi_qcom_sdx55_info? If it didn't > > work, what was the issue? > > I obviously added the new entry because the default match did not work. > > I haven't had time to look at this since before the summer, but based on > my notes and a quick test now it seems that the QMI channel is not > supported and ModemManager takes forever to enumerate with a bunch of > failed transactions every second: > > ModemManager[469]: [/dev/wwan0qmi0] Checking version info (45 retries)... > ... > ModemManager[469]: transaction 0x2 aborted, but message is not abortable > ... > ModemManager[469]: transaction 0x2e aborted, but message is not abortable > ... > ModemManager[469]: <warn> [plugin/generic] could not grab port wwan0qmi0: Cannot add port 'wwan/wwan0qmi0', unhandled port type > > According to my notes I could connect to the provider after the (~45 s) > timeout, but no data was coming through with the default config which I > attributed to the differences in the data channel configuration (i.e. > "IP_HW0" and "IP_HW0_MBIM" are handled by different drivers). > Okay, this makes it clear. Thanks, Mani > > > + .driver_data = (kernel_ulong_t) &mhi_foxconn_sdx55_info }, > > > /* EM919x (sdx55), use the same vid:pid as qcom-sdx55m */ > > > { PCI_DEVICE_SUB(PCI_VENDOR_ID_QCOM, 0x0306, 0x18d7, 0x0200), > > > .driver_data = (kernel_ulong_t) &mhi_sierra_em919x_info }, > > > -- > > > 2.37.3 > > Johan >
diff --git a/drivers/bus/mhi/host/pci_generic.c b/drivers/bus/mhi/host/pci_generic.c index caa4ce28cf9e..f9f4345d472d 100644 --- a/drivers/bus/mhi/host/pci_generic.c +++ b/drivers/bus/mhi/host/pci_generic.c @@ -542,6 +542,9 @@ static const struct mhi_pci_dev_info mhi_telit_fn990_info = { static const struct pci_device_id mhi_pci_id_table[] = { { PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x0304), .driver_data = (kernel_ulong_t) &mhi_qcom_sdx24_info }, + /* SC8280XP-CRD (sdx55) */ + { PCI_DEVICE_SUB(PCI_VENDOR_ID_QCOM, 0x0306, PCI_VENDOR_ID_QCOM, 0x010c), + .driver_data = (kernel_ulong_t) &mhi_foxconn_sdx55_info }, /* EM919x (sdx55), use the same vid:pid as qcom-sdx55m */ { PCI_DEVICE_SUB(PCI_VENDOR_ID_QCOM, 0x0306, 0x18d7, 0x0200), .driver_data = (kernel_ulong_t) &mhi_sierra_em919x_info },