qcacld-3.0: Add configuration support for vdev dot11 mode
Add user configuration support to configure dot11 modes for different vdev types. Change-Id: I338d9d76f000195d1798bbc8b3b7ff1fb33ee305 CRs-Fixed: 2760240
This commit is contained in:

committad av
snandini

förälder
59d4af5c85
incheckning
6ae664ed6c
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2012-2019 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2012-2020 The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@@ -31,8 +31,58 @@
|
||||
CFG_VALUE_OR_DEFAULT, \
|
||||
"dot 11 mode")
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* vdev_dot11_mode- Bit mask to set the dot11 mode for different vdev types
|
||||
* @Min: 0x0
|
||||
* @Max: 0x333333
|
||||
* @Default: 0
|
||||
*
|
||||
* This ini is used to set the dot11mode different vdev types.
|
||||
* dot11_mode ini value (CFG_DOT11_MODE) is the master configuration
|
||||
* Min configuration of INI dot11_mode and vdev_dot11_mode is used for that
|
||||
* vdev type.
|
||||
* dot11_mode vdev_dot11_mode dot11_mode_used
|
||||
* 11AX 11AC 11AC
|
||||
* 11AC 11AX 11AC
|
||||
*
|
||||
* Dot11 mode value is 4 bit length for each vdev. Below is the bit definition
|
||||
* for different vdev types dot11 mode value bit index.
|
||||
*
|
||||
* Bits used for dot11mode Vdev Type
|
||||
* BIT[3:0] STA mode
|
||||
* BIT[7:4] P2P_CLI/P2P_DEVICE mode
|
||||
* BIT[11:8] NAN DISCOVERY
|
||||
* BIT[15:12] OCB
|
||||
* BIT[19:16] TDLS
|
||||
* BIT[23:20] NDI mode
|
||||
*
|
||||
* Dot11 mode value to be set in the above bit definition:
|
||||
* 0 - Auto, Uses CFG_DOT11_MODE setting
|
||||
* 1 - HT mode(11N)
|
||||
* 2 - VHT mode(11AC)
|
||||
* 3 - HE mode(11AX)
|
||||
*
|
||||
* E.g: vdev_dot11_mode=0x013220
|
||||
*
|
||||
* 0 1 3 2 2 0
|
||||
* NDI(auto) TDLS HT OCB_HE VHT NAN_DISC VHT P2P STA_AUTO
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_VDEV_DOT11_MODE CFG_INI_UINT( \
|
||||
"vdev_dot11_mode", \
|
||||
0, \
|
||||
0x333333, \
|
||||
0, \
|
||||
CFG_VALUE_OR_DEFAULT, \
|
||||
"vdev dot 11 mode")
|
||||
|
||||
#define CFG_DOT11_MODE_ALL \
|
||||
CFG(CFG_DOT11_MODE) \
|
||||
CFG(CFG_VDEV_DOT11_MODE) \
|
||||
|
||||
#endif /* __CFG_MLME_DOT11MODE_H */
|
||||
|
||||
|
@@ -43,6 +43,13 @@
|
||||
#define CFG_VHT_TX_MCS_MAP_STAMAX 0xFFFF
|
||||
#define CFG_VHT_TX_MCS_MAP_STADEF 0xFFFE
|
||||
|
||||
#define STA_DOT11_MODE_INDX 0
|
||||
#define P2P_DEV_DOT11_MODE_INDX 4
|
||||
#define NAN_DISC_DOT11_MODE_INDX 8
|
||||
#define OCB_DOT11_MODE_INDX 12
|
||||
#define TDLS_DOT11_MODE_INDX 16
|
||||
#define NDI_DOT11_MODE_INDX 20
|
||||
|
||||
/* Roam debugging related macro defines */
|
||||
#define MAX_ROAM_DEBUG_BUF_SIZE 250
|
||||
#define MAX_ROAM_EVENTS_SUPPORTED 5
|
||||
@@ -195,13 +202,29 @@ enum mlme_dot11_mode {
|
||||
MLME_DOT11_MODE_11AX_ONLY
|
||||
};
|
||||
|
||||
/**
|
||||
* enum mlme_vdev_dot11_mode - Dot11 mode of the vdev
|
||||
* MLME_VDEV_DOT11_MODE_AUTO: vdev uses mlme_dot11_mode
|
||||
* MLME_VDEV_DOT11_MODE_11N: vdev supports 11N mode
|
||||
* MLME_VDEV_DOT11_MODE_11AC: vdev supports 11AC mode
|
||||
* MLME_VDEV_DOT11_MODE_11AX: vdev supports 11AX mode
|
||||
*/
|
||||
enum mlme_vdev_dot11_mode {
|
||||
MLME_VDEV_DOT11_MODE_AUTO,
|
||||
MLME_VDEV_DOT11_MODE_11N,
|
||||
MLME_VDEV_DOT11_MODE_11AC,
|
||||
MLME_VDEV_DOT11_MODE_11AX,
|
||||
};
|
||||
|
||||
/**
|
||||
* struct wlan_mlme_dot11_mode - dot11 mode
|
||||
*
|
||||
* @dot11_mode: dot11 mode supported
|
||||
* @vdev_type_dot11_mode: dot11 mode supported by different vdev types
|
||||
*/
|
||||
struct wlan_mlme_dot11_mode {
|
||||
enum mlme_dot11_mode dot11_mode;
|
||||
uint32_t vdev_type_dot11_mode;
|
||||
};
|
||||
|
||||
/**
|
||||
|
Referens i nytt ärende
Block a user