qcacmn: Add 11BE wireless mode and NO11BE phybitmap

Extract the 11BE flags advertised by FW in WMI_SERVICE_READY_EXT2_EVENTID
and update the regulatory pdev wireless modes. The wireless mode is
currently represented as 'uint32_t' and all the 32 bits are exhausted.
To accommodate the new 11BE flags, change the data type of wireless_modes
from 'uint32_t' to 'uint64_t'.

Add a regulatory phymode 'REG_PHYMODE_11BE' in enum reg_phymode.

If the chip does not support 11BE phymode, FW advertises it via
WMI_REGULATORY_PHYBITMAP enum with a value of REGULATORY_PHYMODE_NO11BE.
Extract the phybitmap and store it in the regualtory
as 'REGULATORY_PHYMODE_NO11BE' bitmap.

CRs-Fixed: 2901260
Change-Id: I4ed3fc7c907b1f76e59efb347c747acea2a163b0
This commit is contained in:
Priyadarshnee Srinivasan
2021-04-08 16:03:54 +05:30
committed by snandini
parent 28de31d838
commit 2b51168ba8
12 changed files with 141 additions and 15 deletions

View File

@@ -551,6 +551,15 @@ typedef struct {
* @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,
@@ -585,7 +594,18 @@ typedef enum {
WMI_HOST_REGDMN_MODE_11AXA_HE80 = 0x20000000,
WMI_HOST_REGDMN_MODE_11AXA_HE160 = 0x40000000,
WMI_HOST_REGDMN_MODE_11AXA_HE80_80 = 0x80000000,
WMI_HOST_REGDMN_MODE_ALL = 0xffffffff
#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;
/**