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:
Abhishek Singh
2019-09-18 12:13:46 +05:30
کامیت شده توسط nshrivas
والد fbf9ece75d
کامیت f3f9797014
3فایلهای تغییر یافته به همراه123 افزوده شده و 94 حذف شده

مشاهده پرونده

@@ -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;
}