On 7/24/2023 3:16 AM, Wen Gong wrote:
On 6/3/2023 7:58 AM, Aloka Dixit wrote:
...
+ default:
+ if (arg->peer_phymode == MODE_11BE_EHT20) {
+ const struct ieee80211_eht_mcs_nss_supp_20mhz_only *bw_20 =
+ &eht_cap->eht_mcs_nss_supp.only_20mhz;
When ath12k used as station mode, it entered here as well as AP mode.
But remote is AP device for station mode, then remote AP device do not
have the only_20mhz data(EHT-MCS Map (20 MHz-Only Non-AP STA)).
What issue are you seeing? Please elaborate.
The default case will be entered for both AP and non-AP STA modes for
all bandwidths.
If the device is a 20-MHz-only device, it will skip 320, 160 and
directly enter the default case where 'if' condition will be true.
If the device is not a 20-MHZ-only device then it will enter the 'else'
condition after processing 320 and 160 as applicable.
Also 20 MHz should be same for 5 GHz/6 GHz(MODE_11BE_EHT20) and 2.4
GHz(MODE_11BE_EHT20_2G), right?
Good point, I will add a check for MODE_11BE_EHT20_2G as well here.
+
+ ath12k_mac_set_eht_mcs(bw_20->rx_tx_mcs7_max_nss,
+ bw_20->rx_tx_mcs9_max_nss,
+ bw_20->rx_tx_mcs11_max_nss,
+ bw_20->rx_tx_mcs13_max_nss,
+ &rx_mcs[WMI_EHTCAP_TXRX_MCS_NSS_IDX_80],
+ &tx_mcs[WMI_EHTCAP_TXRX_MCS_NSS_IDX_80]);
+ } else {
+ bw = &eht_cap->eht_mcs_nss_supp.bw._80;
+ ath12k_mac_set_eht_mcs(bw->rx_tx_mcs9_max_nss,
+ bw->rx_tx_mcs9_max_nss,
+ bw->rx_tx_mcs11_max_nss,
+ bw->rx_tx_mcs13_max_nss,
+ &rx_mcs[WMI_EHTCAP_TXRX_MCS_NSS_IDX_80],
+ &tx_mcs[WMI_EHTCAP_TXRX_MCS_NSS_IDX_80]);
+ }
+
+ arg->peer_eht_mcs_count++;
+ break;
+ }
+}
+
...