From patchwork Tue Sep 8 18:33:30 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: 11763845 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 0811E138E for ; Tue, 8 Sep 2020 18:34:19 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id D1F672080C for ; Tue, 8 Sep 2020 18:34:18 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="IcCMC4zx" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731461AbgIHSeQ (ORCPT ); Tue, 8 Sep 2020 14:34:16 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50266 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731641AbgIHSdT (ORCPT ); Tue, 8 Sep 2020 14:33:19 -0400 Received: from mail-wr1-x442.google.com (mail-wr1-x442.google.com [IPv6:2a00:1450:4864:20::442]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7AFA3C061796 for ; Tue, 8 Sep 2020 11:32:47 -0700 (PDT) Received: by mail-wr1-x442.google.com with SMTP id a17so241584wrn.6 for ; Tue, 08 Sep 2020 11:32:47 -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=Z6qrCJ1afOzM2JHrlRChudxsJ7Nezg4eE7nOnjz7F2c=; b=IcCMC4zxXnFlX7zX/e8uh5iM/2ZdRiqw7NXIeM/EZveQnoQhIUZeTfFN8/5d/I2NQ7 nxRPdTe0moDgnp7WlOQLtW5JDyUxH63dOAR5LWYBj0jRZFhx/x60e493rjhHaVGwpsja JLiZZTvdehBA9y4ymJmA4BGVwYM4riPNG1NkZb+vJmhO3jA7E2c2fxEIfyNalrPDfs7h rQLBpdNPx/Wa+ENKcd4SnDb7milsIuUrTW+XmVLE5ZMET6mrLwAzdcyQWmPFgR6khuMC 85vUUwYFHptjl6xj6DjU0gRAPBmDtWfiRMkGEIXhGZJOJz13E74iPVlCPfUDOCoB0qB5 WNMg== 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=Z6qrCJ1afOzM2JHrlRChudxsJ7Nezg4eE7nOnjz7F2c=; b=WhhTJTvKX9iqcxRpu8DAZmGT4+OqhDdGxBSvGMRmWG3lesHE/Pv2A35Gy6+nbHPtgO hqeXiD59BmPjsJXdJyIC2h507dmPoUElU9UcrIpTBd7Z5AGmczkJt2pn+/G3jRjKXsCC JX3tTxUXAFltN9XzE+AVVAEJq2S3KSZg5L2AsonDSp5+6xy6+EkpDdsPbMgThpiGblgJ WXA/ezULBS2kdi5hFHu/uQbLBVqKtg6rp7eVNBkOBS3curKLcERJPjM1r0PBtnEs0RLd DUn8/qd+VWe9Qov/QWmv7zXqCxTtkudsZUD7eEOErwU34nvsXW8rryr8q5Kz8i972pV9 y1jA== X-Gm-Message-State: AOAM530awMSPX1It6eNmlIZ9cTXl4JRbiAmzT+6nBdq6giaFaAZyU8OL 0BY+r/SPTlzjtmycSdaXTqS8Ng== X-Google-Smtp-Source: ABdhPJwTi6/vc++wYhsYEXQsAFJjREjeNXDnGv+vln06kF6HR1j4wIgGOcJtH+pNrh1w6p1Y0TxLig== X-Received: by 2002:a5d:51ce:: with SMTP id n14mr11160wrv.8.1599589966213; Tue, 08 Sep 2020 11:32:46 -0700 (PDT) Received: from localhost.localdomain ([176.61.57.127]) by smtp.gmail.com with ESMTPSA id f14sm380267wrv.72.2020.09.08.11.32.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Sep 2020 11:32:45 -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 v3 1/2] wcn36xx: Add VHT rates to wcn36xx_update_allowed_rates() Date: Tue, 8 Sep 2020 19:33:30 +0100 Message-Id: <20200908183331.2871016-2-bryan.odonoghue@linaro.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200908183331.2871016-1-bryan.odonoghue@linaro.org> References: <20200908183331.2871016-1-bryan.odonoghue@linaro.org> MIME-Version: 1.0 Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org This commit adds VHT rates to the wcn36xx_update_allowed_rates() routine. Thus allowing the driver to latch the declared rates and transmit them to the firmware in the same way as other 80211.n rates are. Signed-off-by: Bryan O'Donoghue --- drivers/net/wireless/ath/wcn36xx/main.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/net/wireless/ath/wcn36xx/main.c b/drivers/net/wireless/ath/wcn36xx/main.c index 2c2b6178c8cd..9c283c110e07 100644 --- a/drivers/net/wireless/ath/wcn36xx/main.c +++ b/drivers/net/wireless/ath/wcn36xx/main.c @@ -766,6 +766,14 @@ static void wcn36xx_update_allowed_rates(struct ieee80211_sta *sta, sta->ht_cap.mcs.rx_mask, sizeof(sta->ht_cap.mcs.rx_mask)); } + + if (sta->vht_cap.vht_supported) { + sta_priv->supported_rates.op_rate_mode = STA_11ac; + sta_priv->supported_rates.vht_rx_mcs_map = + sta->vht_cap.vht_mcs.rx_mcs_map; + sta_priv->supported_rates.vht_tx_mcs_map = + sta->vht_cap.vht_mcs.tx_mcs_map; + } } void wcn36xx_set_default_rates(struct wcn36xx_hal_supported_rates *rates) { From patchwork Tue Sep 8 18:33:31 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: 11763847 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 7D137138E for ; Tue, 8 Sep 2020 18:34:22 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 61C642080C for ; Tue, 8 Sep 2020 18:34:22 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="BX5h/5u+" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731315AbgIHSeS (ORCPT ); Tue, 8 Sep 2020 14:34:18 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50262 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731646AbgIHSdT (ORCPT ); Tue, 8 Sep 2020 14:33:19 -0400 Received: from mail-wm1-x343.google.com (mail-wm1-x343.google.com [IPv6:2a00:1450:4864:20::343]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 90FE7C061786 for ; Tue, 8 Sep 2020 11:32:48 -0700 (PDT) Received: by mail-wm1-x343.google.com with SMTP id w2so318071wmi.1 for ; Tue, 08 Sep 2020 11:32:48 -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=lRcXSsP0h8e9IS2VQuraEEtCBH2iNJGE784+etRBZqo=; b=BX5h/5u+qTOsYg0C36KXsWJoQcDs6erWyXWVry3V5ZbAJiZ+8rHHd/LDahMsh0Rev3 t3dQSR0UBKp4AfzvhKUCnjnzlc2CjUxt1O59x2Q2rFO2481Y7lm/J33tvDwOLmDQ4KVN hHTJeeN1pOenqNs+tiengnGW7n7eJbYkcIUFdSN8HFLnv5my8WfkmfDpZifoW8bmccm6 g4d9L/Uikhg3LtKcuMoZYv7apqGQycv5OnBoPKp+jIcKt53dNkP3afsIr/Fc9HWF9TqI 3QyKToG9RS73iGFoeKhKaCEs3bjsNCBSoC0qj7JwlRolNuNX855VdlWX/5bybXASPxQ+ 7K2g== 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=lRcXSsP0h8e9IS2VQuraEEtCBH2iNJGE784+etRBZqo=; b=WybzoKxYvdIpK6O1TyGAjDVEF7UkFuxbi5i+cPV9m71hLYjeT1V7dn63rPUUXe91CG qlynlHspG1x4M/geuRFdzgQ0ehDFnpd/O7zdjf37MCl7+xOb0mxwyqADPAhv11q08LnN x4EDnLtXnImeefgvHXPiADO7ZMUhFOEEB9/wvNmi5a8FDnI5ebl/gmlXLbCx97ttmWT+ +bDcybj4ok8q1rI4e5LHhAbyt5w1zkzkmQ7FbviDilwR0N3RST1DjgVFiSFfZiRRDB5h y9sjEwaB36ksB7362lDLFSOojyRXXDCeNEPMZHK/DrBkB5Rr4kbsyk2Bi4UjYlgynoqj u0Cg== X-Gm-Message-State: AOAM533dMuIeoRTyL1YJbreOZJBo1VMl9lMErwOqiuQcB/m0iFjU/cpo SXftvi+A+bg09g8C1STDxbxZJg== X-Google-Smtp-Source: ABdhPJzz3q8wiuKHQtdxKZSlsqj2HWk2dVb6Ly1ixlhVNLhtG4dc6tx4pYcdoIzzo96X1mnLC+LfcA== X-Received: by 2002:a7b:c40b:: with SMTP id k11mr391511wmi.135.1599589967227; Tue, 08 Sep 2020 11:32:47 -0700 (PDT) Received: from localhost.localdomain ([176.61.57.127]) by smtp.gmail.com with ESMTPSA id f14sm380267wrv.72.2020.09.08.11.32.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Sep 2020 11:32:46 -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 v3 2/2] wcn36xx: Advertise ieee802.11 VHT flags Date: Tue, 8 Sep 2020 19:33:31 +0100 Message-Id: <20200908183331.2871016-3-bryan.odonoghue@linaro.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200908183331.2871016-1-bryan.odonoghue@linaro.org> References: <20200908183331.2871016-1-bryan.odonoghue@linaro.org> MIME-Version: 1.0 Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org This patch adds ieee802.11 VHT flags for the wcn3680b. - RX_STBC1 - SU Beamformee - MU Beamformee - VHT80 SGI - Single spatial stream RX LDPC is declared as supported in the datasheet but not enabled at this time. After this patch is applied an AP should see the wcn3680 as an 802.11ac capable device. Signed-off-by: Bryan O'Donoghue --- drivers/net/wireless/ath/wcn36xx/main.c | 32 +++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/drivers/net/wireless/ath/wcn36xx/main.c b/drivers/net/wireless/ath/wcn36xx/main.c index 9c283c110e07..9e97513feeb5 100644 --- a/drivers/net/wireless/ath/wcn36xx/main.c +++ b/drivers/net/wireless/ath/wcn36xx/main.c @@ -1200,6 +1200,35 @@ static const struct ieee80211_ops wcn36xx_ops = { CFG80211_TESTMODE_CMD(wcn36xx_tm_cmd) }; +static void +wcn36xx_set_ieee80211_vht_caps(struct ieee80211_sta_vht_cap *vht_cap) +{ + vht_cap->vht_supported = true; + + vht_cap->cap = (IEEE80211_VHT_CAP_MAX_MPDU_LENGTH_3895 | + IEEE80211_VHT_CAP_SHORT_GI_80 | + IEEE80211_VHT_CAP_RXSTBC_1 | + IEEE80211_VHT_CAP_SU_BEAMFORMEE_CAPABLE | + IEEE80211_VHT_CAP_MU_BEAMFORMEE_CAPABLE | + 3 << IEEE80211_VHT_CAP_BEAMFORMEE_STS_SHIFT | + 7 << IEEE80211_VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_SHIFT); + + vht_cap->vht_mcs.rx_mcs_map = + cpu_to_le16(IEEE80211_VHT_MCS_SUPPORT_0_9 | + IEEE80211_VHT_MCS_NOT_SUPPORTED << 2 | + IEEE80211_VHT_MCS_NOT_SUPPORTED << 4 | + IEEE80211_VHT_MCS_NOT_SUPPORTED << 6 | + IEEE80211_VHT_MCS_NOT_SUPPORTED << 8 | + IEEE80211_VHT_MCS_NOT_SUPPORTED << 10 | + IEEE80211_VHT_MCS_NOT_SUPPORTED << 12 | + IEEE80211_VHT_MCS_NOT_SUPPORTED << 14); + + vht_cap->vht_mcs.rx_highest = cpu_to_le16(433); + vht_cap->vht_mcs.tx_highest = vht_cap->vht_mcs.rx_highest; + + vht_cap->vht_mcs.tx_mcs_map = vht_cap->vht_mcs.rx_mcs_map; +} + static int wcn36xx_init_ieee80211(struct wcn36xx *wcn) { static const u32 cipher_suites[] = { @@ -1228,6 +1257,9 @@ static int wcn36xx_init_ieee80211(struct wcn36xx *wcn) wcn->hw->wiphy->bands[NL80211_BAND_5GHZ] = &wcn_band_5ghz; } + if (wcn->rf_id == RF_IRIS_WCN3680) + wcn36xx_set_ieee80211_vht_caps(&wcn_band_5ghz.vht_cap); + wcn->hw->wiphy->max_scan_ssids = WCN36XX_MAX_SCAN_SSIDS; wcn->hw->wiphy->max_scan_ie_len = WCN36XX_MAX_SCAN_IE_LEN;