diff options
| author | gaolez <gaolez@codeaurora.org> | 2017-04-21 20:13:17 +0800 |
|---|---|---|
| committer | gaolez <gaolez@codeaurora.org> | 2017-04-21 20:14:36 +0800 |
| commit | 89d0847019b454b32ea6659ea1ded1c95d222d4c (patch) | |
| tree | f76642b97f6e2c74c723b59af7df28f55f0bdb6f | |
| parent | 52a34437f68a41f860e24c88d85eb694d49357cf (diff) | |
qcacld-2.0: CL 2975160 - update fw common interface files
WMI DBS scan duty cycle configuration message
Change-Id: Iaf05eb8f78e5e4932bf8e568c86c4c49b81e7690
CRs-fixed: 865207
| -rw-r--r-- | CORE/SERVICES/COMMON/wmi_tlv_defs.h | 10 | ||||
| -rw-r--r-- | CORE/SERVICES/COMMON/wmi_unified.h | 46 | ||||
| -rw-r--r-- | CORE/SERVICES/COMMON/wmi_version.h | 2 | ||||
| -rw-r--r-- | CORE/SERVICES/WMI/wmi_unified.c | 1 |
4 files changed, 58 insertions, 1 deletions
diff --git a/CORE/SERVICES/COMMON/wmi_tlv_defs.h b/CORE/SERVICES/COMMON/wmi_tlv_defs.h index df5c0d906668..18e03c374218 100644 --- a/CORE/SERVICES/COMMON/wmi_tlv_defs.h +++ b/CORE/SERVICES/COMMON/wmi_tlv_defs.h @@ -813,6 +813,8 @@ typedef enum { WMITLV_TAG_STRUC_wmi_he_rate_set, WMITLV_TAG_STRUC_wmi_congestion_stats, WMITLV_TAG_STRUC_wmi_set_init_country_cmd_fixed_param, + WMITLV_TAG_STRUC_wmi_scan_dbs_duty_cycle_fixed_param, + WMITLV_TAG_STRUC_wmi_scan_dbs_duty_cycle_param_tlv, } WMITLV_TAG_ID; /* @@ -1142,6 +1144,7 @@ typedef enum { OP(WMI_VDEV_GET_TX_POWER_CMDID) \ OP(WMI_OFFCHAN_DATA_TX_SEND_CMDID) \ OP(WMI_SET_INIT_COUNTRY_CMDID) \ + OP(WMI_SET_SCAN_DBS_DUTY_CYCLE_CMDID) \ /* add new CMD_LIST elements above this line */ /* @@ -1525,6 +1528,13 @@ WMITLV_CREATE_PARAM_STRUC(WMI_START_SCAN_CMDID); WMITLV_CREATE_PARAM_STRUC(WMI_SCAN_ADAPTIVE_DWELL_CONFIG_CMDID); +/* Set scan selection duty cycle */ +#define WMITLV_TABLE_WMI_SET_SCAN_DBS_DUTY_CYCLE_CMDID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_scan_dbs_duty_cycle_fixed_param, wmi_scan_dbs_duty_cycle_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_scan_dbs_duty_cycle_tlv_param, param, WMITLV_SIZE_VAR) + +WMITLV_CREATE_PARAM_STRUC(WMI_SET_SCAN_DBS_DUTY_CYCLE_CMDID); + /* Start ExtScan Cmd */ #define WMITLV_TABLE_WMI_EXTSCAN_START_CMDID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_extscan_start_cmd_fixed_param, wmi_extscan_start_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ diff --git a/CORE/SERVICES/COMMON/wmi_unified.h b/CORE/SERVICES/COMMON/wmi_unified.h index 8a95b1257b44..bd839b9a872c 100644 --- a/CORE/SERVICES/COMMON/wmi_unified.h +++ b/CORE/SERVICES/COMMON/wmi_unified.h @@ -272,6 +272,8 @@ typedef enum { WMI_SCAN_PROB_REQ_OUI_CMDID, /** config adaptive dwell scan */ WMI_SCAN_ADAPTIVE_DWELL_CONFIG_CMDID, + /** Only applicable to DBS capable product */ + WMI_SET_SCAN_DBS_DUTY_CYCLE_CMDID, /* PDEV(physical device) specific commands */ /** set regulatorty ctl id used by FW to determine the exact ctl power limits */ @@ -2083,6 +2085,7 @@ typedef enum { WMI_FW_AP_RTT_RESPR = 0x00000080, WMI_FW_NAN_RTT_INITR = 0x00000100, WMI_FW_NAN_RTT_RESPR = 0x00000200, + WMI_FW_SCAN_DBS_POLICY = 0x00000400, /* * New fw sub feature capabilites before * WMI_FW_MAX_SUB_FEAT_CAP @@ -2517,6 +2520,9 @@ typedef struct { * which is using MAC ID. 1 means PDEV ID, 0 means MAC ID. */ A_UINT32 use_pdev_id; + + /** Maximum number of scan clients whose DBS scan duty cycle can be configured */ + A_UINT32 max_num_dbs_scan_duty_cycle; } wmi_resource_config; #define WMI_RSRC_CFG_FLAG_SET(word32, flag, value) \ @@ -2752,6 +2758,8 @@ typedef struct { A_UINT32 ie_bitmap[WMI_IE_BITMAP_SIZE]; /** Number of vendor OUIs. In the TLV vendor_oui[] **/ A_UINT32 num_vendor_oui; + /** Scan control flags extended **/ + A_UINT32 scan_ctrl_flags_ext; /** * TLV (tag length value ) parameters follow the scan_cmd @@ -2848,6 +2856,17 @@ typedef enum { #define WMI_SCN_STOP_VAP_ALL 0x01000000 #define WMI_SCAN_STOP_ALL 0x04000000 +/** extended Scan ctrl flags **/ +#define WMI_SCAN_FLAG_EXT_DBS_SCAN_POLICY_MASK 0x00000003 /* Bit 0-1 reserved for DBS scan selection policy.*/ + +#define WMI_SCAN_DBS_POLICY_DEFAULT 0x0 /** Select duty cycle if configured, else fall back to whatever + policy scan manager computes */ +#define WMI_SCAN_DBS_POLICY_FORCE_NONDBS 0x1 /** Force to select Non-DBS scan */ +#define WMI_SCAN_DBS_POLICY_IGNORE_DUTY 0x2 /** Ignore duty cycle even if configured and fall back to whatever + policy scan manager computes*/ +#define WMI_SCAN_DBS_POLICY_RESERVED 0x3 +#define WMI_SCAN_DBS_POLICY_MAX 0x3 + typedef struct { A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_stop_scan_cmd_fixed_param */ /** requestor requesting cancel */ @@ -18368,6 +18387,32 @@ typedef struct { */ } wmi_scan_adaptive_dwell_config_fixed_param; +typedef struct { + A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_scan_dbs_duty_cycle_param_tlv */ + /** module_id **/ + A_UINT32 module_id; + /** number of dbs scans */ + A_UINT32 num_dbs_scans; + /** number of non-dbs scans */ + A_UINT32 num_non_dbs_scans; +} wmi_scan_dbs_duty_cycle_tlv_param; + +typedef struct { + A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_scan_dbs_duty_cycle_fixed_param */ + /* number of scan client dutycycle param elements */ + A_UINT32 num_clients; + /** pdev_id for identifying the MAC + * See macros starting with WMI_PDEV_ID_ for values. + * In non-DBDC case host should set it to 0 + */ + A_UINT32 pdev_id; +/** + * followed by TLV (tag length value) parameters array + * The TLV's are: + * wmi_scan_selection_duty_cycle_tlv_param[num_clients]; + */ +} wmi_scan_dbs_duty_cycle_fixed_param; + typedef enum { WMI_REG_EXT_FCC_MIDBAND = 0, WMI_REG_EXT_JAPAN_MIDBAND = 1, @@ -18977,6 +19022,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command) WMI_RETURN_STRING(WMI_VDEV_GET_TX_POWER_CMDID); WMI_RETURN_STRING(WMI_OFFCHAN_DATA_TX_SEND_CMDID); WMI_RETURN_STRING(WMI_SET_INIT_COUNTRY_CMDID); + WMI_RETURN_STRING(WMI_SET_SCAN_DBS_DUTY_CYCLE_CMDID); } return "Invalid WMI cmd"; diff --git a/CORE/SERVICES/COMMON/wmi_version.h b/CORE/SERVICES/COMMON/wmi_version.h index 6375e585c3e5..6032bb95c820 100644 --- a/CORE/SERVICES/COMMON/wmi_version.h +++ b/CORE/SERVICES/COMMON/wmi_version.h @@ -36,7 +36,7 @@ #define __WMI_VER_MINOR_ 0 /** WMI revision number has to be incremented when there is a * change that may or may not break compatibility. */ -#define __WMI_REVISION_ 374 +#define __WMI_REVISION_ 375 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work diff --git a/CORE/SERVICES/WMI/wmi_unified.c b/CORE/SERVICES/WMI/wmi_unified.c index a98982f19b10..120f0fef8ef7 100644 --- a/CORE/SERVICES/WMI/wmi_unified.c +++ b/CORE/SERVICES/WMI/wmi_unified.c @@ -746,6 +746,7 @@ static u_int8_t* get_wmi_cmd_string(WMI_CMD_ID wmi_command) CASE_RETURN_STRING(WMI_VDEV_GET_TX_POWER_CMDID); CASE_RETURN_STRING(WMI_OFFCHAN_DATA_TX_SEND_CMDID); CASE_RETURN_STRING(WMI_SET_INIT_COUNTRY_CMDID); + CASE_RETURN_STRING(WMI_SET_SCAN_DBS_DUTY_CYCLE_CMDID); } return "Invalid WMI cmd"; } |
