@@ -38,8 +38,7 @@ static const struct ieee80211_iface_combination if_comb[] = {
38
38
BIT (NL80211_CHAN_WIDTH_20 ) |
39
39
BIT (NL80211_CHAN_WIDTH_40 ) |
40
40
BIT (NL80211_CHAN_WIDTH_80 ) |
41
- BIT (NL80211_CHAN_WIDTH_160 ) |
42
- BIT (NL80211_CHAN_WIDTH_80P80 ),
41
+ BIT (NL80211_CHAN_WIDTH_160 ),
43
42
}
44
43
};
45
44
@@ -407,11 +406,6 @@ mt7915_init_wiphy(struct mt7915_phy *phy)
407
406
phy -> mt76 -> sband_5g .sband .vht_cap .cap |=
408
407
IEEE80211_VHT_CAP_MAX_MPDU_LENGTH_7991 |
409
408
IEEE80211_VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_MASK ;
410
-
411
- if (!dev -> dbdc_support )
412
- phy -> mt76 -> sband_5g .sband .vht_cap .cap |=
413
- IEEE80211_VHT_CAP_SHORT_GI_160 |
414
- IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160_80PLUS80MHZ ;
415
409
} else {
416
410
phy -> mt76 -> sband_5g .sband .vht_cap .cap |=
417
411
IEEE80211_VHT_CAP_MAX_MPDU_LENGTH_11454 |
@@ -847,13 +841,9 @@ mt7915_set_stream_he_txbf_caps(struct mt7915_phy *phy,
847
841
int sts = hweight8 (phy -> mt76 -> chainmask );
848
842
u8 c , sts_160 = sts ;
849
843
850
- /* Can do 1/2 of STS in 160Mhz mode for mt7915 */
851
- if (is_mt7915 (& dev -> mt76 )) {
852
- if (!dev -> dbdc_support )
853
- sts_160 /= 2 ;
854
- else
855
- sts_160 = 0 ;
856
- }
844
+ /* mt7915 doesn't support bw160 */
845
+ if (is_mt7915 (& dev -> mt76 ))
846
+ sts_160 = 0 ;
857
847
858
848
#ifdef CONFIG_MAC80211_MESH
859
849
if (vif == NL80211_IFTYPE_MESH_POINT )
@@ -907,9 +897,6 @@ mt7915_set_stream_he_txbf_caps(struct mt7915_phy *phy,
907
897
elem -> phy_cap_info [3 ] |= IEEE80211_HE_PHY_CAP3_SU_BEAMFORMER ;
908
898
elem -> phy_cap_info [4 ] |= IEEE80211_HE_PHY_CAP4_MU_BEAMFORMER ;
909
899
910
- /* num_snd_dim
911
- * for mt7915, max supported sts is 2 for bw > 80MHz and 0 if dbdc
912
- */
913
900
c = FIELD_PREP (IEEE80211_HE_PHY_CAP5_BEAMFORMEE_NUM_SND_DIM_UNDER_80MHZ_MASK ,
914
901
sts - 1 );
915
902
if (sts_160 )
@@ -957,15 +944,10 @@ mt7915_init_he_caps(struct mt7915_phy *phy, enum nl80211_band band,
957
944
int i , idx = 0 , nss = hweight8 (phy -> mt76 -> antenna_mask );
958
945
u16 mcs_map = 0 ;
959
946
u16 mcs_map_160 = 0 ;
960
- u8 nss_160 ;
947
+ u8 nss_160 = nss ;
961
948
962
- if (!is_mt7915 (& dev -> mt76 ))
963
- nss_160 = nss ;
964
- else if (!dev -> dbdc_support )
965
- /* Can do 1/2 of NSS streams in 160Mhz mode for mt7915 */
966
- nss_160 = nss / 2 ;
967
- else
968
- /* Can't do 160MHz with mt7915 dbdc */
949
+ /* Can't do 160MHz with mt7915 */
950
+ if (is_mt7915 (& dev -> mt76 ))
969
951
nss_160 = 0 ;
970
952
971
953
for (i = 0 ; i < 8 ; i ++ ) {
@@ -1015,8 +997,7 @@ mt7915_init_he_caps(struct mt7915_phy *phy, enum nl80211_band band,
1015
997
else if (nss_160 )
1016
998
he_cap_elem -> phy_cap_info [0 ] =
1017
999
IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_40MHZ_80MHZ_IN_5G |
1018
- IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_160MHZ_IN_5G |
1019
- IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_80PLUS80_MHZ_IN_5G ;
1000
+ IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_160MHZ_IN_5G ;
1020
1001
else
1021
1002
he_cap_elem -> phy_cap_info [0 ] =
1022
1003
IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_40MHZ_80MHZ_IN_5G ;
@@ -1088,12 +1069,11 @@ mt7915_init_he_caps(struct mt7915_phy *phy, enum nl80211_band band,
1088
1069
break ;
1089
1070
}
1090
1071
1072
+ memset (he_mcs , 0 , sizeof (* he_mcs ));
1091
1073
he_mcs -> rx_mcs_80 = cpu_to_le16 (mcs_map );
1092
1074
he_mcs -> tx_mcs_80 = cpu_to_le16 (mcs_map );
1093
1075
he_mcs -> rx_mcs_160 = cpu_to_le16 (mcs_map_160 );
1094
1076
he_mcs -> tx_mcs_160 = cpu_to_le16 (mcs_map_160 );
1095
- he_mcs -> rx_mcs_80p80 = cpu_to_le16 (mcs_map_160 );
1096
- he_mcs -> tx_mcs_80p80 = cpu_to_le16 (mcs_map_160 );
1097
1077
1098
1078
mt7915_set_stream_he_txbf_caps (phy , he_cap , i );
1099
1079
0 commit comments