qcacmn: Fix enum wlan_phymode to include proper phymode value
Few phymode are missing from enum wlan_phymode and many are not valid phymode, e.g for 5ghz 40minus and 40plus are not valid. So add the missing enums and remove invalid enums from enum wlan_phymode. Change-Id: Id6a1fb4cf0d629cc410bd262a048b5050d05ed5d CRs-fixed: 2505422
This commit is contained in:
@@ -327,83 +327,110 @@ typedef enum {
|
||||
} WLAN_DEV_TYPE;
|
||||
|
||||
/**
|
||||
* enum wlan_phymode - phy mode
|
||||
* @WLAN_PHYMODE_AUTO: autoselect
|
||||
* @WLAN_PHYMODE_11A: 5GHz, OFDM
|
||||
* @WLAN_PHYMODE_11B: 2GHz, CCK
|
||||
* @WLAN_PHYMODE_11G: 2GHz, OFDM
|
||||
* @WLAN_PHYMODE_11NA_HT20: 5Ghz, HT20
|
||||
* @WLAN_PHYMODE_11NG_HT20: 2Ghz, HT20
|
||||
* @WLAN_PHYMODE_11NA_HT40PLUS: 5Ghz, HT40 (ext ch +1)
|
||||
* @WLAN_PHYMODE_11NA_HT40MINUS: 5Ghz, HT40 (ext ch -1)
|
||||
* @WLAN_PHYMODE_11NG_HT40PLUS: 2Ghz, HT40 (ext ch +1)
|
||||
* @WLAN_PHYMODE_11NG_HT40MINUS: 2Ghz, HT40 (ext ch -1)
|
||||
* @WLAN_PHYMODE_11NG_HT40: 2Ghz, Auto HT40
|
||||
* @WLAN_PHYMODE_11NA_HT40: 5Ghz, Auto HT40
|
||||
* @WLAN_PHYMODE_11AC_VHT20: 5Ghz, VHT20
|
||||
* @WLAN_PHYMODE_11AC_VHT40PLUS: 5Ghz, VHT40 (Ext ch +1)
|
||||
* @WLAN_PHYMODE_11AC_VHT40MINUS:5Ghz VHT40 (Ext ch -1)
|
||||
* @WLAN_PHYMODE_11AC_VHT40: 5Ghz, VHT40
|
||||
* @WLAN_PHYMODE_11AC_VHT80: 5Ghz, VHT80
|
||||
* @WLAN_PHYMODE_11AC_VHT160: 5Ghz, VHT160
|
||||
* @WLAN_PHYMODE_11AC_VHT80_80: 5Ghz, VHT80_80
|
||||
* @WLAN_PHYMODE_11AXA_HE20: 5GHz, HE20
|
||||
* @WLAN_PHYMODE_11AXG_HE20: 2GHz, HE20
|
||||
* @WLAN_PHYMODE_11AXA_HE40PLUS: 5GHz, HE40 (ext ch +1)
|
||||
* @WLAN_PHYMODE_11AXA_HE40MINUS:5GHz, HE40 (ext ch -1)
|
||||
* @WLAN_PHYMODE_11AXG_HE40PLUS: 2GHz, HE40 (ext ch +1)
|
||||
* @WLAN_PHYMODE_11AXG_HE40MINUS:2GHz, HE40 (ext ch -1)
|
||||
* @WLAN_PHYMODE_11AXA_HE40: 5GHz, HE40
|
||||
* @WLAN_PHYMODE_11AXG_HE40: 2GHz, HE40
|
||||
* @WLAN_PHYMODE_11AXA_HE80: 5GHz, HE80
|
||||
* @WLAN_PHYMODE_11AXA_HE160: 5GHz, HE160
|
||||
* @WLAN_PHYMODE_11AXA_HE80_80: 5GHz, HE80_80
|
||||
* enum wlan_phymode - phy mode
|
||||
* @WLAN_PHYMODE_AUTO: autoselect
|
||||
* @WLAN_PHYMODE_11A: 5GHz, OFDM
|
||||
* @WLAN_PHYMODE_11B: 2GHz, CCK
|
||||
* @WLAN_PHYMODE_11G: 2GHz, OFDM
|
||||
* @WLAN_PHYMODE_11G_ONLY: 2GHz only
|
||||
* @WLAN_PHYMODE_11NA_HT20: 5Ghz, HT20
|
||||
* @WLAN_PHYMODE_11NG_HT20: 2Ghz, HT20
|
||||
* @WLAN_PHYMODE_11NA_HT40: 5Ghz, Auto HT40
|
||||
* @WLAN_PHYMODE_11NG_HT40PLUS: 2Ghz, HT40 (ext ch +1)
|
||||
* @WLAN_PHYMODE_11NG_HT40MINUS: 2Ghz, HT40 (ext ch -1)
|
||||
* @WLAN_PHYMODE_11NG_HT40: 2Ghz, Auto HT40
|
||||
* @WLAN_PHYMODE_11AC_VHT20: 5Ghz, VHT20
|
||||
* @WLAN_PHYMODE_11AC_VHT20_2G: 2Ghz, VHT20
|
||||
* @WLAN_PHYMODE_11AC_VHT40: 5Ghz, VHT40
|
||||
* @WLAN_PHYMODE_11AC_VHT40PLUS_2G: 2Ghz, VHT40 (ext ch +1)
|
||||
* @WLAN_PHYMODE_11AC_VHT40MINUS_2G: 2Ghz, VHT40 (ext ch -1)
|
||||
* @WLAN_PHYMODE_11AC_VHT40_2G: 2Ghz, VHT40
|
||||
* @WLAN_PHYMODE_11AC_VHT80: 5Ghz, VHT80
|
||||
* @WLAN_PHYMODE_11AC_VHT80_2G: 2Ghz, VHT80
|
||||
* @WLAN_PHYMODE_11AC_VHT160: 5Ghz, VHT160
|
||||
* @WLAN_PHYMODE_11AC_VHT80_80: 5Ghz, VHT80_80
|
||||
* @WLAN_PHYMODE_11AXA_HE20: 5GHz, HE20
|
||||
* @WLAN_PHYMODE_11AXG_HE20: 2GHz, HE20
|
||||
* @WLAN_PHYMODE_11AXA_HE40: 5GHz, HE40
|
||||
* @WLAN_PHYMODE_11AXG_HE40PLUS: 2GHz, HE40 (ext ch +1)
|
||||
* @WLAN_PHYMODE_11AXG_HE40MINUS:2GHz, HE40 (ext ch -1)
|
||||
* @WLAN_PHYMODE_11AXG_HE40: 2GHz, HE40
|
||||
* @WLAN_PHYMODE_11AXA_HE80: 5GHz, HE80
|
||||
* @WLAN_PHYMODE_11AXG_HE80: 2GHz, HE80
|
||||
* @WLAN_PHYMODE_11AXA_HE160: 5GHz, HE160
|
||||
* @WLAN_PHYMODE_11AXA_HE80_80: 5GHz, HE80_80
|
||||
* @WLAN_PHYMODE_MAX: Max phymode
|
||||
*/
|
||||
enum wlan_phymode {
|
||||
WLAN_PHYMODE_AUTO = 0,
|
||||
WLAN_PHYMODE_11A = 1,
|
||||
WLAN_PHYMODE_11B = 2,
|
||||
WLAN_PHYMODE_11G = 3,
|
||||
WLAN_PHYMODE_11NA_HT20 = 4,
|
||||
WLAN_PHYMODE_11NG_HT20 = 5,
|
||||
WLAN_PHYMODE_11NA_HT40PLUS = 6,
|
||||
WLAN_PHYMODE_11NA_HT40MINUS = 7,
|
||||
WLAN_PHYMODE_11NG_HT40PLUS = 8,
|
||||
WLAN_PHYMODE_11NG_HT40MINUS = 9,
|
||||
WLAN_PHYMODE_11NG_HT40 = 10,
|
||||
WLAN_PHYMODE_11NA_HT40 = 11,
|
||||
WLAN_PHYMODE_11AC_VHT20 = 12,
|
||||
WLAN_PHYMODE_11AC_VHT40PLUS = 13,
|
||||
WLAN_PHYMODE_11AC_VHT40MINUS = 14,
|
||||
WLAN_PHYMODE_11AC_VHT40 = 15,
|
||||
WLAN_PHYMODE_11AC_VHT80 = 16,
|
||||
WLAN_PHYMODE_11AC_VHT160 = 17,
|
||||
WLAN_PHYMODE_11AC_VHT80_80 = 18,
|
||||
WLAN_PHYMODE_11AXA_HE20 = 19,
|
||||
WLAN_PHYMODE_11AXG_HE20 = 20,
|
||||
WLAN_PHYMODE_11AXA_HE40PLUS = 21,
|
||||
WLAN_PHYMODE_11AXA_HE40MINUS = 22,
|
||||
WLAN_PHYMODE_11AXG_HE40PLUS = 23,
|
||||
WLAN_PHYMODE_11AXG_HE40MINUS = 24,
|
||||
WLAN_PHYMODE_11AXA_HE40 = 25,
|
||||
WLAN_PHYMODE_11AXG_HE40 = 26,
|
||||
WLAN_PHYMODE_11AXA_HE80 = 27,
|
||||
WLAN_PHYMODE_11AXA_HE160 = 28,
|
||||
WLAN_PHYMODE_11AXA_HE80_80 = 29,
|
||||
WLAN_PHYMODE_AUTO = 0,
|
||||
WLAN_PHYMODE_11A = 1,
|
||||
WLAN_PHYMODE_11B = 2,
|
||||
WLAN_PHYMODE_11G = 3,
|
||||
WLAN_PHYMODE_11G_ONLY = 4,
|
||||
WLAN_PHYMODE_11NA_HT20 = 5,
|
||||
WLAN_PHYMODE_11NG_HT20 = 6,
|
||||
WLAN_PHYMODE_11NA_HT40 = 7,
|
||||
WLAN_PHYMODE_11NG_HT40PLUS = 8,
|
||||
WLAN_PHYMODE_11NG_HT40MINUS = 9,
|
||||
WLAN_PHYMODE_11NG_HT40 = 10,
|
||||
WLAN_PHYMODE_11AC_VHT20 = 11,
|
||||
WLAN_PHYMODE_11AC_VHT20_2G = 12,
|
||||
WLAN_PHYMODE_11AC_VHT40 = 13,
|
||||
WLAN_PHYMODE_11AC_VHT40PLUS_2G = 14,
|
||||
WLAN_PHYMODE_11AC_VHT40MINUS_2G = 15,
|
||||
WLAN_PHYMODE_11AC_VHT40_2G = 16,
|
||||
WLAN_PHYMODE_11AC_VHT80 = 17,
|
||||
WLAN_PHYMODE_11AC_VHT80_2G = 18,
|
||||
WLAN_PHYMODE_11AC_VHT160 = 19,
|
||||
WLAN_PHYMODE_11AC_VHT80_80 = 20,
|
||||
WLAN_PHYMODE_11AXA_HE20 = 21,
|
||||
WLAN_PHYMODE_11AXG_HE20 = 22,
|
||||
WLAN_PHYMODE_11AXA_HE40 = 23,
|
||||
WLAN_PHYMODE_11AXG_HE40PLUS = 24,
|
||||
WLAN_PHYMODE_11AXG_HE40MINUS = 25,
|
||||
WLAN_PHYMODE_11AXG_HE40 = 26,
|
||||
WLAN_PHYMODE_11AXA_HE80 = 27,
|
||||
WLAN_PHYMODE_11AXG_HE80 = 28,
|
||||
WLAN_PHYMODE_11AXA_HE160 = 29,
|
||||
WLAN_PHYMODE_11AXA_HE80_80 = 30,
|
||||
WLAN_PHYMODE_MAX
|
||||
};
|
||||
|
||||
#define WLAN_PHYMODE_MAX (WLAN_PHYMODE_11AXA_HE80_80 + 1)
|
||||
#define IS_WLAN_PHYMODE_160MHZ(_mode) ({typeof(_mode) mode = (_mode); \
|
||||
((mode) == WLAN_PHYMODE_11AC_VHT80_80) || \
|
||||
((mode) == WLAN_PHYMODE_11AC_VHT160) || \
|
||||
((mode) == WLAN_PHYMODE_11AXA_HE80_80) || \
|
||||
((mode) == WLAN_PHYMODE_11AXA_HE160); })
|
||||
|
||||
#define IS_WLAN_PHYMODE_80MHZ(_mode) ({typeof(_mode) mode = (_mode); \
|
||||
((mode) == WLAN_PHYMODE_11AC_VHT80) || \
|
||||
((mode) == WLAN_PHYMODE_11AC_VHT80_2G) || \
|
||||
((mode) == WLAN_PHYMODE_11AXA_HE80) || \
|
||||
((mode) == WLAN_PHYMODE_11AXG_HE80); })
|
||||
|
||||
#define IS_WLAN_PHYMODE_40MHZ(_mode) ({typeof(_mode) mode = (_mode); \
|
||||
((mode) == WLAN_PHYMODE_11NG_HT40) || \
|
||||
((mode) == WLAN_PHYMODE_11NG_HT40PLUS) || \
|
||||
((mode) == WLAN_PHYMODE_11NG_HT40MINUS) || \
|
||||
((mode) == WLAN_PHYMODE_11NA_HT40) || \
|
||||
((mode) == WLAN_PHYMODE_11AC_VHT40) || \
|
||||
((mode) == WLAN_PHYMODE_11AC_VHT40_2G) || \
|
||||
((mode) == WLAN_PHYMODE_11AC_VHT40PLUS_2G) || \
|
||||
((mode) == WLAN_PHYMODE_11AC_VHT40MINUS_2G) || \
|
||||
((mode) == WLAN_PHYMODE_11AXA_HE40) || \
|
||||
((mode) == WLAN_PHYMODE_11AXG_HE40) || \
|
||||
((mode) == WLAN_PHYMODE_11AXG_HE40PLUS) || \
|
||||
((mode) == WLAN_PHYMODE_11AXG_HE40MINUS); })
|
||||
|
||||
#define IS_WLAN_PHYMODE_HE(_mode) ({typeof(_mode) mode = (_mode); \
|
||||
((mode) == WLAN_PHYMODE_11AXA_HE20) || \
|
||||
((mode) == WLAN_PHYMODE_11AXG_HE20) || \
|
||||
((mode) == WLAN_PHYMODE_11AXA_HE40PLUS) || \
|
||||
((mode) == WLAN_PHYMODE_11AXA_HE40MINUS) || \
|
||||
((mode) == WLAN_PHYMODE_11AXG_HE40PLUS) || \
|
||||
((mode) == WLAN_PHYMODE_11AXG_HE40MINUS) || \
|
||||
((mode) == WLAN_PHYMODE_11AXA_HE40) || \
|
||||
((mode) == WLAN_PHYMODE_11AXG_HE40) || \
|
||||
((mode) == WLAN_PHYMODE_11AXG_HE40PLUS) || \
|
||||
((mode) == WLAN_PHYMODE_11AXG_HE40MINUS) || \
|
||||
((mode) == WLAN_PHYMODE_11AXA_HE80) || \
|
||||
((mode) == WLAN_PHYMODE_11AXG_HE80) || \
|
||||
((mode) == WLAN_PHYMODE_11AXA_HE160) || \
|
||||
((mode) == WLAN_PHYMODE_11AXA_HE80_80); })
|
||||
|
||||
|
@@ -396,20 +396,11 @@ static int32_t scm_calculate_bandwidth_score(
|
||||
cbmode = score_config->cb_mode_5G;
|
||||
}
|
||||
|
||||
if (entry->phy_mode == WLAN_PHYMODE_11AC_VHT80_80 ||
|
||||
entry->phy_mode == WLAN_PHYMODE_11AC_VHT160)
|
||||
if (IS_WLAN_PHYMODE_160MHZ(entry->phy_mode))
|
||||
ch_width_index = SCM_160MHZ_BW_INDEX;
|
||||
else if (entry->phy_mode == WLAN_PHYMODE_11AC_VHT80)
|
||||
ch_width_index = SCM_80MHZ_BW_INDEX;
|
||||
else if (entry->phy_mode == WLAN_PHYMODE_11NA_HT40PLUS ||
|
||||
entry->phy_mode == WLAN_PHYMODE_11NA_HT40MINUS ||
|
||||
entry->phy_mode == WLAN_PHYMODE_11NG_HT40PLUS ||
|
||||
entry->phy_mode == WLAN_PHYMODE_11NG_HT40MINUS ||
|
||||
entry->phy_mode == WLAN_PHYMODE_11NG_HT40 ||
|
||||
entry->phy_mode == WLAN_PHYMODE_11NA_HT40 ||
|
||||
entry->phy_mode == WLAN_PHYMODE_11AC_VHT40PLUS ||
|
||||
entry->phy_mode == WLAN_PHYMODE_11AC_VHT40MINUS ||
|
||||
entry->phy_mode == WLAN_PHYMODE_11AC_VHT40)
|
||||
else if (IS_WLAN_PHYMODE_80MHZ(entry->phy_mode))
|
||||
ch_width_index = SCM_80MHZ_BW_INDEX;
|
||||
else if (IS_WLAN_PHYMODE_40MHZ(entry->phy_mode))
|
||||
ch_width_index = SCM_40MHZ_BW_INDEX;
|
||||
else
|
||||
ch_width_index = SCM_20MHZ_BW_INDEX;
|
||||
|
@@ -205,14 +205,8 @@ util_scan_get_phymode_5g(struct scan_cache_entry *scan_params)
|
||||
if (util_scan_entry_vhtcap(scan_params) && vhtop) {
|
||||
switch (vhtop->vht_op_chwidth) {
|
||||
case WLAN_VHTOP_CHWIDTH_2040:
|
||||
if ((ht_cap & WLAN_HTCAP_C_CHWIDTH40) &&
|
||||
(htinfo->hi_extchoff ==
|
||||
WLAN_HTINFO_EXTOFFSET_ABOVE))
|
||||
phymode = WLAN_PHYMODE_11AC_VHT40PLUS;
|
||||
else if ((ht_cap & WLAN_HTCAP_C_CHWIDTH40) &&
|
||||
(htinfo->hi_extchoff ==
|
||||
WLAN_HTINFO_EXTOFFSET_BELOW))
|
||||
phymode = WLAN_PHYMODE_11AC_VHT40MINUS;
|
||||
if (ht_cap & WLAN_HTCAP_C_CHWIDTH40)
|
||||
phymode = WLAN_PHYMODE_11AC_VHT40;
|
||||
else
|
||||
phymode = WLAN_PHYMODE_11AC_VHT20;
|
||||
break;
|
||||
@@ -233,16 +227,14 @@ util_scan_get_phymode_5g(struct scan_cache_entry *scan_params)
|
||||
default:
|
||||
scm_err("bad channel: %d",
|
||||
vhtop->vht_op_chwidth);
|
||||
phymode = WLAN_PHYMODE_11AC_VHT20;
|
||||
break;
|
||||
}
|
||||
} else if ((ht_cap & WLAN_HTCAP_C_CHWIDTH40) &&
|
||||
(htinfo->hi_extchoff == WLAN_HTINFO_EXTOFFSET_ABOVE))
|
||||
phymode = WLAN_PHYMODE_11NA_HT40PLUS;
|
||||
else if ((ht_cap & WLAN_HTCAP_C_CHWIDTH40) &&
|
||||
(htinfo->hi_extchoff == WLAN_HTINFO_EXTOFFSET_BELOW))
|
||||
phymode = WLAN_PHYMODE_11NA_HT40MINUS;
|
||||
else
|
||||
} else if (ht_cap & WLAN_HTCAP_C_CHWIDTH40) {
|
||||
phymode = WLAN_PHYMODE_11NA_HT40;
|
||||
} else {
|
||||
phymode = WLAN_PHYMODE_11NA_HT20;
|
||||
}
|
||||
|
||||
return phymode;
|
||||
}
|
||||
@@ -291,6 +283,25 @@ util_scan_get_phymode_2g(struct scan_cache_entry *scan_params)
|
||||
}
|
||||
}
|
||||
|
||||
if (util_scan_entry_vhtcap(scan_params) && vhtop) {
|
||||
switch (vhtop->vht_op_chwidth) {
|
||||
case WLAN_VHTOP_CHWIDTH_2040:
|
||||
if (phymode == WLAN_PHYMODE_11NG_HT40PLUS)
|
||||
phymode = WLAN_PHYMODE_11AC_VHT40PLUS_2G;
|
||||
else if (phymode == WLAN_PHYMODE_11NG_HT40MINUS)
|
||||
phymode = WLAN_PHYMODE_11AC_VHT40MINUS_2G;
|
||||
else
|
||||
phymode = WLAN_PHYMODE_11AC_VHT20_2G;
|
||||
|
||||
break;
|
||||
default:
|
||||
scm_info("bad vht_op_chwidth: %d",
|
||||
vhtop->vht_op_chwidth);
|
||||
phymode = WLAN_PHYMODE_11AC_VHT20_2G;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return phymode;
|
||||
}
|
||||
|
||||
|
مرجع در شماره جدید
Block a user