Message ID | 20230201084131.v2.1.I69cf3d56c97098287fe3a70084ee515098390b70@changeid |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp389202wrn; Wed, 1 Feb 2023 08:56:51 -0800 (PST) X-Google-Smtp-Source: AK7set8dbNvVyBY9auVSur7ALHGid9JEiadwqcXUMMwy9hiJHW9ELc/EnGwshfdH5u2/BMgznDxT X-Received: by 2002:a17:907:8dcd:b0:88d:5fd1:3197 with SMTP id tg13-20020a1709078dcd00b0088d5fd13197mr3284535ejc.50.1675270610806; Wed, 01 Feb 2023 08:56:50 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1675270610; cv=none; d=google.com; s=arc-20160816; b=bEz36h6NEA3FFMwCiRaVNluaOt79pMvPtkWwOAsOs13pyd2PCNXOl9owKevTn/N9er UQ7cWA4l9yaRn7+OUSHQJie+Kk2bd0IICUZ+DUMc16oqxNwXWFt4T2vU7CsZC4n0DTwy lvmHP2kTM4IVwzlcR9inUrSpFiHA2adU7F9Q6TKxHsQ5eicHtBw5ruWhBYEvllwObA8P h2mC1rQB5h5zi95AWQgloa9SWL3M2OxAtMrYivYQqkT3Vylhhs+2xRwlrwbXHiSVwpr7 /Ld1XwClW5yJlDODfhJm/kVZ7H+5kEgRdp+e0aVFLNJ5srpaLlYw+76yWV0+Cu8H4yV+ XBdQ== 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=v42abFOaxIlmW4awj8kF2Nh0ZkUL+DGZkQ/FsMg5/Lo=; b=KMaEBZemewJ5EuEziWZL9AdWgJt8MC0gMOcZ7VSmEPcDAW1lEdSh5AHPg4rvzFXBPW WK4+BanPKATE8IjjjTVuy+ssGnvMPqNHXtkanV/hmT0v67Vbc6N6sIAJCtGYJwDbZLpa y+n2V0scFeDDI7GJWTzQzTOBbjbBaDzdu4mRsaKdrqaFE0P4CS6l3ks8m95WOYSpz3ZK 05obHo1gYlhwAVe3JLS6/FhvIWtZJrhvHRxzN5qW6kJi0nr8AXJrBrFsAwYmHQPKMw/w ZcOaYCVTs0BqcGL4SPdLj0Q7CR994P3hGwHL2bWY54CQiJJTEOKakbz5vY9WuHKDBhA2 AoLw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=VrF1mG7z; 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=chromium.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id vz11-20020a17090704cb00b00881cca91716si13970480ejb.704.2023.02.01.08.56.27; Wed, 01 Feb 2023 08:56:50 -0800 (PST) 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=@chromium.org header.s=google header.b=VrF1mG7z; 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=chromium.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230095AbjBAQy6 (ORCPT <rfc822;duw91626@gmail.com> + 99 others); Wed, 1 Feb 2023 11:54:58 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53912 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229955AbjBAQy4 (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Wed, 1 Feb 2023 11:54:56 -0500 Received: from mail-pf1-x431.google.com (mail-pf1-x431.google.com [IPv6:2607:f8b0:4864:20::431]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A22AD6C13E for <linux-kernel@vger.kernel.org>; Wed, 1 Feb 2023 08:54:54 -0800 (PST) Received: by mail-pf1-x431.google.com with SMTP id g9so13044386pfo.5 for <linux-kernel@vger.kernel.org>; Wed, 01 Feb 2023 08:54:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=v42abFOaxIlmW4awj8kF2Nh0ZkUL+DGZkQ/FsMg5/Lo=; b=VrF1mG7zFBzc+C7jPblzg3iCFvvDjx/+tr7aA+HecgsS4iWudNCaPX0qWgYt2dCN0e PUmM93Vz92MUceh+zk1SV2VAWdhH8oePYHYIgZI435fyTmnP9z3hGnrOY3I0PyzsNeWs tHMMajIgi3fbTPiqhxmZlJiypDtRj4yIt4mXo= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=v42abFOaxIlmW4awj8kF2Nh0ZkUL+DGZkQ/FsMg5/Lo=; b=0juDqkhx+mO+4SQMSkkYDYlKbrviwIAYIvMeswJx0J1SeOyCi4wp7YnvSqKQORZLvd 3rMQn127Beq91tkG1gA9ySYRnyRmLwhZHtzkFHZymuqF+xzyV/8g6sbQroKLmG0G7pb+ jLyB9ve3dInPI1mNnITLjC1AslNpJks6D7mOyRIIbdpdgaGWkDEeBUUFl3JbPnOLEuQf FPg3gQJPiJDIsS9BfAfqwxEmHFIPUgUYaI1ACSDPoEcpNqfYs7K2V5FzFWmzTaXsO3Yg aPDdegla1nWI+bXXgndKph0FQorxQjddVeOO5o8Qnxao/fqcwFZD9+VuAsQxYxqB7OXV 2puA== X-Gm-Message-State: AO0yUKUcUv7akx9KS9WR6t4/qYFTGDIy+kKS8sPlU3NuHE86O97DPg0A eeAedvnfV6ZfkwWk90ScWIs0cQ== X-Received: by 2002:a05:6a00:1d9a:b0:592:6313:20fb with SMTP id z26-20020a056a001d9a00b00592631320fbmr2864421pfw.30.1675270494150; Wed, 01 Feb 2023 08:54:54 -0800 (PST) Received: from tictac2.mtv.corp.google.com ([2620:15c:9d:2:ba26:efe8:5132:5fcf]) by smtp.gmail.com with ESMTPSA id b15-20020aa7870f000000b0058119caa82csm11605090pfo.205.2023.02.01.08.54.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 01 Feb 2023 08:54:53 -0800 (PST) From: Douglas Anderson <dianders@chromium.org> To: ath11k@lists.infradead.org, linux-wireless@vger.kernel.org Cc: Kalle Valo <kvalo@kernel.org>, junyuu@chromium.org, Youghandhar Chintala <quic_youghand@quicinc.com>, Jiri Slaby <jirislaby@kernel.org>, Luis Chamberlain <mcgrof@kernel.org>, Nick Kossifidis <mickflemm@gmail.com>, Abhinav Kumar <quic_abhinavk@quicinc.com>, Douglas Anderson <dianders@chromium.org>, "David S. Miller" <davem@davemloft.net>, Eric Dumazet <edumazet@google.com>, Jakub Kicinski <kuba@kernel.org>, Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>, Manikanta Pubbisetty <quic_mpubbise@quicinc.com>, Marc Zyngier <maz@kernel.org>, Paolo Abeni <pabeni@redhat.com>, Rob Herring <robh@kernel.org>, linux-kernel@vger.kernel.org, netdev@vger.kernel.org Subject: [PATCH v2 1/2] wifi: ath11k: Use platform_get_irq() to get the interrupt Date: Wed, 1 Feb 2023 08:54:42 -0800 Message-Id: <20230201084131.v2.1.I69cf3d56c97098287fe3a70084ee515098390b70@changeid> X-Mailer: git-send-email 2.39.1.456.gfc5497dd1b-goog MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=unavailable 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?1756648555683534761?= X-GMAIL-MSGID: =?utf-8?q?1756648555683534761?= |
Series |
[v2,1/2] wifi: ath11k: Use platform_get_irq() to get the interrupt
|
|
Commit Message
Doug Anderson
Feb. 1, 2023, 4:54 p.m. UTC
As of commit a1a2b7125e10 ("of/platform: Drop static setup of IRQ resource from DT core"), we need to use platform_get_irq() instead of platform_get_resource() to get our IRQs because platform_get_resource() simply won't get them anymore. This was already fixed in several other Atheros WiFi drivers, apparently in response to Zeal Robot reports. An example of another fix is commit 9503a1fc123d ("ath9k: Use platform_get_irq() to get the interrupt"). ath11k seems to have been missed in this effort, though. Without this change, WiFi wasn't coming up on my Qualcomm sc7280-based hardware. Specifically, "platform_get_resource(pdev, IORESOURCE_IRQ, i)" was failing even for i=0. Tested-on: WCN6750 hw1.0 AHB WLAN.MSL.1.0.1-00887-QCAMSLSWPLZ-1 Fixes: a1a2b7125e10 ("of/platform: Drop static setup of IRQ resource from DT core") Fixes: 00402f49d26f ("ath11k: Add support for WCN6750 device") Signed-off-by: Douglas Anderson <dianders@chromium.org> Tested-by: Jun Yu <junyuu@chromium.org> --- Changes in v2: - Update commit message and point to patch that broke us (Jonas) drivers/net/wireless/ath/ath11k/ahb.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
Comments
Hi Douglas, Thank you for the patch. > As of commit a1a2b7125e10 ("of/platform: Drop static setup of IRQ resource from DT core"), we need to > use platform_get_irq() instead of > platform_get_resource() to get our IRQs because > platform_get_resource() simply won't get them anymore. > > This was already fixed in several other Atheros WiFi drivers, apparently in response to Zeal Robot > reports. An example of another fix is commit 9503a1fc123d ("ath9k: Use platform_get_irq() to get the > interrupt"). ath11k seems to have been missed in this effort, though. > > Without this change, WiFi wasn't coming up on my Qualcomm sc7280-based hardware. Specifically, > "platform_get_resource(pdev, IORESOURCE_IRQ, i)" was failing even for i=0. > > Tested-on: WCN6750 hw1.0 AHB WLAN.MSL.1.0.1-00887-QCAMSLSWPLZ-1 > > Fixes: a1a2b7125e10 ("of/platform: Drop static setup of IRQ resource from DT core") > Fixes: 00402f49d26f ("ath11k: Add support for WCN6750 device") > Signed-off-by: Douglas Anderson <dianders@chromium.org> > Tested-by: Jun Yu <junyuu@chromium.org> > --- > > Changes in v2: > - Update commit message and point to patch that broke us (Jonas) > > drivers/net/wireless/ath/ath11k/ahb.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> Unrelated to this patch, I think you need to call dma_unamp_resource() in the error path? Cheers, Prabhakar > diff --git a/drivers/net/wireless/ath/ath11k/ahb.c b/drivers/net/wireless/ath/ath11k/ahb.c > index d34a4d6325b2..f70a119bb5c8 100644 > --- a/drivers/net/wireless/ath/ath11k/ahb.c > +++ b/drivers/net/wireless/ath/ath11k/ahb.c > @@ -859,11 +859,11 @@ static int ath11k_ahb_setup_msi_resources(struct ath11k_base *ab) > ab->pci.msi.ep_base_data = int_prop + 32; > > for (i = 0; i < ab->pci.msi.config->total_vectors; i++) { > - res = platform_get_resource(pdev, IORESOURCE_IRQ, i); > - if (!res) > - return -ENODEV; > + ret = platform_get_irq(pdev, i); > + if (ret < 0) > + return ret; > > - ab->pci.msi.irqs[i] = res->start; > + ab->pci.msi.irqs[i] = ret; > } > > set_bit(ATH11K_FLAG_MULTI_MSI_VECTORS, &ab->dev_flags); > -- > 2.39.1.456.gfc5497dd1b-goog
Douglas Anderson <dianders@chromium.org> wrote: > As of commit a1a2b7125e10 ("of/platform: Drop static setup of IRQ > resource from DT core"), we need to use platform_get_irq() instead of > platform_get_resource() to get our IRQs because > platform_get_resource() simply won't get them anymore. > > This was already fixed in several other Atheros WiFi drivers, > apparently in response to Zeal Robot reports. An example of another > fix is commit 9503a1fc123d ("ath9k: Use platform_get_irq() to get the > interrupt"). ath11k seems to have been missed in this effort, though. > > Without this change, WiFi wasn't coming up on my Qualcomm sc7280-based > hardware. Specifically, "platform_get_resource(pdev, IORESOURCE_IRQ, > i)" was failing even for i=0. > > Tested-on: WCN6750 hw1.0 AHB WLAN.MSL.1.0.1-00887-QCAMSLSWPLZ-1 > > Fixes: a1a2b7125e10 ("of/platform: Drop static setup of IRQ resource from DT core") > Fixes: 00402f49d26f ("ath11k: Add support for WCN6750 device") > Signed-off-by: Douglas Anderson <dianders@chromium.org> > Tested-by: Jun Yu <junyuu@chromium.org> > Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> > Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com> 2 patches applied to ath-next branch of ath.git, thanks. f117276638b7 wifi: ath11k: Use platform_get_irq() to get the interrupt 95c95251d054 wifi: ath5k: Use platform_get_irq() to get the interrupt
diff --git a/drivers/net/wireless/ath/ath11k/ahb.c b/drivers/net/wireless/ath/ath11k/ahb.c index d34a4d6325b2..f70a119bb5c8 100644 --- a/drivers/net/wireless/ath/ath11k/ahb.c +++ b/drivers/net/wireless/ath/ath11k/ahb.c @@ -859,11 +859,11 @@ static int ath11k_ahb_setup_msi_resources(struct ath11k_base *ab) ab->pci.msi.ep_base_data = int_prop + 32; for (i = 0; i < ab->pci.msi.config->total_vectors; i++) { - res = platform_get_resource(pdev, IORESOURCE_IRQ, i); - if (!res) - return -ENODEV; + ret = platform_get_irq(pdev, i); + if (ret < 0) + return ret; - ab->pci.msi.irqs[i] = res->start; + ab->pci.msi.irqs[i] = ret; } set_bit(ATH11K_FLAG_MULTI_MSI_VECTORS, &ab->dev_flags);