From patchwork Sat Oct 31 02:23:09 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bryan O'Donoghue X-Patchwork-Id: 11871069 X-Patchwork-Delegate: kvalo@adurom.com Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id E5A8661C for ; Sat, 31 Oct 2020 02:22:25 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id C1EB8206D5 for ; Sat, 31 Oct 2020 02:22:25 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="zTwXUj+G" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726209AbgJaCWX (ORCPT ); Fri, 30 Oct 2020 22:22:23 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60840 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725536AbgJaCWX (ORCPT ); Fri, 30 Oct 2020 22:22:23 -0400 Received: from mail-wm1-x341.google.com (mail-wm1-x341.google.com [IPv6:2a00:1450:4864:20::341]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B9EF0C0613D7 for ; Fri, 30 Oct 2020 19:22:21 -0700 (PDT) Received: by mail-wm1-x341.google.com with SMTP id h22so4514468wmb.0 for ; Fri, 30 Oct 2020 19:22:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=iv7B7K7D9VvHbxmcBfln7lw+K346+6hhS3Q0IcSwxLA=; b=zTwXUj+G2qv/fQqxFYuW5c2qUvkoBjMpU7dOnOaHhN3StBOfUHARx7l6Yc7E3GjkZR 4uvhV6okFZ5S/Dbrbs+UwS/kHHCELD23R6YtRuPSEDh+ovm2bN9ePC67/Wmy52mCaBNV BoarhzQhWYGhYBb9/bWrclkvka2KuMf/To0s5BlI6sb3l/SinLEhobYC0SE/Huz6dZXw xRzuRjLMnEz/5Rh6RIiq0f369VMBF0bXCyccGDMCcRpsAgHgnFrX3jXCyxdbli3Uhwwt lWvKldyrCD3tkRokMco65YV0s89Xeq0kiDbzZVuta0lRdoVS8ERoWJMdJGd4EUtq08JC CJdA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=iv7B7K7D9VvHbxmcBfln7lw+K346+6hhS3Q0IcSwxLA=; b=n78WScVARPqOWfkFR8mwGX+NKkGtMZwkLct83bo8KS7BUZ+JtdqlmZKY00/6HLlh/J fWf9MaXWZ1t/CEGQNT+Rtq07Xwj6b1GN8G2yKjQr79opWskIUY0TC4M0f4N3SjHzHkCH 8aOTo9VsD/M8mGXrfau6rk4IXUPo+vV/2yDGBW4ytb6/X2LnDeB1H4unE3OzxYXy2g0z SLvdAtPSEZIw6nq/ZyDJoVOacNns8z9vXtmjeprYWNWws7EQL7DrC8qVH/vj0tuH1d65 xLnIW1oP1Ub7y9vp+IElhLZGS50ak2+YcGngYOlDjyJBBc3KfMqy5kYSmAxf5yg6BqMZ HlPg== X-Gm-Message-State: AOAM530y1AJqhklPoP7rEKrCllcxtL2emrouq30BkCTQhzSNKcQty7jN RIP/5QtPVXsoUKw00AC5HRSi/SMpOy+lAQ== X-Google-Smtp-Source: ABdhPJxhfCa7OyIrcUOM43R8RxfteP6uk+3GBqtKm1I3MEid5WvSin7nL/lMo4HnzRvJiw0iWBSYIg== X-Received: by 2002:a7b:c384:: with SMTP id s4mr5898465wmj.77.1604110940521; Fri, 30 Oct 2020 19:22:20 -0700 (PDT) Received: from sagittarius-a.chello.ie (188-141-3-169.dynamic.upc.ie. [188.141.3.169]) by smtp.gmail.com with ESMTPSA id g4sm6663817wmh.13.2020.10.30.19.22.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 30 Oct 2020 19:22:19 -0700 (PDT) From: Bryan O'Donoghue To: kvalo@codeaurora.org, wcn36xx@lists.infradead.org, linux-wireless@vger.kernel.org Cc: bryan.odonoghue@linaro.org, shawn.guo@linaro.org, loic.poulain@linaro.org Subject: [PATCH 1/3] wcn36xx: Set LINK_FAIL_TX_CNT non zero on wcn3620/wcn3660 Date: Sat, 31 Oct 2020 02:23:09 +0000 Message-Id: <20201031022311.1677337-2-bryan.odonoghue@linaro.org> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201031022311.1677337-1-bryan.odonoghue@linaro.org> References: <20201031022311.1677337-1-bryan.odonoghue@linaro.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org The firmware parameter LINK_FAIL_TX_CNT maps to the prima configuration file parameter gLinkFailTxCnt and is described as: quote: " If within gLinkFailTimeout period(values is mentioned in msec) if FW doesn't receive acks for gLinkFailTxCnt number of packets, then link will be disconnected." The downstream description sets a minimum value of 1000 a maximum value of 60000 and a default value of 6000, however it appears that unless we actually set this value deliberately firmware defaults it to 0. Setting this value to non-zero results in the firmware doing link monitoring. In conjunction with ieee80211_hw_set(wcn->hw, CONNECTION_MONITOR); this change effects offload of link monitoring to the firmware. Tested with: 'CNSS-PR-2-0-1-2-c1-74-130449-3' wcn3620 'CNSS-PR-2-0-1-2-c1-00083' wcn3680 Signed-off-by: Bryan O'Donoghue --- drivers/net/wireless/ath/wcn36xx/smd.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/wireless/ath/wcn36xx/smd.c b/drivers/net/wireless/ath/wcn36xx/smd.c index 766400f7b61c..262978371c1f 100644 --- a/drivers/net/wireless/ath/wcn36xx/smd.c +++ b/drivers/net/wireless/ath/wcn36xx/smd.c @@ -78,6 +78,7 @@ static struct wcn36xx_cfg_val wcn36xx_cfg_vals[] = { WCN36XX_CFG_VAL(MAX_ASSOC_LIMIT, 10), WCN36XX_CFG_VAL(ENABLE_MCC_ADAPTIVE_SCHEDULER, 0), WCN36XX_CFG_VAL(ENABLE_DYNAMIC_RA_START_RATE, 133), /* MCS 5 */ + WCN36XX_CFG_VAL(LINK_FAIL_TX_CNT, 200), }; static struct wcn36xx_cfg_val wcn3680_cfg_vals[] = { From patchwork Sat Oct 31 02:23:10 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bryan O'Donoghue X-Patchwork-Id: 11871071 X-Patchwork-Delegate: kvalo@adurom.com Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 2231E157C for ; Sat, 31 Oct 2020 02:22:26 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 00E9A206D5 for ; Sat, 31 Oct 2020 02:22:25 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="dAfcW65M" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726220AbgJaCWY (ORCPT ); Fri, 30 Oct 2020 22:22:24 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60846 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725536AbgJaCWY (ORCPT ); Fri, 30 Oct 2020 22:22:24 -0400 Received: from mail-wr1-x444.google.com (mail-wr1-x444.google.com [IPv6:2a00:1450:4864:20::444]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AD44AC0613D5 for ; Fri, 30 Oct 2020 19:22:23 -0700 (PDT) Received: by mail-wr1-x444.google.com with SMTP id i16so2967547wrv.1 for ; Fri, 30 Oct 2020 19:22:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=AtYobGQeIsOA41x9xn4O9D84Sqas95KTsM7EDwW2NZ8=; b=dAfcW65M3JWCQ89qzDq35zvSwoCEf7TBBXpiI1U+E0xvze7LbWUsAynF2RlanhZx9r FMYZ7Rv97zBH3OywmDwZUtBWvKh120hB+icIr3RdjNOCBiTnlAaaydlUR2BTyiUo4rLT w+n5Vq5JTC8yUdBaMRxYluz61eenZmO61Dp6eHe1zUDd0UJUhajE90oglYZ1gEXf7ODN TnaJU1IvVOyoOr1/zXQYZZMZR8VnGFzJIsZD3xoT6np7h0Iq566aauq60vhPlP1x4z4u voAHot+nQv3mHANXgRwXxL65iEgl0R/Rm8sCCQ4WEBcVAdz2gKX32vQnxtP8Z773Izcp bxoQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=AtYobGQeIsOA41x9xn4O9D84Sqas95KTsM7EDwW2NZ8=; b=JrERhnNrHROWO8MfCoplVcxeyVTixQFbCD5M+sf8jniu+MylDPYtKGdAp5hkjtUNM5 6TzvOLmh2MCJsMZ/WUECOA50I1QJyl+AgRXd+s3jL9P6hZLjlaD8yTkoMswDoQNPNk7l CYnGmqI3P6kAgxdhjImOl/lAZt/uACuO0ib9G1VemxervGc2Bx/p9u4+RPWA5tyQyrFQ go1j6ko3ppWPxmUXr/BIst1x4FV4fqPY65lAwg8+qiDq7VROL6NP7JmaAscKj8/Ppo0f pNjthEaU4tPqWfn1C4KamvFZsKL1C90dZ8lhlszCT0CUBMcGQD6Q+Oa5OB7HICVeRZFU UP8g== X-Gm-Message-State: AOAM530Ruryi9ifgRWsi7gS6s1MVkBtyp08SB/0/OdT/wjNayihmhBVA vgk0Lf1exWvmio5wfODWFQpdarZu/3USYQ== X-Google-Smtp-Source: ABdhPJy12zo0S0DD5R7WceA9RVE9gTxaCV675hsNCwB0Rg5oQtpuj8pzUO5bRqmP5DW37NhImR2IHw== X-Received: by 2002:adf:dc4b:: with SMTP id m11mr6377266wrj.47.1604110941550; Fri, 30 Oct 2020 19:22:21 -0700 (PDT) Received: from sagittarius-a.chello.ie (188-141-3-169.dynamic.upc.ie. [188.141.3.169]) by smtp.gmail.com with ESMTPSA id g4sm6663817wmh.13.2020.10.30.19.22.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 30 Oct 2020 19:22:21 -0700 (PDT) From: Bryan O'Donoghue To: kvalo@codeaurora.org, wcn36xx@lists.infradead.org, linux-wireless@vger.kernel.org Cc: bryan.odonoghue@linaro.org, shawn.guo@linaro.org, loic.poulain@linaro.org Subject: [PATCH 2/3] wcn36xx: Enable firmware link monitoring Date: Sat, 31 Oct 2020 02:23:10 +0000 Message-Id: <20201031022311.1677337-3-bryan.odonoghue@linaro.org> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201031022311.1677337-1-bryan.odonoghue@linaro.org> References: <20201031022311.1677337-1-bryan.odonoghue@linaro.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org This patch switches on CONNECTION_MONITOR. Once done it is up to the firmware to send keep alive and to monitor the link state. Signed-off-by: Bryan O'Donoghue --- drivers/net/wireless/ath/wcn36xx/main.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/wireless/ath/wcn36xx/main.c b/drivers/net/wireless/ath/wcn36xx/main.c index 706728fba72d..e924cc4acde0 100644 --- a/drivers/net/wireless/ath/wcn36xx/main.c +++ b/drivers/net/wireless/ath/wcn36xx/main.c @@ -1246,6 +1246,7 @@ static int wcn36xx_init_ieee80211(struct wcn36xx *wcn) ieee80211_hw_set(wcn->hw, HAS_RATE_CONTROL); ieee80211_hw_set(wcn->hw, SINGLE_SCAN_ON_ALL_BANDS); ieee80211_hw_set(wcn->hw, REPORTS_TX_ACK_STATUS); + ieee80211_hw_set(wcn->hw, CONNECTION_MONITOR); wcn->hw->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION) | BIT(NL80211_IFTYPE_AP) | From patchwork Sat Oct 31 02:23:11 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bryan O'Donoghue X-Patchwork-Id: 11871073 X-Patchwork-Delegate: kvalo@adurom.com Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id DC8C061C for ; Sat, 31 Oct 2020 02:22:28 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id BADD6206D5 for ; Sat, 31 Oct 2020 02:22:28 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="znIKUbm6" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726227AbgJaCWY (ORCPT ); Fri, 30 Oct 2020 22:22:24 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60848 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726213AbgJaCWY (ORCPT ); Fri, 30 Oct 2020 22:22:24 -0400 Received: from mail-wm1-x344.google.com (mail-wm1-x344.google.com [IPv6:2a00:1450:4864:20::344]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E13E4C0613D7 for ; Fri, 30 Oct 2020 19:22:23 -0700 (PDT) Received: by mail-wm1-x344.google.com with SMTP id 13so4459376wmf.0 for ; Fri, 30 Oct 2020 19:22:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=y1pIiv6a1ZuCdegA7YtbhikD3yvgauY5vKag7uzOqxg=; b=znIKUbm6pcsh2kvWlrQPUiMw2DCdvdI2MuX112P9jBzTsR+WTiUVTnjxUVFHj8DHBP HZFwsMgpG8vKAzIG29IPz+DxG0eBklr6++ob5qjN9GfSqOpAV78DxYUyjBe1WgIYXdit ZD1ngwGN+ggSBHgWpwK1BdWizTT/seY2eii8bJCoJC5hKHf4F9po7eBF83sszNtqYova ziS2oSqf8g2IryAPqjvo4v81ze0ZQUWPEp1hLEsdOcPOxZA7fCjR2IwWRTQak+5/kcCP DigTyvR8RYPlpWeFcNCxTunO/sfFmPa5Sg+rBEc1QdeCFs1K8ZBEqm3m9YxA9hlaxvl6 J9Zg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=y1pIiv6a1ZuCdegA7YtbhikD3yvgauY5vKag7uzOqxg=; b=OmY1UiYbSEEF5DOVuJ3uF8kYRYkW8+OCecnpMwcztgVgrdQGYg3maVJN5QUNTGC06p DUFFRh2LzNQMMOfYHxfP0H9X+qXVG1JzUrmQFJlC3j4VHptDDFQZRhwceL33TG0xDQ/1 c7vGNuGXq4V0Ey5VsF9bPcYwTgRTLtIEg09fPzWb7msGsmRCrBSxjeTRyNIK69bAd46e mlD6ZSsBxS0PER5GXaRxib0JFgvqBjJjQmEY+BVq5klZkwiOrYniKqRGRODnObVbAhrG VqnkGTTWG1cl6yO2CFS6nj4DnzIsGW0tIkTh0qxsLTub1Lhw2fBjE6WNmQDNrkWB9fQV ujtA== X-Gm-Message-State: AOAM5315VTFvPz56VPjiktiTKbYj0b3KjazJoJDHSpijrzQ7OcUYugzg PobhguahVjvUYRrtWOlLA6J2PQ== X-Google-Smtp-Source: ABdhPJzWVZhecb+9uXQskjrV52RgL5iIS9/PzlQCcUf1l5OxMIhnnchvniZXP5YNa7BhJo1ItKPHNw== X-Received: by 2002:a1c:99d3:: with SMTP id b202mr5751760wme.0.1604110942525; Fri, 30 Oct 2020 19:22:22 -0700 (PDT) Received: from sagittarius-a.chello.ie (188-141-3-169.dynamic.upc.ie. [188.141.3.169]) by smtp.gmail.com with ESMTPSA id g4sm6663817wmh.13.2020.10.30.19.22.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 30 Oct 2020 19:22:22 -0700 (PDT) From: Bryan O'Donoghue To: kvalo@codeaurora.org, wcn36xx@lists.infradead.org, linux-wireless@vger.kernel.org Cc: bryan.odonoghue@linaro.org, shawn.guo@linaro.org, loic.poulain@linaro.org Subject: [PATCH 3/3] wcn36xx: Enable firmware offloaded keepalive Date: Sat, 31 Oct 2020 02:23:11 +0000 Message-Id: <20201031022311.1677337-4-bryan.odonoghue@linaro.org> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201031022311.1677337-1-bryan.odonoghue@linaro.org> References: <20201031022311.1677337-1-bryan.odonoghue@linaro.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org This patch calls wcn36xx_smd_keep_alive_req() on the STA patch immediately after associating with an AP. This will cause the firmware to send a NULL packet out to the AP every 30 seconds, thus offloading keep-alive processing from the SoC to the firmware. Signed-off-by: Bryan O'Donoghue --- drivers/net/wireless/ath/wcn36xx/main.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/wireless/ath/wcn36xx/main.c b/drivers/net/wireless/ath/wcn36xx/main.c index e924cc4acde0..b514a7b952df 100644 --- a/drivers/net/wireless/ath/wcn36xx/main.c +++ b/drivers/net/wireless/ath/wcn36xx/main.c @@ -910,6 +910,8 @@ static void wcn36xx_bss_info_changed(struct ieee80211_hw *hw, * place where AID is available. */ wcn36xx_smd_config_sta(wcn, vif, sta); + wcn36xx_smd_keep_alive_req(wcn, vif, + WCN36XX_HAL_KEEP_ALIVE_NULL_PKT); } else { wcn36xx_dbg(WCN36XX_DBG_MAC, "disassociated bss %pM vif %pM AID=%d\n",