qcacmn: Move REGDMN and wireless modes to reg_services_public_struct.h

There is a requirement to use REGDMN and wireless modes in UMAC layer of
the cmndev component. As the WMI_HOST_REGDMN modes currently are defined in
WMI layer, we can't use them directly in the UMAC layer. Hence move them
to the reg_services_public_struct.h and rename them as HOST_REGDMN modes.
Replace all WMI_HOST_REGDMN instances with HOST_REGDMN. Wireless modes are
currently defined in WIN component, use them to cmndev component.

CRs-Fixed: 3044590
Change-Id: Iee5fa1745a1a44b834334746b10bdbb6f6563a0a
This commit is contained in:
Shiva Krishna Pittala
2021-09-25 13:02:38 +05:30
committed by Madan Koyyalamudi
parent 81f3009593
commit 29817dce94
6 changed files with 403 additions and 138 deletions

View File

@@ -285,7 +285,7 @@ static QDF_STATUS target_if_dfs_is_pdev_5ghz(struct wlan_objmgr_pdev *pdev,
}
if (reg_cap_ptr[pdev_id].wireless_modes &
WMI_HOST_REGDMN_MODE_11A)
HOST_REGDMN_MODE_11A)
*is_5ghz = true;
else
*is_5ghz = false;

View File

@@ -894,14 +894,14 @@ static bool init_deinit_regdmn_160mhz_support(
struct wlan_psoc_host_hal_reg_capabilities_ext *hal_cap)
{
return ((hal_cap->wireless_modes &
WMI_HOST_REGDMN_MODE_11AC_VHT160) != 0);
HOST_REGDMN_MODE_11AC_VHT160) != 0);
}
static bool init_deinit_regdmn_80p80mhz_support(
struct wlan_psoc_host_hal_reg_capabilities_ext *hal_cap)
{
return ((hal_cap->wireless_modes &
WMI_HOST_REGDMN_MODE_11AC_VHT80_80) != 0);
HOST_REGDMN_MODE_11AC_VHT80_80) != 0);
}
static bool init_deinit_vht_160mhz_is_supported(uint32_t vhtcap)

View File

@@ -665,13 +665,13 @@ QDF_STATUS tgt_if_regulatory_modify_freq_range(struct wlan_objmgr_psoc *psoc)
return QDF_STATUS_E_FAILURE;
}
if (!(reg_cap->wireless_modes & WMI_HOST_REGDMN_MODE_11A)) {
if (!(reg_cap->wireless_modes & HOST_REGDMN_MODE_11A)) {
reg_cap->low_5ghz_chan = 0;
reg_cap->high_5ghz_chan = 0;
}
if (!(reg_cap->wireless_modes &
(WMI_HOST_REGDMN_MODE_11B | WMI_HOST_REGDMN_MODE_PUREG))) {
(HOST_REGDMN_MODE_11B | HOST_REGDMN_MODE_PUREG))) {
reg_cap->low_2ghz_chan = 0;
reg_cap->high_2ghz_chan = 0;
}

View File

@@ -1691,6 +1691,361 @@ struct chan_5g_center_freq {
#endif
/**
* enum HOST_REGDMN_MODE:
* @HOST_REGDMN_MODE_11A: 11a channels
* @HOST_REGDMN_MODE_TURBO: 11a turbo-only channels
* @HOST_REGDMN_MODE_11B: 11b channels
* @HOST_REGDMN_MODE_PUREG: 11g channels (OFDM only)
* @HOST_REGDMN_MODE_11G: historical
* @HOST_REGDMN_MODE_108G: 11g+Turbo channels
* @HOST_REGDMN_MODE_108A: 11a+Turbo channels
* @HOST_REGDMN_MODE_11AC_VHT20_2G: 2GHz, VHT20
* @HOST_REGDMN_MODE_XR: XR channels
* @HOST_REGDMN_MODE_11A_HALF_RATE: 11a half rate channels
* @HOST_REGDMN_MODE_11A_QUARTER_RATE: 11a quarter rate channels
* @HOST_REGDMN_MODE_11NG_HT20: 11ng HT20 channels
* @HOST_REGDMN_MODE_11NA_HT20: 11na HT20 channels
* @HOST_REGDMN_MODE_11NG_HT40PLUS: 11ng HT40+ channels
* @HOST_REGDMN_MODE_11NG_HT40MINUS: 11ng HT40- channels
* @HOST_REGDMN_MODE_11NA_HT40PLUS: 11na HT40+ channels
* @HOST_REGDMN_MODE_11NA_HT40MINUS: 11na HT40- channels
* @HOST_REGDMN_MODE_11AC_VHT20: 5GHz, VHT20
* @HOST_REGDMN_MODE_11AC_VHT40PLUS: 5GHz, VHT40+ channels
* @HOST_REGDMN_MODE_11AC_VHT40MINUS: 5GHz, VHT40- channels
* @HOST_REGDMN_MODE_11AC_VHT80: 5GHz, VHT80 channels
* @HOST_REGDMN_MODE_11AC_VHT160: 5GHz, VHT160 channels
* @HOST_REGDMN_MODE_11AC_VHT80_80: 5GHz, VHT80+80 channels
* @HOST_REGDMN_MODE_11AXG_HE20: 11ax 2.4GHz, HE20 channels
* @HOST_REGDMN_MODE_11AXA_HE20: 11ax 5GHz, HE20 channels
* @HOST_REGDMN_MODE_11AXG_HE40PLUS: 11ax 2.4GHz, HE40+ channels
* @HOST_REGDMN_MODE_11AXG_HE40MINUS: 11ax 2.4GHz, HE40- channels
* @HOST_REGDMN_MODE_11AXA_HE40PLUS: 11ax 5GHz, HE40+ channels
* @HOST_REGDMN_MODE_11AXA_HE40MINUS: 11ax 5GHz, HE40- channels
* @HOST_REGDMN_MODE_11AXA_HE80: 11ax 5GHz, HE80 channels
* @HOST_REGDMN_MODE_11AXA_HE160: 11ax 5GHz, HE160 channels
* @HOST_REGDMN_MODE_11AXA_HE80_80: 11ax 5GHz, HE80+80 channels
* @HOST_REGDMN_MODE_11BEG_EHT20: 11be 2.4GHz, EHT20 channels
* @HOST_REGDMN_MODE_11BEA_EHT20: 11be 5GHz, EHT20 channels
* @HOST_REGDMN_MODE_11BEG_EHT40PLUS: 11be 2.4GHz, EHT40+ channels
* @HOST_REGDMN_MODE_11BEG_EHT40MINUS: 11be 2.4GHz, EHT40- channels
* @HOST_REGDMN_MODE_11BEA_EHT40PLUS: 11be 5GHz, EHT40+ channels
* @HOST_REGDMN_MODE_11BEA_EHT40MINUS: 11be 5GHz, EHT40- channels
* @HOST_REGDMN_MODE_11BEA_EHT80: 11be 5GHz, EHT80 channels
* @HOST_REGDMN_MODE_11BEA_EHT160: 11be 5GHz, EHT160 channels
* @HOST_REGDMN_MODE_11BEA_EHT320: 11be 5GHz, EHT320 channels
*/
enum {
HOST_REGDMN_MODE_11A = 0x00000001,
HOST_REGDMN_MODE_TURBO = 0x00000002,
HOST_REGDMN_MODE_11B = 0x00000004,
HOST_REGDMN_MODE_PUREG = 0x00000008,
HOST_REGDMN_MODE_11G = 0x00000008,
HOST_REGDMN_MODE_108G = 0x00000020,
HOST_REGDMN_MODE_108A = 0x00000040,
HOST_REGDMN_MODE_11AC_VHT20_2G = 0x00000080,
HOST_REGDMN_MODE_XR = 0x00000100,
HOST_REGDMN_MODE_11A_HALF_RATE = 0x00000200,
HOST_REGDMN_MODE_11A_QUARTER_RATE = 0x00000400,
HOST_REGDMN_MODE_11NG_HT20 = 0x00000800,
HOST_REGDMN_MODE_11NA_HT20 = 0x00001000,
HOST_REGDMN_MODE_11NG_HT40PLUS = 0x00002000,
HOST_REGDMN_MODE_11NG_HT40MINUS = 0x00004000,
HOST_REGDMN_MODE_11NA_HT40PLUS = 0x00008000,
HOST_REGDMN_MODE_11NA_HT40MINUS = 0x00010000,
HOST_REGDMN_MODE_11AC_VHT20 = 0x00020000,
HOST_REGDMN_MODE_11AC_VHT40PLUS = 0x00040000,
HOST_REGDMN_MODE_11AC_VHT40MINUS = 0x00080000,
HOST_REGDMN_MODE_11AC_VHT80 = 0x00100000,
HOST_REGDMN_MODE_11AC_VHT160 = 0x00200000,
HOST_REGDMN_MODE_11AC_VHT80_80 = 0x00400000,
HOST_REGDMN_MODE_11AXG_HE20 = 0x00800000,
HOST_REGDMN_MODE_11AXA_HE20 = 0x01000000,
HOST_REGDMN_MODE_11AXG_HE40PLUS = 0x02000000,
HOST_REGDMN_MODE_11AXG_HE40MINUS = 0x04000000,
HOST_REGDMN_MODE_11AXA_HE40PLUS = 0x08000000,
HOST_REGDMN_MODE_11AXA_HE40MINUS = 0x10000000,
HOST_REGDMN_MODE_11AXA_HE80 = 0x20000000,
HOST_REGDMN_MODE_11AXA_HE160 = 0x40000000,
HOST_REGDMN_MODE_11AXA_HE80_80 = 0x80000000,
#ifdef WLAN_FEATURE_11BE
HOST_REGDMN_MODE_11BEG_EHT20 = 0x0000000100000000,
HOST_REGDMN_MODE_11BEA_EHT20 = 0x0000000200000000,
HOST_REGDMN_MODE_11BEG_EHT40PLUS = 0x0000000400000000,
HOST_REGDMN_MODE_11BEG_EHT40MINUS = 0x0000000800000000,
HOST_REGDMN_MODE_11BEA_EHT40PLUS = 0x0000001000000000,
HOST_REGDMN_MODE_11BEA_EHT40MINUS = 0x0000002000000000,
HOST_REGDMN_MODE_11BEA_EHT80 = 0x0000004000000000,
HOST_REGDMN_MODE_11BEA_EHT160 = 0x0000008000000000,
HOST_REGDMN_MODE_11BEA_EHT320 = 0x0000010000000000,
#endif
HOST_REGDMN_MODE_ALL = 0xffffffffffffffff
};
#define WIRELESS_11AX_MODES (HOST_REGDMN_MODE_11AXG_HE20 \
| HOST_REGDMN_MODE_11AXG_HE40PLUS \
| HOST_REGDMN_MODE_11AXG_HE40MINUS \
| HOST_REGDMN_MODE_11AXA_HE20 \
| HOST_REGDMN_MODE_11AXA_HE40PLUS \
| HOST_REGDMN_MODE_11AXA_HE40MINUS \
| HOST_REGDMN_MODE_11AXA_HE80 \
| HOST_REGDMN_MODE_11AXA_HE160 \
| HOST_REGDMN_MODE_11AXA_HE80_80)
#ifdef WLAN_FEATURE_11BE
#define WIRELESS_11BE_MODES (HOST_REGDMN_MODE_11BEG_EHT20 \
| HOST_REGDMN_MODE_11BEA_EHT20 \
| HOST_REGDMN_MODE_11BEG_EHT40PLUS \
| HOST_REGDMN_MODE_11BEG_EHT40MINUS \
| HOST_REGDMN_MODE_11BEA_EHT40PLUS \
| HOST_REGDMN_MODE_11BEA_EHT40MINUS \
| HOST_REGDMN_MODE_11BEA_EHT80 \
| HOST_REGDMN_MODE_11BEA_EHT160 \
| HOST_REGDMN_MODE_11BEA_EHT320)
#endif
#define WIRELESS_11AC_MODES (HOST_REGDMN_MODE_11AC_VHT20 \
| HOST_REGDMN_MODE_11AC_VHT40PLUS \
| HOST_REGDMN_MODE_11AC_VHT40MINUS \
| HOST_REGDMN_MODE_11AC_VHT80 \
| HOST_REGDMN_MODE_11AC_VHT160 \
| HOST_REGDMN_MODE_11AC_VHT80_80)
#define WIRELESS_11N_MODES (HOST_REGDMN_MODE_11NG_HT20 \
| HOST_REGDMN_MODE_11NA_HT20 \
| HOST_REGDMN_MODE_11NG_HT40PLUS \
| HOST_REGDMN_MODE_11NG_HT40MINUS \
| HOST_REGDMN_MODE_11NA_HT40PLUS \
| HOST_REGDMN_MODE_11NA_HT40MINUS)
#define WIRELESS_11G_MODES (HOST_REGDMN_MODE_PUREG \
| HOST_REGDMN_MODE_11G \
| HOST_REGDMN_MODE_108G)
#define WIRELESS_11B_MODES (HOST_REGDMN_MODE_11B)
#define WIRELESS_11A_MODES (HOST_REGDMN_MODE_11A \
| HOST_REGDMN_MODE_TURBO \
| HOST_REGDMN_MODE_108A \
| HOST_REGDMN_MODE_11A_HALF_RATE \
| HOST_REGDMN_MODE_11A_QUARTER_RATE)
#ifdef WLAN_FEATURE_11BE
#define WIRELESS_20_MODES (HOST_REGDMN_MODE_11A \
| HOST_REGDMN_MODE_TURBO \
| HOST_REGDMN_MODE_11B \
| HOST_REGDMN_MODE_PUREG \
| HOST_REGDMN_MODE_11G \
| HOST_REGDMN_MODE_11AC_VHT20_2G \
| HOST_REGDMN_MODE_11NG_HT20 \
| HOST_REGDMN_MODE_11NA_HT20 \
| HOST_REGDMN_MODE_11AC_VHT20 \
| HOST_REGDMN_MODE_11AXG_HE20 \
| HOST_REGDMN_MODE_11AXA_HE20 \
| HOST_REGDMN_MODE_11BEA_EHT20 \
| HOST_REGDMN_MODE_11BEG_EHT20)
#else
#define WIRELESS_20_MODES (HOST_REGDMN_MODE_11A \
| HOST_REGDMN_MODE_TURBO \
| HOST_REGDMN_MODE_11B \
| HOST_REGDMN_MODE_PUREG \
| HOST_REGDMN_MODE_11G \
| HOST_REGDMN_MODE_11AC_VHT20_2G \
| HOST_REGDMN_MODE_11NG_HT20 \
| HOST_REGDMN_MODE_11NA_HT20 \
| HOST_REGDMN_MODE_11AC_VHT20 \
| HOST_REGDMN_MODE_11AXG_HE20 \
| HOST_REGDMN_MODE_11AXA_HE20)
#endif
#define WIRELESS_10_MODES (HOST_REGDMN_MODE_11A_HALF_RATE)
#define WIRELESS_5_MODES (HOST_REGDMN_MODE_11A_QUARTER_RATE)
#ifdef WLAN_FEATURE_11BE
#define WIRELESS_40_MODES (HOST_REGDMN_MODE_11NG_HT40PLUS \
| HOST_REGDMN_MODE_11NG_HT40MINUS \
| HOST_REGDMN_MODE_11NA_HT40PLUS \
| HOST_REGDMN_MODE_11NA_HT40MINUS \
| HOST_REGDMN_MODE_11AC_VHT40PLUS \
| HOST_REGDMN_MODE_11AC_VHT40MINUS \
| HOST_REGDMN_MODE_11AXG_HE40PLUS \
| HOST_REGDMN_MODE_11AXG_HE40MINUS \
| HOST_REGDMN_MODE_11AXA_HE40PLUS \
| HOST_REGDMN_MODE_11AXA_HE40MINUS \
| HOST_REGDMN_MODE_11BEA_EHT40PLUS \
| HOST_REGDMN_MODE_11BEA_EHT40MINUS \
| HOST_REGDMN_MODE_11BEG_EHT40PLUS \
| HOST_REGDMN_MODE_11BEG_EHT40MINUS)
#else
#define WIRELESS_40_MODES (HOST_REGDMN_MODE_11NG_HT40PLUS \
| HOST_REGDMN_MODE_11NG_HT40MINUS \
| HOST_REGDMN_MODE_11NA_HT40PLUS \
| HOST_REGDMN_MODE_11NA_HT40MINUS \
| HOST_REGDMN_MODE_11AC_VHT40PLUS \
| HOST_REGDMN_MODE_11AC_VHT40MINUS \
| HOST_REGDMN_MODE_11AXG_HE40PLUS \
| HOST_REGDMN_MODE_11AXG_HE40MINUS \
| HOST_REGDMN_MODE_11AXA_HE40PLUS \
| HOST_REGDMN_MODE_11AXA_HE40MINUS)
#endif
#ifdef WLAN_FEATURE_11BE
#define WIRELESS_80_MODES (HOST_REGDMN_MODE_11AC_VHT80 \
| HOST_REGDMN_MODE_11AXA_HE80 \
| HOST_REGDMN_MODE_11BEA_EHT80)
#else
#define WIRELESS_80_MODES (HOST_REGDMN_MODE_11AC_VHT80 \
| HOST_REGDMN_MODE_11AXA_HE80)
#endif
#ifdef WLAN_FEATURE_11BE
#define WIRELESS_160_MODES (HOST_REGDMN_MODE_11AC_VHT160 \
| HOST_REGDMN_MODE_11AXA_HE160 \
| HOST_REGDMN_MODE_11BEA_EHT160)
#else
#define WIRELESS_160_MODES (HOST_REGDMN_MODE_11AC_VHT160 \
| HOST_REGDMN_MODE_11AXA_HE160)
#endif
#define WIRELESS_80P80_MODES (HOST_REGDMN_MODE_11AC_VHT80_80 \
| HOST_REGDMN_MODE_11AXA_HE80_80)
#ifdef WLAN_FEATURE_11BE
#define WIRELESS_320_MODES (HOST_REGDMN_MODE_11BEA_EHT320)
#endif
#ifdef WLAN_FEATURE_11BE
#define WIRELESS_6G_MODES_11BE (HOST_REGDMN_MODE_11BEA_EHT20 \
| HOST_REGDMN_MODE_11BEA_EHT40PLUS \
| HOST_REGDMN_MODE_11BEA_EHT40MINUS \
| HOST_REGDMN_MODE_11BEA_EHT80 \
| HOST_REGDMN_MODE_11BEA_EHT160 \
| HOST_REGDMN_MODE_11BEA_EHT320)
#else
#define WIRELESS_6G_MODES_11BE 0
#endif /* WLAN_FEATURE_11BE*/
#ifdef WLAN_FEATURE_11BE
#define WIRELESS_6G_MODES (HOST_REGDMN_MODE_11AXA_HE20 \
| HOST_REGDMN_MODE_11AXA_HE40PLUS \
| HOST_REGDMN_MODE_11AXA_HE40MINUS \
| HOST_REGDMN_MODE_11AXA_HE80 \
| HOST_REGDMN_MODE_11AXA_HE160 \
| HOST_REGDMN_MODE_11AXA_HE80_80 \
| HOST_REGDMN_MODE_11BEA_EHT20 \
| HOST_REGDMN_MODE_11BEA_EHT40PLUS \
| HOST_REGDMN_MODE_11BEA_EHT40MINUS \
| HOST_REGDMN_MODE_11BEA_EHT80 \
| HOST_REGDMN_MODE_11BEA_EHT160 \
| HOST_REGDMN_MODE_11BEA_EHT320)
#else
#define WIRELESS_6G_MODES (HOST_REGDMN_MODE_11AXA_HE20 \
| HOST_REGDMN_MODE_11AXA_HE40PLUS \
| HOST_REGDMN_MODE_11AXA_HE40MINUS \
| HOST_REGDMN_MODE_11AXA_HE80 \
| HOST_REGDMN_MODE_11AXA_HE160 \
| HOST_REGDMN_MODE_11AXA_HE80_80)
#endif
#ifdef WLAN_FEATURE_11BE
#define WIRELESS_5G_MODES_11BE (HOST_REGDMN_MODE_11BEA_EHT20 \
| HOST_REGDMN_MODE_11BEA_EHT40PLUS \
| HOST_REGDMN_MODE_11BEA_EHT40MINUS \
| HOST_REGDMN_MODE_11BEA_EHT80 \
| HOST_REGDMN_MODE_11BEA_EHT160 \
| HOST_REGDMN_MODE_11BEA_EHT320)
#else
#define WIRELESS_5G_MODES_11BE 0
#endif /* WLAN_FEATURE_11BE*/
#ifdef WLAN_FEATURE_11BE
#define WIRELESS_5G_MODES (HOST_REGDMN_MODE_11BEA_EHT20 \
| HOST_REGDMN_MODE_11BEA_EHT40PLUS \
| HOST_REGDMN_MODE_11BEA_EHT40MINUS \
| HOST_REGDMN_MODE_11BEA_EHT80 \
| HOST_REGDMN_MODE_11BEA_EHT160 \
| HOST_REGDMN_MODE_11BEA_EHT320 \
| HOST_REGDMN_MODE_11AXA_HE20 \
| HOST_REGDMN_MODE_11AXA_HE40PLUS \
| HOST_REGDMN_MODE_11AXA_HE40MINUS \
| HOST_REGDMN_MODE_11AXA_HE80 \
| HOST_REGDMN_MODE_11AXA_HE160 \
| HOST_REGDMN_MODE_11AXA_HE80_80 \
| HOST_REGDMN_MODE_11AC_VHT20 \
| HOST_REGDMN_MODE_11AC_VHT40PLUS \
| HOST_REGDMN_MODE_11AC_VHT40MINUS \
| HOST_REGDMN_MODE_11AC_VHT80 \
| HOST_REGDMN_MODE_11AC_VHT160 \
| HOST_REGDMN_MODE_11AC_VHT80_80 \
| HOST_REGDMN_MODE_11NA_HT20 \
| HOST_REGDMN_MODE_11NA_HT40PLUS \
| HOST_REGDMN_MODE_11NA_HT40MINUS \
| HOST_REGDMN_MODE_11A \
| HOST_REGDMN_MODE_TURBO \
| HOST_REGDMN_MODE_108A \
| HOST_REGDMN_MODE_11A_HALF_RATE \
| HOST_REGDMN_MODE_11A_QUARTER_RATE)
#else
#define WIRELESS_5G_MODES (HOST_REGDMN_MODE_11AXA_HE20 \
| HOST_REGDMN_MODE_11AXA_HE40PLUS \
| HOST_REGDMN_MODE_11AXA_HE40MINUS \
| HOST_REGDMN_MODE_11AXA_HE80 \
| HOST_REGDMN_MODE_11AXA_HE160 \
| HOST_REGDMN_MODE_11AXA_HE80_80 \
| HOST_REGDMN_MODE_11AC_VHT20 \
| HOST_REGDMN_MODE_11AC_VHT40PLUS \
| HOST_REGDMN_MODE_11AC_VHT40MINUS \
| HOST_REGDMN_MODE_11AC_VHT80 \
| HOST_REGDMN_MODE_11AC_VHT160 \
| HOST_REGDMN_MODE_11AC_VHT80_80 \
| HOST_REGDMN_MODE_11NA_HT20 \
| HOST_REGDMN_MODE_11NA_HT40PLUS \
| HOST_REGDMN_MODE_11NA_HT40MINUS \
| HOST_REGDMN_MODE_11A \
| HOST_REGDMN_MODE_TURBO \
| HOST_REGDMN_MODE_108A \
| HOST_REGDMN_MODE_11A_HALF_RATE \
| HOST_REGDMN_MODE_11A_QUARTER_RATE)
#endif
#define WIRELESS_49G_MODES (HOST_REGDMN_MODE_11A \
| HOST_REGDMN_MODE_11A_HALF_RATE \
| HOST_REGDMN_MODE_11A_QUARTER_RATE)
#ifdef WLAN_FEATURE_11BE
#define WIRELESS_2G_MODES_11BE (HOST_REGDMN_MODE_11BEG_EHT20 \
| HOST_REGDMN_MODE_11BEG_EHT40PLUS \
| HOST_REGDMN_MODE_11BEG_EHT40MINUS)
#else
#define WIRELESS_2G_MODES_11BE 0
#endif /* WLAN_FEATURE_11BE*/
#ifdef WLAN_FEATURE_11BE
#define WIRELESS_2G_MODES (HOST_REGDMN_MODE_11BEG_EHT20 \
| HOST_REGDMN_MODE_11BEG_EHT40PLUS \
| HOST_REGDMN_MODE_11BEG_EHT40MINUS \
| HOST_REGDMN_MODE_11AXG_HE20 \
| HOST_REGDMN_MODE_11AXG_HE40PLUS \
| HOST_REGDMN_MODE_11AXG_HE40MINUS \
| HOST_REGDMN_MODE_11NG_HT20 \
| HOST_REGDMN_MODE_11NG_HT40PLUS \
| HOST_REGDMN_MODE_11NG_HT40MINUS \
| HOST_REGDMN_MODE_PUREG \
| HOST_REGDMN_MODE_11G \
| HOST_REGDMN_MODE_108G \
| HOST_REGDMN_MODE_11B)
#else
#define WIRELESS_2G_MODES (HOST_REGDMN_MODE_11AXG_HE20 \
| HOST_REGDMN_MODE_11AXG_HE40PLUS \
| HOST_REGDMN_MODE_11AXG_HE40MINUS \
| HOST_REGDMN_MODE_11NG_HT20 \
| HOST_REGDMN_MODE_11NG_HT40PLUS \
| HOST_REGDMN_MODE_11NG_HT40MINUS \
| HOST_REGDMN_MODE_PUREG \
| HOST_REGDMN_MODE_11G \
| HOST_REGDMN_MODE_108G \
| HOST_REGDMN_MODE_11B)
#endif
#ifdef CONFIG_AFC_SUPPORT
/* enum reg_afc_cmd_type - Type of AFC command sent to FW
* @REG_AFC_CMD_SERV_RESP_READY : Server response is ready

View File

@@ -33,6 +33,7 @@
#endif /* WLAN_CONV_SPECTRAL_ENABLE */
#include <wlan_vdev_mgr_tgt_if_tx_defs.h>
#include <wlan_vdev_mgr_tgt_if_rx_defs.h>
#include <reg_services_public_struct.h>
#define MAC_MAX_KEY_LENGTH 32
#define MAC_PN_LENGTH 8
@@ -520,97 +521,6 @@ typedef struct {
uint32_t reg_info_2;
} wmi_host_channel;
/**
* enum WMI_HOST_REGDMN_MODE:
* @WMI_HOST_REGDMN_MODE_11A: 11a channels
* @WMI_HOST_REGDMN_MODE_TURBO: 11a turbo-only channels
* @WMI_HOST_REGDMN_MODE_11B: 11b channels
* @WMI_HOST_REGDMN_MODE_PUREG: 11g channels (OFDM only)
* @WMI_HOST_REGDMN_MODE_11G: historical
* @WMI_HOST_REGDMN_MODE_108G: 11g+Turbo channels
* @WMI_HOST_REGDMN_MODE_108A: 11a+Turbo channels
* @WMI_HOST_REGDMN_MODE_11AC_VHT20_2G: 2GHz, VHT20
* @WMI_HOST_REGDMN_MODE_XR: XR channels
* @WMI_HOST_REGDMN_MODE_11A_HALF_RATE: 11a half rate channels
* @WMI_HOST_REGDMN_MODE_11A_QUARTER_RATE: 11a quarter rate channels
* @WMI_HOST_REGDMN_MODE_11NG_HT20: 11ng HT20 channels
* @WMI_HOST_REGDMN_MODE_11NA_HT20: 11na HT20 channels
* @WMI_HOST_REGDMN_MODE_11NG_HT40PLUS: 11ng HT40+ channels
* @WMI_HOST_REGDMN_MODE_11NG_HT40MINUS: 11ng HT40- channels
* @WMI_HOST_REGDMN_MODE_11NA_HT40PLUS: 11na HT40+ channels
* @WMI_HOST_REGDMN_MODE_11NA_HT40MINUS: 11na HT40- channels
* @WMI_HOST_REGDMN_MODE_11AC_VHT20: 5GHz, VHT20
* @WMI_HOST_REGDMN_MODE_11AC_VHT40PLUS: 5GHz, VHT40+ channels
* @WMI_HOST_REGDMN_MODE_11AC_VHT40MINUS: 5GHz, VHT40- channels
* @WMI_HOST_REGDMN_MODE_11AC_VHT80: 5GHz, VHT80 channels
* @WMI_HOST_REGDMN_MODE_11AC_VHT160: 5GHz, VHT160 channels
* @WMI_HOST_REGDMN_MODE_11AC_VHT80_80: 5GHz, VHT80+80 channels
* @WMI_HOST_REGDMN_MODE_11AXG_HE20: 11ax 2.4GHz, HE20 channels
* @WMI_HOST_REGDMN_MODE_11AXA_HE20: 11ax 5GHz, HE20 channels
* @WMI_HOST_REGDMN_MODE_11AXG_HE40PLUS: 11ax 2.4GHz, HE40+ channels
* @WMI_HOST_REGDMN_MODE_11AXG_HE40MINUS: 11ax 2.4GHz, HE40- channels
* @WMI_HOST_REGDMN_MODE_11AXA_HE40PLUS: 11ax 5GHz, HE40+ channels
* @WMI_HOST_REGDMN_MODE_11AXA_HE40MINUS: 11ax 5GHz, HE40- channels
* @WMI_HOST_REGDMN_MODE_11AXA_HE80: 11ax 5GHz, HE80 channels
* @WMI_HOST_REGDMN_MODE_11AXA_HE160: 11ax 5GHz, HE160 channels
* @WMI_HOST_REGDMN_MODE_11AXA_HE80_80: 11ax 5GHz, HE80+80 channels
* @WMI_HOST_REGDMN_MODE_11BEG_EHT20: 11be 2GHz, EHT20 channels
* @WMI_HOST_REGDMN_MODE_11BEA_EHT20: 11be 5GHz, EHT20 channels
* @WMI_HOST_REGDMN_MODE_11BEG_EHT40PLUS: 11be 2GHz, EHT40+ channels
* @WMI_HOST_REGDMN_MODE_11BEG_EHT40MINUS: 11be 2GHz, EHT40- channels
* @WMI_HOST_REGDMN_MODE_11BEA_EHT40PLUS: 11be 5GHz, EHT40+ channels
* @WMI_HOST_REGDMN_MODE_11BEA_EHT40MINUS: 11be 5GHz, EHT40- channels
* @WMI_HOST_REGDMN_MODE_11BEA_EHT80: 11be 5GHz, EHT80 channels
* @WMI_HOST_REGDMN_MODE_11BEA_EHT160: 11be 5GHz, EHT160 channels
* @WMI_HOST_REGDMN_MODE_11BEA_EHT320: 11be 5GHz, EHT320 channels
*/
typedef enum {
WMI_HOST_REGDMN_MODE_11A = 0x00000001,
WMI_HOST_REGDMN_MODE_TURBO = 0x00000002,
WMI_HOST_REGDMN_MODE_11B = 0x00000004,
WMI_HOST_REGDMN_MODE_PUREG = 0x00000008,
WMI_HOST_REGDMN_MODE_11G = 0x00000008,
WMI_HOST_REGDMN_MODE_108G = 0x00000020,
WMI_HOST_REGDMN_MODE_108A = 0x00000040,
WMI_HOST_REGDMN_MODE_11AC_VHT20_2G = 0x00000080,
WMI_HOST_REGDMN_MODE_XR = 0x00000100,
WMI_HOST_REGDMN_MODE_11A_HALF_RATE = 0x00000200,
WMI_HOST_REGDMN_MODE_11A_QUARTER_RATE = 0x00000400,
WMI_HOST_REGDMN_MODE_11NG_HT20 = 0x00000800,
WMI_HOST_REGDMN_MODE_11NA_HT20 = 0x00001000,
WMI_HOST_REGDMN_MODE_11NG_HT40PLUS = 0x00002000,
WMI_HOST_REGDMN_MODE_11NG_HT40MINUS = 0x00004000,
WMI_HOST_REGDMN_MODE_11NA_HT40PLUS = 0x00008000,
WMI_HOST_REGDMN_MODE_11NA_HT40MINUS = 0x00010000,
WMI_HOST_REGDMN_MODE_11AC_VHT20 = 0x00020000,
WMI_HOST_REGDMN_MODE_11AC_VHT40PLUS = 0x00040000,
WMI_HOST_REGDMN_MODE_11AC_VHT40MINUS = 0x00080000,
WMI_HOST_REGDMN_MODE_11AC_VHT80 = 0x00100000,
WMI_HOST_REGDMN_MODE_11AC_VHT160 = 0x00200000,
WMI_HOST_REGDMN_MODE_11AC_VHT80_80 = 0x00400000,
WMI_HOST_REGDMN_MODE_11AXG_HE20 = 0x00800000,
WMI_HOST_REGDMN_MODE_11AXA_HE20 = 0x01000000,
WMI_HOST_REGDMN_MODE_11AXG_HE40PLUS = 0x02000000,
WMI_HOST_REGDMN_MODE_11AXG_HE40MINUS = 0x04000000,
WMI_HOST_REGDMN_MODE_11AXA_HE40PLUS = 0x08000000,
WMI_HOST_REGDMN_MODE_11AXA_HE40MINUS = 0x10000000,
WMI_HOST_REGDMN_MODE_11AXA_HE80 = 0x20000000,
WMI_HOST_REGDMN_MODE_11AXA_HE160 = 0x40000000,
WMI_HOST_REGDMN_MODE_11AXA_HE80_80 = 0x80000000,
#ifdef WLAN_FEATURE_11BE
WMI_HOST_REGDMN_MODE_11BEG_EHT20 = 0x0000000100000000,
WMI_HOST_REGDMN_MODE_11BEA_EHT20 = 0x0000000200000000,
WMI_HOST_REGDMN_MODE_11BEG_EHT40PLUS = 0x0000000400000000,
WMI_HOST_REGDMN_MODE_11BEG_EHT40MINUS = 0x0000000800000000,
WMI_HOST_REGDMN_MODE_11BEA_EHT40PLUS = 0x0000001000000000,
WMI_HOST_REGDMN_MODE_11BEA_EHT40MINUS = 0x0000002000000000,
WMI_HOST_REGDMN_MODE_11BEA_EHT80 = 0x0000004000000000,
WMI_HOST_REGDMN_MODE_11BEA_EHT160 = 0x0000008000000000,
WMI_HOST_REGDMN_MODE_11BEA_EHT320 = 0x0000010000000000,
#endif
WMI_HOST_REGDMN_MODE_ALL = 0xffffffffffffffff
} WMI_HOST_REGDMN_MODE;
/**
* enum WMI_HOST_WLAN_BAND_CAPABILITY: Band capability (2.4 GHz, 5 GHz). Maps to
* WLAN_BAND_CAPABILITY used in firmware header file(s).

View File

@@ -10002,7 +10002,7 @@ static QDF_STATUS extract_service_ready_tlv(wmi_unified_t wmi_handle,
}
/* convert_wireless_modes_tlv() - Convert REGDMN_MODE values sent by target
* to host internal WMI_HOST_REGDMN_MODE values.
* to host internal HOST_REGDMN_MODE values.
* REGULATORY TODO : REGDMN_MODE_11AC_VHT*_2G values are not used by the
* host currently. Add this in the future if required.
* 11AX (Phase II) : 11ax related values are not currently
@@ -10020,73 +10020,73 @@ static inline uint32_t convert_wireless_modes_tlv(uint32_t target_wireless_mode)
wmi_debug("Target wireless mode: 0x%x", target_wireless_mode);
if (target_wireless_mode & REGDMN_MODE_11A)
wireless_modes |= WMI_HOST_REGDMN_MODE_11A;
wireless_modes |= HOST_REGDMN_MODE_11A;
if (target_wireless_mode & REGDMN_MODE_TURBO)
wireless_modes |= WMI_HOST_REGDMN_MODE_TURBO;
wireless_modes |= HOST_REGDMN_MODE_TURBO;
if (target_wireless_mode & REGDMN_MODE_11B)
wireless_modes |= WMI_HOST_REGDMN_MODE_11B;
wireless_modes |= HOST_REGDMN_MODE_11B;
if (target_wireless_mode & REGDMN_MODE_PUREG)
wireless_modes |= WMI_HOST_REGDMN_MODE_PUREG;
wireless_modes |= HOST_REGDMN_MODE_PUREG;
if (target_wireless_mode & REGDMN_MODE_11G)
wireless_modes |= WMI_HOST_REGDMN_MODE_11G;
wireless_modes |= HOST_REGDMN_MODE_11G;
if (target_wireless_mode & REGDMN_MODE_108G)
wireless_modes |= WMI_HOST_REGDMN_MODE_108G;
wireless_modes |= HOST_REGDMN_MODE_108G;
if (target_wireless_mode & REGDMN_MODE_108A)
wireless_modes |= WMI_HOST_REGDMN_MODE_108A;
wireless_modes |= HOST_REGDMN_MODE_108A;
if (target_wireless_mode & REGDMN_MODE_11AC_VHT20_2G)
wireless_modes |= WMI_HOST_REGDMN_MODE_11AC_VHT20_2G;
wireless_modes |= HOST_REGDMN_MODE_11AC_VHT20_2G;
if (target_wireless_mode & REGDMN_MODE_XR)
wireless_modes |= WMI_HOST_REGDMN_MODE_XR;
wireless_modes |= HOST_REGDMN_MODE_XR;
if (target_wireless_mode & REGDMN_MODE_11A_HALF_RATE)
wireless_modes |= WMI_HOST_REGDMN_MODE_11A_HALF_RATE;
wireless_modes |= HOST_REGDMN_MODE_11A_HALF_RATE;
if (target_wireless_mode & REGDMN_MODE_11A_QUARTER_RATE)
wireless_modes |= WMI_HOST_REGDMN_MODE_11A_QUARTER_RATE;
wireless_modes |= HOST_REGDMN_MODE_11A_QUARTER_RATE;
if (target_wireless_mode & REGDMN_MODE_11NG_HT20)
wireless_modes |= WMI_HOST_REGDMN_MODE_11NG_HT20;
wireless_modes |= HOST_REGDMN_MODE_11NG_HT20;
if (target_wireless_mode & REGDMN_MODE_11NA_HT20)
wireless_modes |= WMI_HOST_REGDMN_MODE_11NA_HT20;
wireless_modes |= HOST_REGDMN_MODE_11NA_HT20;
if (target_wireless_mode & REGDMN_MODE_11NG_HT40PLUS)
wireless_modes |= WMI_HOST_REGDMN_MODE_11NG_HT40PLUS;
wireless_modes |= HOST_REGDMN_MODE_11NG_HT40PLUS;
if (target_wireless_mode & REGDMN_MODE_11NG_HT40MINUS)
wireless_modes |= WMI_HOST_REGDMN_MODE_11NG_HT40MINUS;
wireless_modes |= HOST_REGDMN_MODE_11NG_HT40MINUS;
if (target_wireless_mode & REGDMN_MODE_11NA_HT40PLUS)
wireless_modes |= WMI_HOST_REGDMN_MODE_11NA_HT40PLUS;
wireless_modes |= HOST_REGDMN_MODE_11NA_HT40PLUS;
if (target_wireless_mode & REGDMN_MODE_11NA_HT40MINUS)
wireless_modes |= WMI_HOST_REGDMN_MODE_11NA_HT40MINUS;
wireless_modes |= HOST_REGDMN_MODE_11NA_HT40MINUS;
if (target_wireless_mode & REGDMN_MODE_11AC_VHT20)
wireless_modes |= WMI_HOST_REGDMN_MODE_11AC_VHT20;
wireless_modes |= HOST_REGDMN_MODE_11AC_VHT20;
if (target_wireless_mode & REGDMN_MODE_11AC_VHT40PLUS)
wireless_modes |= WMI_HOST_REGDMN_MODE_11AC_VHT40PLUS;
wireless_modes |= HOST_REGDMN_MODE_11AC_VHT40PLUS;
if (target_wireless_mode & REGDMN_MODE_11AC_VHT40MINUS)
wireless_modes |= WMI_HOST_REGDMN_MODE_11AC_VHT40MINUS;
wireless_modes |= HOST_REGDMN_MODE_11AC_VHT40MINUS;
if (target_wireless_mode & REGDMN_MODE_11AC_VHT80)
wireless_modes |= WMI_HOST_REGDMN_MODE_11AC_VHT80;
wireless_modes |= HOST_REGDMN_MODE_11AC_VHT80;
if (target_wireless_mode & REGDMN_MODE_11AC_VHT160)
wireless_modes |= WMI_HOST_REGDMN_MODE_11AC_VHT160;
wireless_modes |= HOST_REGDMN_MODE_11AC_VHT160;
if (target_wireless_mode & REGDMN_MODE_11AC_VHT80_80)
wireless_modes |= WMI_HOST_REGDMN_MODE_11AC_VHT80_80;
wireless_modes |= HOST_REGDMN_MODE_11AC_VHT80_80;
return wireless_modes;
}
@@ -10164,31 +10164,31 @@ static void convert_11be_flags_to_modes_ext(uint32_t target_wireless_modes_ext,
uint64_t *wireless_modes_ext)
{
if (target_wireless_modes_ext & REGDMN_MODE_U32_11BEG_EHT20)
*wireless_modes_ext |= WMI_HOST_REGDMN_MODE_11BEG_EHT20;
*wireless_modes_ext |= HOST_REGDMN_MODE_11BEG_EHT20;
if (target_wireless_modes_ext & REGDMN_MODE_U32_11BEG_EHT40PLUS)
*wireless_modes_ext |= WMI_HOST_REGDMN_MODE_11BEG_EHT40PLUS;
*wireless_modes_ext |= HOST_REGDMN_MODE_11BEG_EHT40PLUS;
if (target_wireless_modes_ext & REGDMN_MODE_U32_11BEG_EHT40MINUS)
*wireless_modes_ext |= WMI_HOST_REGDMN_MODE_11BEG_EHT40MINUS;
*wireless_modes_ext |= HOST_REGDMN_MODE_11BEG_EHT40MINUS;
if (target_wireless_modes_ext & REGDMN_MODE_U32_11BEA_EHT20)
*wireless_modes_ext |= WMI_HOST_REGDMN_MODE_11BEA_EHT20;
*wireless_modes_ext |= HOST_REGDMN_MODE_11BEA_EHT20;
if (target_wireless_modes_ext & REGDMN_MODE_U32_11BEA_EHT40PLUS)
*wireless_modes_ext |= WMI_HOST_REGDMN_MODE_11BEA_EHT40PLUS;
*wireless_modes_ext |= HOST_REGDMN_MODE_11BEA_EHT40PLUS;
if (target_wireless_modes_ext & REGDMN_MODE_U32_11BEA_EHT40MINUS)
*wireless_modes_ext |= WMI_HOST_REGDMN_MODE_11BEA_EHT40MINUS;
*wireless_modes_ext |= HOST_REGDMN_MODE_11BEA_EHT40MINUS;
if (target_wireless_modes_ext & REGDMN_MODE_U32_11BEA_EHT80)
*wireless_modes_ext |= WMI_HOST_REGDMN_MODE_11BEA_EHT80;
*wireless_modes_ext |= HOST_REGDMN_MODE_11BEA_EHT80;
if (target_wireless_modes_ext & REGDMN_MODE_U32_11BEA_EHT160)
*wireless_modes_ext |= WMI_HOST_REGDMN_MODE_11BEA_EHT160;
*wireless_modes_ext |= HOST_REGDMN_MODE_11BEA_EHT160;
if (target_wireless_modes_ext & REGDMN_MODE_U32_11BEA_EHT320)
*wireless_modes_ext |= WMI_HOST_REGDMN_MODE_11BEA_EHT320;
*wireless_modes_ext |= HOST_REGDMN_MODE_11BEA_EHT320;
}
#else
static void convert_11be_flags_to_modes_ext(uint32_t target_wireless_modes_ext,
@@ -10205,31 +10205,31 @@ static inline uint64_t convert_wireless_modes_ext_tlv(
wmi_debug("Target wireless mode: 0x%x", target_wireless_modes_ext);
if (target_wireless_modes_ext & REGDMN_MODE_U32_11AXG_HE20)
wireless_modes_ext |= WMI_HOST_REGDMN_MODE_11AXG_HE20;
wireless_modes_ext |= HOST_REGDMN_MODE_11AXG_HE20;
if (target_wireless_modes_ext & REGDMN_MODE_U32_11AXG_HE40PLUS)
wireless_modes_ext |= WMI_HOST_REGDMN_MODE_11AXG_HE40PLUS;
wireless_modes_ext |= HOST_REGDMN_MODE_11AXG_HE40PLUS;
if (target_wireless_modes_ext & REGDMN_MODE_U32_11AXG_HE40MINUS)
wireless_modes_ext |= WMI_HOST_REGDMN_MODE_11AXG_HE40MINUS;
wireless_modes_ext |= HOST_REGDMN_MODE_11AXG_HE40MINUS;
if (target_wireless_modes_ext & REGDMN_MODE_U32_11AXA_HE20)
wireless_modes_ext |= WMI_HOST_REGDMN_MODE_11AXA_HE20;
wireless_modes_ext |= HOST_REGDMN_MODE_11AXA_HE20;
if (target_wireless_modes_ext & REGDMN_MODE_U32_11AXA_HE40PLUS)
wireless_modes_ext |= WMI_HOST_REGDMN_MODE_11AXA_HE40PLUS;
wireless_modes_ext |= HOST_REGDMN_MODE_11AXA_HE40PLUS;
if (target_wireless_modes_ext & REGDMN_MODE_U32_11AXA_HE40MINUS)
wireless_modes_ext |= WMI_HOST_REGDMN_MODE_11AXA_HE40MINUS;
wireless_modes_ext |= HOST_REGDMN_MODE_11AXA_HE40MINUS;
if (target_wireless_modes_ext & REGDMN_MODE_U32_11AXA_HE80)
wireless_modes_ext |= WMI_HOST_REGDMN_MODE_11AXA_HE80;
wireless_modes_ext |= HOST_REGDMN_MODE_11AXA_HE80;
if (target_wireless_modes_ext & REGDMN_MODE_U32_11AXA_HE160)
wireless_modes_ext |= WMI_HOST_REGDMN_MODE_11AXA_HE160;
wireless_modes_ext |= HOST_REGDMN_MODE_11AXA_HE160;
if (target_wireless_modes_ext & REGDMN_MODE_U32_11AXA_HE80_80)
wireless_modes_ext |= WMI_HOST_REGDMN_MODE_11AXA_HE80_80;
wireless_modes_ext |= HOST_REGDMN_MODE_11AXA_HE80_80;
convert_11be_flags_to_modes_ext(target_wireless_modes_ext,
&wireless_modes_ext);