diff options
| author | Sandeep Puligilla <spuligil@codeaurora.org> | 2017-04-06 10:40:41 -0700 |
|---|---|---|
| committer | Ganesh Kondabattini <ganeshk@codeaurora.org> | 2017-04-15 07:11:57 +0530 |
| commit | e97cfb91bbad5e28273fd682019f8d37eaed47fa (patch) | |
| tree | 45be6b15b7cad034a57c3739b9859d24ed0a08da | |
| parent | f39708c36f263116be7758d9e7bfc0a1a94c8b76 (diff) | |
fw-api: CL 2975160 - update fw common interface files
WMI DBS scan duty cycle configuration message
Change-Id: I3b56c81d046292ed0367d7627fb426a86a176903
CRs-Fixed: 1107600
| -rwxr-xr-x | fw/wmi_tlv_defs.h | 10 | ||||
| -rwxr-xr-x | fw/wmi_unified.h | 47 | ||||
| -rwxr-xr-x | fw/wmi_version.h | 2 |
3 files changed, 58 insertions, 1 deletions
diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index a0a3d18a49f2..eb4320bffdf1 100755 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -819,6 +819,8 @@ typedef enum { WMITLV_TAG_STRUC_wmi_tx_send_params, WMITLV_TAG_STRUC_wmi_he_rate_set, WMITLV_TAG_STRUC_wmi_congestion_stats, + WMITLV_TAG_STRUC_wmi_scan_dbs_duty_cycle_fixed_param, + WMITLV_TAG_STRUC_wmi_scan_dbs_duty_cycle_param_tlv, } WMITLV_TAG_ID; /* @@ -1148,6 +1150,7 @@ typedef enum { OP(WMI_VDEV_GET_ARP_STAT_CMDID) \ OP(WMI_VDEV_GET_TX_POWER_CMDID) \ OP(WMI_OFFCHAN_DATA_TX_SEND_CMDID) \ + OP(WMI_SET_SCAN_DBS_DUTY_CYCLE_CMDID) \ /* add new CMD_LIST elements above this line */ @@ -1537,6 +1540,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/fw/wmi_unified.h b/fw/wmi_unified.h index c5f28e137f62..08c0f38748a2 100755 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -271,6 +271,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 */ @@ -2070,6 +2072,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 @@ -2504,6 +2507,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) \ @@ -2732,6 +2738,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 @@ -2827,6 +2835,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 */ @@ -18202,6 +18221,33 @@ 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, @@ -18810,6 +18856,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command) WMI_RETURN_STRING(WMI_VDEV_GET_ARP_STAT_CMDID); WMI_RETURN_STRING(WMI_VDEV_GET_TX_POWER_CMDID); WMI_RETURN_STRING(WMI_OFFCHAN_DATA_TX_SEND_CMDID); + WMI_RETURN_STRING(WMI_SET_SCAN_DBS_DUTY_CYCLE_CMDID); } return "Invalid WMI cmd"; diff --git a/fw/wmi_version.h b/fw/wmi_version.h index cb360193c96a..bc57af7e4c15 100755 --- a/fw/wmi_version.h +++ b/fw/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_ 373 +#define __WMI_REVISION_ 375 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work |
