wifi: ath12k: add 320 MHz bandwidth enums
authorMuna Sinada <quic_msinada@quicinc.com>
Thu, 30 Nov 2023 17:09:51 +0000 (19:09 +0200)
committerKalle Valo <quic_kvalo@quicinc.com>
Fri, 1 Dec 2023 16:04:05 +0000 (18:04 +0200)
Add 320 MHz bandwidth as a new bandwidth enum for ATH12k driver. This
is extending existing bandwidth related enums to include 320 MHz. This
is a precursor to supporting 320 MHz in the future.

Sanity test performed to confirm that there was no impact in existing
bandwidths.

Additionally update QuIC copyright to include 2023 in hal_rx.h.

Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.1.1-00125-QCAHKSWPL_SILICONZ-1

Signed-off-by: Muna Sinada <quic_msinada@quicinc.com>
Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Link: https://lore.kernel.org/r/20231116221839.1303170-1-quic_msinada@quicinc.com
drivers/net/wireless/ath/ath12k/dp_mon.c
drivers/net/wireless/ath/ath12k/dp_rx.c
drivers/net/wireless/ath/ath12k/hal_rx.h
drivers/net/wireless/ath/ath12k/mac.c
drivers/net/wireless/ath/ath12k/mac.h
drivers/net/wireless/ath/ath12k/wmi.h

index 98d7c8e2c0eb85eb3e3b211df250b92b2b50322a..be4b39f5fa800100b483dd24760457339583b8ee 100644 (file)
@@ -1091,7 +1091,7 @@ static void ath12k_dp_mon_rx_deliver_msdu(struct ath12k *ar, struct napi_struct
        spin_unlock_bh(&ar->ab->base_lock);
 
        ath12k_dbg(ar->ab, ATH12K_DBG_DATA,
-                  "rx skb %pK len %u peer %pM %u %s %s%s%s%s%s%s%s %srate_idx %u vht_nss %u freq %u band %u flag 0x%x fcs-err %i mic-err %i amsdu-more %i\n",
+                  "rx skb %pK len %u peer %pM %u %s %s%s%s%s%s%s%s%s %srate_idx %u vht_nss %u freq %u band %u flag 0x%x fcs-err %i mic-err %i amsdu-more %i\n",
                   msdu,
                   msdu->len,
                   peer ? peer->addr : NULL,
@@ -1104,6 +1104,7 @@ static void ath12k_dp_mon_rx_deliver_msdu(struct ath12k *ar, struct napi_struct
                   (status->bw == RATE_INFO_BW_40) ? "40" : "",
                   (status->bw == RATE_INFO_BW_80) ? "80" : "",
                   (status->bw == RATE_INFO_BW_160) ? "160" : "",
+                  (status->bw == RATE_INFO_BW_320) ? "320" : "",
                   status->enc_flags & RX_ENC_FLAG_SHORT_GI ? "sgi " : "",
                   status->rate_idx,
                   status->nss,
index fb02238798d797ca789a11fbd0e4ee45f0b11dce..1ee83f7659293e80f5a2df523f2a6d3db999c4ea 100644 (file)
@@ -2417,7 +2417,7 @@ static void ath12k_dp_rx_deliver_msdu(struct ath12k *ar, struct napi_struct *nap
        spin_unlock_bh(&ab->base_lock);
 
        ath12k_dbg(ab, ATH12K_DBG_DATA,
-                  "rx skb %pK len %u peer %pM %d %s sn %u %s%s%s%s%s%s%s%s rate_idx %u vht_nss %u freq %u band %u flag 0x%x fcs-err %i mic-err %i amsdu-more %i\n",
+                  "rx skb %pK len %u peer %pM %d %s sn %u %s%s%s%s%s%s%s%s%s rate_idx %u vht_nss %u freq %u band %u flag 0x%x fcs-err %i mic-err %i amsdu-more %i\n",
                   msdu,
                   msdu->len,
                   peer ? peer->addr : NULL,
@@ -2431,6 +2431,7 @@ static void ath12k_dp_rx_deliver_msdu(struct ath12k *ar, struct napi_struct *nap
                   (status->bw == RATE_INFO_BW_40) ? "40" : "",
                   (status->bw == RATE_INFO_BW_80) ? "80" : "",
                   (status->bw == RATE_INFO_BW_160) ? "160" : "",
+                  (status->bw == RATE_INFO_BW_320) ? "320" : "",
                   status->enc_flags & RX_ENC_FLAG_SHORT_GI ? "sgi " : "",
                   status->rate_idx,
                   status->nss,
index fcfb6c819047366063cbf4b7f746b755144eb477..095216eabc01dc1531d43cfb73967e17a6cbd770 100644 (file)
@@ -1,7 +1,7 @@
 /* SPDX-License-Identifier: BSD-3-Clause-Clear */
 /*
  * Copyright (c) 2018-2021 The Linux Foundation. All rights reserved.
- * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
+ * Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights reserved.
  */
 
 #ifndef ATH12K_HAL_RX_H
@@ -61,6 +61,7 @@ enum hal_rx_bw {
        HAL_RX_BW_40MHZ,
        HAL_RX_BW_80MHZ,
        HAL_RX_BW_160MHZ,
+       HAL_RX_BW_320MHZ,
        HAL_RX_BW_MAX,
 };
 
index a13506c177f6b5040267b5a1daf96de3b1b6f6ae..b0d594d2fc90123a4b37b1339b322a6193e66e1e 100644 (file)
@@ -343,6 +343,9 @@ ath12k_mac_bw_to_mac80211_bw(enum ath12k_supported_bw bw)
        case ATH12K_BW_160:
                ret = RATE_INFO_BW_160;
                break;
+       case ATH12K_BW_320:
+               ret = RATE_INFO_BW_320;
+               break;
        }
 
        return ret;
@@ -359,6 +362,8 @@ enum ath12k_supported_bw ath12k_mac_mac80211_bw_to_ath12k_bw(enum rate_info_bw b
                return ATH12K_BW_80;
        case RATE_INFO_BW_160:
                return ATH12K_BW_160;
+       case RATE_INFO_BW_320:
+               return ATH12K_BW_320;
        default:
                return ATH12K_BW_20;
        }
@@ -3726,6 +3731,9 @@ static u32 ath12k_mac_ieee80211_sta_bw_to_wmi(struct ath12k *ar,
        case IEEE80211_STA_RX_BW_160:
                bw = WMI_PEER_CHWIDTH_160MHZ;
                break;
+       case IEEE80211_STA_RX_BW_320:
+               bw = WMI_PEER_CHWIDTH_320MHZ;
+               break;
        default:
                ath12k_warn(ar->ab, "Invalid bandwidth %d in rc update for %pM\n",
                            sta->deflink.bandwidth, sta->addr);
index 7d71ae1aba45e2e18eda2e5bfdc32231db8614ff..7c63bb628adc1b664bb3a2df18d307b68a129c73 100644 (file)
@@ -43,6 +43,7 @@ enum ath12k_supported_bw {
        ATH12K_BW_40    = 1,
        ATH12K_BW_80    = 2,
        ATH12K_BW_160   = 3,
+       ATH12K_BW_320   = 4,
 };
 
 extern const struct htt_rx_ring_tlv_filter ath12k_mac_mon_status_filter_default;
index 811aeea34e34fd322d53e6c693c20f17258949b1..06e5b9b4049b0bde15c39537f8499bd5d2b63b90 100644 (file)
@@ -2222,6 +2222,7 @@ enum wmi_peer_chwidth {
        WMI_PEER_CHWIDTH_40MHZ = 1,
        WMI_PEER_CHWIDTH_80MHZ = 2,
        WMI_PEER_CHWIDTH_160MHZ = 3,
+       WMI_PEER_CHWIDTH_320MHZ = 4,
 };
 
 enum wmi_beacon_gen_mode {