tzh
2024-08-15 d4a1bd480003f3e1a0590bc46fbcb24f05652ca7
longan/kernel/linux-4.9/drivers/net/wireless/aic8800/aic8800_fdrv/rwnx_mod_params.c
old mode 100644new mode 100755
....@@ -33,7 +33,7 @@
3333 COMMON_PARAM(vht_on, true, true)
3434 COMMON_PARAM(he_on, true, true)
3535 COMMON_PARAM(mcs_map, IEEE80211_VHT_MCS_SUPPORT_0_9, IEEE80211_VHT_MCS_SUPPORT_0_9)
36
- COMMON_PARAM(he_mcs_map, IEEE80211_HE_MCS_SUPPORT_0_9, IEEE80211_HE_MCS_SUPPORT_0_9)
36
+ COMMON_PARAM(he_mcs_map, IEEE80211_HE_MCS_SUPPORT_0_11, IEEE80211_HE_MCS_SUPPORT_0_11)
3737 COMMON_PARAM(he_ul_on, false, false)
3838 COMMON_PARAM(ldpc_on, true, true)
3939 COMMON_PARAM(stbc_on, true, true)
....@@ -64,7 +64,7 @@
6464 COMMON_PARAM(amsdu_maxnb, NX_TX_PAYLOAD_MAX, NX_TX_PAYLOAD_MAX)
6565 // By default, only enable UAPSD for Voice queue (see IEEE80211_DEFAULT_UAPSD_QUEUE comment)
6666 COMMON_PARAM(uapsd_queues, IEEE80211_WMM_IE_STA_QOSINFO_AC_VO, IEEE80211_WMM_IE_STA_QOSINFO_AC_VO)
67
- COMMON_PARAM(tdls, true, true)
67
+ COMMON_PARAM(tdls, false, false)
6868 COMMON_PARAM(uf, false, false)
6969 COMMON_PARAM(ftl, "", "")
7070 COMMON_PARAM(dpsm, false, false)
....@@ -973,9 +973,15 @@
973973 #endif
974974 if (rwnx_hw->mod_params->stbc_on)
975975 he_cap->he_cap_elem.phy_cap_info[2] |= IEEE80211_HE_PHY_CAP2_STBC_RX_UNDER_80MHZ;
976
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 13, 0)
977
+ he_cap->he_cap_elem.phy_cap_info[3] |= IEEE80211_HE_PHY_CAP3_DCM_MAX_CONST_RX_16_QAM |
978
+ IEEE80211_HE_PHY_CAP3_DCM_MAX_RX_NSS_1 |
979
+ IEEE80211_HE_PHY_CAP3_RX_PARTIAL_BW_SU_IN_20MHZ_MU;
980
+#else
976981 he_cap->he_cap_elem.phy_cap_info[3] |= IEEE80211_HE_PHY_CAP3_DCM_MAX_CONST_RX_16_QAM |
977982 IEEE80211_HE_PHY_CAP3_DCM_MAX_RX_NSS_1 |
978983 IEEE80211_HE_PHY_CAP3_RX_HE_MU_PPDU_FROM_NON_AP_STA;
984
+#endif
979985 if (rwnx_hw->mod_params->bfmee) {
980986 he_cap->he_cap_elem.phy_cap_info[4] |= IEEE80211_HE_PHY_CAP4_SU_BEAMFORMEE;
981987 he_cap->he_cap_elem.phy_cap_info[4] |=
....@@ -983,12 +989,21 @@
983989 }
984990 he_cap->he_cap_elem.phy_cap_info[5] |= IEEE80211_HE_PHY_CAP5_NG16_SU_FEEDBACK |
985991 IEEE80211_HE_PHY_CAP5_NG16_MU_FEEDBACK;
992
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 13, 0)
993
+ he_cap->he_cap_elem.phy_cap_info[6] |= IEEE80211_HE_PHY_CAP6_CODEBOOK_SIZE_42_SU |
994
+ IEEE80211_HE_PHY_CAP6_CODEBOOK_SIZE_75_MU |
995
+ IEEE80211_HE_PHY_CAP6_TRIG_SU_BEAMFORMING_FB |
996
+ IEEE80211_HE_PHY_CAP6_TRIG_MU_BEAMFORMING_PARTIAL_BW_FB |
997
+ IEEE80211_HE_PHY_CAP6_PPE_THRESHOLD_PRESENT |
998
+ IEEE80211_HE_PHY_CAP6_PARTIAL_BANDWIDTH_DL_MUMIMO;
999
+#else
9861000 he_cap->he_cap_elem.phy_cap_info[6] |= IEEE80211_HE_PHY_CAP6_CODEBOOK_SIZE_42_SU |
9871001 IEEE80211_HE_PHY_CAP6_CODEBOOK_SIZE_75_MU |
9881002 IEEE80211_HE_PHY_CAP6_TRIG_SU_BEAMFORMER_FB |
9891003 IEEE80211_HE_PHY_CAP6_TRIG_MU_BEAMFORMER_FB |
9901004 IEEE80211_HE_PHY_CAP6_PPE_THRESHOLD_PRESENT |
9911005 IEEE80211_HE_PHY_CAP6_PARTIAL_BANDWIDTH_DL_MUMIMO;
1006
+#endif
9921007 he_cap->he_cap_elem.phy_cap_info[7] |= IEEE80211_HE_PHY_CAP7_HE_SU_MU_PPDU_4XLTF_AND_08_US_GI;
9931008 he_cap->he_cap_elem.phy_cap_info[8] |= IEEE80211_HE_PHY_CAP8_20MHZ_IN_40MHZ_HE_PPDU_IN_2G;
9941009 #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 20, 0)
....@@ -1062,9 +1077,15 @@
10621077 #endif
10631078 if (rwnx_hw->mod_params->stbc_on)
10641079 he_cap->he_cap_elem.phy_cap_info[2] |= IEEE80211_HE_PHY_CAP2_STBC_RX_UNDER_80MHZ;
1080
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 13, 0)
1081
+ he_cap->he_cap_elem.phy_cap_info[3] |= IEEE80211_HE_PHY_CAP3_DCM_MAX_CONST_RX_16_QAM |
1082
+ IEEE80211_HE_PHY_CAP3_DCM_MAX_RX_NSS_1 |
1083
+ IEEE80211_HE_PHY_CAP3_RX_PARTIAL_BW_SU_IN_20MHZ_MU;
1084
+#else
10651085 he_cap->he_cap_elem.phy_cap_info[3] |= IEEE80211_HE_PHY_CAP3_DCM_MAX_CONST_RX_16_QAM |
10661086 IEEE80211_HE_PHY_CAP3_DCM_MAX_RX_NSS_1 |
10671087 IEEE80211_HE_PHY_CAP3_RX_HE_MU_PPDU_FROM_NON_AP_STA;
1088
+#endif
10681089 if (rwnx_hw->mod_params->bfmee) {
10691090 he_cap->he_cap_elem.phy_cap_info[4] |= IEEE80211_HE_PHY_CAP4_SU_BEAMFORMEE;
10701091 he_cap->he_cap_elem.phy_cap_info[4] |=
....@@ -1072,12 +1093,21 @@
10721093 }
10731094 he_cap->he_cap_elem.phy_cap_info[5] |= IEEE80211_HE_PHY_CAP5_NG16_SU_FEEDBACK |
10741095 IEEE80211_HE_PHY_CAP5_NG16_MU_FEEDBACK;
1096
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 13, 0)
1097
+ he_cap->he_cap_elem.phy_cap_info[6] |= IEEE80211_HE_PHY_CAP6_CODEBOOK_SIZE_42_SU |
1098
+ IEEE80211_HE_PHY_CAP6_CODEBOOK_SIZE_75_MU |
1099
+ IEEE80211_HE_PHY_CAP6_TRIG_SU_BEAMFORMING_FB |
1100
+ IEEE80211_HE_PHY_CAP6_TRIG_MU_BEAMFORMING_PARTIAL_BW_FB |
1101
+ IEEE80211_HE_PHY_CAP6_PPE_THRESHOLD_PRESENT |
1102
+ IEEE80211_HE_PHY_CAP6_PARTIAL_BANDWIDTH_DL_MUMIMO;
1103
+#else
10751104 he_cap->he_cap_elem.phy_cap_info[6] |= IEEE80211_HE_PHY_CAP6_CODEBOOK_SIZE_42_SU |
10761105 IEEE80211_HE_PHY_CAP6_CODEBOOK_SIZE_75_MU |
10771106 IEEE80211_HE_PHY_CAP6_TRIG_SU_BEAMFORMER_FB |
10781107 IEEE80211_HE_PHY_CAP6_TRIG_MU_BEAMFORMER_FB |
10791108 IEEE80211_HE_PHY_CAP6_PPE_THRESHOLD_PRESENT |
10801109 IEEE80211_HE_PHY_CAP6_PARTIAL_BANDWIDTH_DL_MUMIMO;
1110
+#endif
10811111 he_cap->he_cap_elem.phy_cap_info[7] |= IEEE80211_HE_PHY_CAP7_HE_SU_MU_PPDU_4XLTF_AND_08_US_GI;
10821112 he_cap->he_cap_elem.phy_cap_info[8] |= IEEE80211_HE_PHY_CAP8_20MHZ_IN_40MHZ_HE_PPDU_IN_2G;
10831113 #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 20, 0)