qcacmn: Add 11be phymodes support in WMI
Extend phymodes to support 11be phymodes in WMI layer. Change-Id: I98e7f5eac90952ed7daf26745fc9731c128756e5 CRs-Fixed: 2881926
此提交包含在:
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2016-2020 The Linux Foundation. All rights reserved.
|
* Copyright (c) 2016-2021 The Linux Foundation. All rights reserved.
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, and/or distribute this software for
|
* Permission to use, copy, modify, and/or distribute this software for
|
||||||
* any purpose with or without fee is hereby granted, provided that the
|
* any purpose with or without fee is hereby granted, provided that the
|
||||||
@@ -375,6 +375,16 @@ typedef enum {
|
|||||||
* @WLAN_PHYMODE_11AXG_HE80: 2GHz, HE80
|
* @WLAN_PHYMODE_11AXG_HE80: 2GHz, HE80
|
||||||
* @WLAN_PHYMODE_11AXA_HE160: 5GHz, HE160
|
* @WLAN_PHYMODE_11AXA_HE160: 5GHz, HE160
|
||||||
* @WLAN_PHYMODE_11AXA_HE80_80: 5GHz, HE80_80
|
* @WLAN_PHYMODE_11AXA_HE80_80: 5GHz, HE80_80
|
||||||
|
* @WLAN_PHYMODE_11BEA_EHT20: 5GHz, EHT20
|
||||||
|
* @WLAN_PHYMODE_11BEG_EHT20: 2GHz, EHT20
|
||||||
|
* @WLAN_PHYMODE_11BEA_EHT40: 5GHz, EHT40
|
||||||
|
* @WLAN_PHYMODE_11BEG_EHT40PLUS: 2GHz, EHT40 (ext ch +1)
|
||||||
|
* @WLAN_PHYMODE_11BEG_EHT40MINUS:2GHz, EHT40 (ext ch -1)
|
||||||
|
* @WLAN_PHYMODE_11BEG_EHT40: 2GHz, EHT40
|
||||||
|
* @WLAN_PHYMODE_11BEA_EHT80: 5GHz, EHT80
|
||||||
|
* @WLAN_PHYMODE_11BEG_EHT80: 2GHz, EHT80
|
||||||
|
* @WLAN_PHYMODE_11BEA_EHT160: 5GHz, EHT160
|
||||||
|
* @WLAN_PHYMODE_11BEA_EHT320: 5GHz, EHT320
|
||||||
* @WLAN_PHYMODE_MAX: Max phymode
|
* @WLAN_PHYMODE_MAX: Max phymode
|
||||||
*/
|
*/
|
||||||
enum wlan_phymode {
|
enum wlan_phymode {
|
||||||
@@ -409,9 +419,71 @@ enum wlan_phymode {
|
|||||||
WLAN_PHYMODE_11AXG_HE80 = 28,
|
WLAN_PHYMODE_11AXG_HE80 = 28,
|
||||||
WLAN_PHYMODE_11AXA_HE160 = 29,
|
WLAN_PHYMODE_11AXA_HE160 = 29,
|
||||||
WLAN_PHYMODE_11AXA_HE80_80 = 30,
|
WLAN_PHYMODE_11AXA_HE80_80 = 30,
|
||||||
|
#ifdef WLAN_FEATURE_11BE
|
||||||
|
WLAN_PHYMODE_11BEA_EHT20 = 31,
|
||||||
|
WLAN_PHYMODE_11BEG_EHT20 = 32,
|
||||||
|
WLAN_PHYMODE_11BEA_EHT40 = 33,
|
||||||
|
WLAN_PHYMODE_11BEG_EHT40PLUS = 34,
|
||||||
|
WLAN_PHYMODE_11BEG_EHT40MINUS = 35,
|
||||||
|
WLAN_PHYMODE_11BEG_EHT40 = 36,
|
||||||
|
WLAN_PHYMODE_11BEA_EHT80 = 37,
|
||||||
|
WLAN_PHYMODE_11BEG_EHT80 = 38,
|
||||||
|
WLAN_PHYMODE_11BEA_EHT160 = 39,
|
||||||
|
WLAN_PHYMODE_11BEA_EHT320 = 40,
|
||||||
|
#endif
|
||||||
WLAN_PHYMODE_MAX
|
WLAN_PHYMODE_MAX
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#ifdef WLAN_FEATURE_11BE
|
||||||
|
#define IS_WLAN_PHYMODE_320MHZ(_mode) ({typeof(_mode) mode = (_mode); \
|
||||||
|
((mode) == WLAN_PHYMODE_11BEA_EHT320); })
|
||||||
|
|
||||||
|
#define IS_WLAN_PHYMODE_160MHZ(_mode) ({typeof(_mode) mode = (_mode); \
|
||||||
|
((mode) == WLAN_PHYMODE_11BEA_EHT160) || \
|
||||||
|
((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_11BEA_EHT80) || \
|
||||||
|
((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_11BEA_EHT40) || \
|
||||||
|
((mode) == WLAN_PHYMODE_11BEG_EHT40) || \
|
||||||
|
((mode) == WLAN_PHYMODE_11BEG_EHT40PLUS) || \
|
||||||
|
((mode) == WLAN_PHYMODE_11BEG_EHT40MINUS) || \
|
||||||
|
((mode) == WLAN_PHYMODE_11AXA_HE40) || \
|
||||||
|
((mode) == WLAN_PHYMODE_11AXG_HE40) || \
|
||||||
|
((mode) == WLAN_PHYMODE_11AXG_HE40PLUS) || \
|
||||||
|
((mode) == WLAN_PHYMODE_11AXG_HE40MINUS); })
|
||||||
|
|
||||||
|
#define IS_WLAN_PHYMODE_EHT(_mode) ({typeof(_mode) mode = (_mode); \
|
||||||
|
((mode) == WLAN_PHYMODE_11BEA_EHT20) || \
|
||||||
|
((mode) == WLAN_PHYMODE_11BEG_EHT20) || \
|
||||||
|
((mode) == WLAN_PHYMODE_11BEA_EHT40) || \
|
||||||
|
((mode) == WLAN_PHYMODE_11BEG_EHT40) || \
|
||||||
|
((mode) == WLAN_PHYMODE_11BEG_EHT40PLUS) || \
|
||||||
|
((mode) == WLAN_PHYMODE_11BEG_EHT40MINUS) || \
|
||||||
|
((mode) == WLAN_PHYMODE_11BEA_EHT80) || \
|
||||||
|
((mode) == WLAN_PHYMODE_11BEG_EHT80) || \
|
||||||
|
((mode) == WLAN_PHYMODE_11BEA_EHT160) || \
|
||||||
|
((mode) == WLAN_PHYMODE_11BEA_EHT320); })
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
#define IS_WLAN_PHYMODE_160MHZ(_mode) ({typeof(_mode) mode = (_mode); \
|
#define IS_WLAN_PHYMODE_160MHZ(_mode) ({typeof(_mode) mode = (_mode); \
|
||||||
((mode) == WLAN_PHYMODE_11AC_VHT80_80) || \
|
((mode) == WLAN_PHYMODE_11AC_VHT80_80) || \
|
||||||
((mode) == WLAN_PHYMODE_11AC_VHT160) || \
|
((mode) == WLAN_PHYMODE_11AC_VHT160) || \
|
||||||
@@ -437,6 +509,7 @@ enum wlan_phymode {
|
|||||||
((mode) == WLAN_PHYMODE_11AXG_HE40) || \
|
((mode) == WLAN_PHYMODE_11AXG_HE40) || \
|
||||||
((mode) == WLAN_PHYMODE_11AXG_HE40PLUS) || \
|
((mode) == WLAN_PHYMODE_11AXG_HE40PLUS) || \
|
||||||
((mode) == WLAN_PHYMODE_11AXG_HE40MINUS); })
|
((mode) == WLAN_PHYMODE_11AXG_HE40MINUS); })
|
||||||
|
#endif
|
||||||
|
|
||||||
#define IS_WLAN_PHYMODE_HT(_mode) ({typeof(_mode) mode = (_mode); \
|
#define IS_WLAN_PHYMODE_HT(_mode) ({typeof(_mode) mode = (_mode); \
|
||||||
((mode) == WLAN_PHYMODE_11NA_HT20) || \
|
((mode) == WLAN_PHYMODE_11NA_HT20) || \
|
||||||
|
@@ -485,8 +485,17 @@ typedef enum {
|
|||||||
WMI_HOST_MODE_11AX_HE20_2G = 21,
|
WMI_HOST_MODE_11AX_HE20_2G = 21,
|
||||||
WMI_HOST_MODE_11AX_HE40_2G = 22,
|
WMI_HOST_MODE_11AX_HE40_2G = 22,
|
||||||
WMI_HOST_MODE_11AX_HE80_2G = 23,
|
WMI_HOST_MODE_11AX_HE80_2G = 23,
|
||||||
WMI_HOST_MODE_UNKNOWN = 24,
|
#ifdef WLAN_FEATURE_11BE
|
||||||
WMI_HOST_MODE_MAX = 24
|
WMI_HOST_MODE_11BE_EHT20 = 24,
|
||||||
|
WMI_HOST_MODE_11BE_EHT40 = 25,
|
||||||
|
WMI_HOST_MODE_11BE_EHT80 = 26,
|
||||||
|
WMI_HOST_MODE_11BE_EHT160 = 28,
|
||||||
|
WMI_HOST_MODE_11BE_EHT320 = 30,
|
||||||
|
WMI_HOST_MODE_11BE_EHT20_2G = 31,
|
||||||
|
WMI_HOST_MODE_11BE_EHT40_2G = 32,
|
||||||
|
#endif
|
||||||
|
WMI_HOST_MODE_UNKNOWN,
|
||||||
|
WMI_HOST_MODE_MAX = WMI_HOST_MODE_UNKNOWN,
|
||||||
} WMI_HOST_WLAN_PHY_MODE;
|
} WMI_HOST_WLAN_PHY_MODE;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -611,6 +620,9 @@ typedef enum {
|
|||||||
WMI_HOST_CHAN_WIDTH_5 = 5,
|
WMI_HOST_CHAN_WIDTH_5 = 5,
|
||||||
WMI_HOST_CHAN_WIDTH_10 = 6,
|
WMI_HOST_CHAN_WIDTH_10 = 6,
|
||||||
WMI_HOST_CHAN_WIDTH_165 = 7,
|
WMI_HOST_CHAN_WIDTH_165 = 7,
|
||||||
|
#ifdef WLAN_FEATURE_11BE
|
||||||
|
WMI_HOST_CHAN_WIDTH_320 = 8,
|
||||||
|
#endif
|
||||||
} wmi_host_channel_width;
|
} wmi_host_channel_width;
|
||||||
|
|
||||||
#define ATH_EXPONENT_TO_VALUE(v) ((1<<v)-1)
|
#define ATH_EXPONENT_TO_VALUE(v) ((1<<v)-1)
|
||||||
|
@@ -52,6 +52,15 @@ static const wmi_host_channel_width mode_to_width[WMI_HOST_MODE_MAX] = {
|
|||||||
[WMI_HOST_MODE_11AX_HE40_2G] = WMI_HOST_CHAN_WIDTH_40,
|
[WMI_HOST_MODE_11AX_HE40_2G] = WMI_HOST_CHAN_WIDTH_40,
|
||||||
[WMI_HOST_MODE_11AX_HE80_2G] = WMI_HOST_CHAN_WIDTH_80,
|
[WMI_HOST_MODE_11AX_HE80_2G] = WMI_HOST_CHAN_WIDTH_80,
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef WLAN_FEATURE_11BE
|
||||||
|
[WMI_HOST_MODE_11BE_EHT20] = WMI_HOST_CHAN_WIDTH_20,
|
||||||
|
[WMI_HOST_MODE_11BE_EHT40] = WMI_HOST_CHAN_WIDTH_40,
|
||||||
|
[WMI_HOST_MODE_11BE_EHT80] = WMI_HOST_CHAN_WIDTH_80,
|
||||||
|
[WMI_HOST_MODE_11BE_EHT320] = WMI_HOST_CHAN_WIDTH_320,
|
||||||
|
[WMI_HOST_MODE_11BE_EHT160] = WMI_HOST_CHAN_WIDTH_160,
|
||||||
|
[WMI_HOST_MODE_11BE_EHT20_2G] = WMI_HOST_CHAN_WIDTH_20,
|
||||||
|
[WMI_HOST_MODE_11BE_EHT40_2G] = WMI_HOST_CHAN_WIDTH_40,
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
QDF_STATUS wmi_unified_soc_set_hw_mode_cmd(wmi_unified_t wmi_handle,
|
QDF_STATUS wmi_unified_soc_set_hw_mode_cmd(wmi_unified_t wmi_handle,
|
||||||
|
新增問題並參考
封鎖使用者