fw-api: CL 2759760 - update fw common interface files

define WMI CMD message to configure monitoring PPDU rates as a roam trigger

Change-Id: Ic309ec8491a39efe0050d3850477dbe00819f293
CRs-Fixed: 1107600
This commit is contained in:
qcabuildsw 2017-01-17 21:04:39 -08:00
commit abf9942df0
3 changed files with 45 additions and 1 deletions

View file

@ -788,6 +788,7 @@ typedef enum {
WMITLV_TAG_STRUC_wmi_request_radio_chan_stats_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_radio_chan_stats,
WMITLV_TAG_STRUC_wmi_radio_chan_stats_event_fixed_param,
WMITLV_TAG_STRUC_wmi_roam_per_config_fixed_param,
} WMITLV_TAG_ID;
/*
@ -1104,6 +1105,7 @@ typedef enum {
OP(WMI_11D_SCAN_START_CMDID) \
OP(WMI_11D_SCAN_STOP_CMDID) \
OP(WMI_REQUEST_RADIO_CHAN_STATS_CMDID) \
OP(WMI_ROAM_PER_CONFIG_CMDID) \
/* add new CMD_LIST elements above this line */
@ -1451,6 +1453,12 @@ WMITLV_CREATE_PARAM_STRUC(WMI_ROAM_SCAN_CMD);
WMITLV_CREATE_PARAM_STRUC(WMI_ROAM_SET_MBO_PARAM_CMDID);
/* Roam PER configure cmd */
#define WMITLV_TABLE_WMI_ROAM_PER_CONFIG_CMDID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_roam_per_config_fixed_param, wmi_roam_per_config_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_ROAM_PER_CONFIG_CMDID);
#define WMITLV_TABLE_WMI_VDEV_PLMREQ_START_CMDID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_plmreq_start_cmd_fixed_param, wmi_vdev_plmreq_start_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, channel_list, WMITLV_SIZE_VAR)

View file

@ -552,6 +552,8 @@ typedef enum {
WMI_ROAM_CONFIGURE_MAWC_CMDID,
/** configure MultiBand Operation(refer WFA MBO spec) parameter */
WMI_ROAM_SET_MBO_PARAM_CMDID, /* DEPRECATED */
/** configure packet error rate threshold for triggering roaming */
WMI_ROAM_PER_CONFIG_CMDID,
/** offload scan specific commands */
/** set offload scan AP profile */
@ -15557,6 +15559,39 @@ typedef struct {
A_UINT32 suppress_ratio;
} wmi_extscan_configure_mawc_cmd_fixed_param;
typedef struct {
/* TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_roam_per_config_fixed_param */
A_UINT32 tlv_header;
/* Unique id identifying the VDEV */
A_UINT32 vdev_id;
/* enable(1) or disable(0) packet error rate trigger for roaming */
A_UINT32 enable;
/* high_rate_thresh, low_rate_thresh, pkt_err_rate_thresh_pct:
* If PER monitoring as a trigger for roaming is enabled,
* it is controlled by high_rate_thresh, low_rate_thresh, and
* pkt_err_rate_thresh_pct.
* PER monitoring is performed only when the time-averaged throughput
* is less than high_rate_thresh.
* During PER monitoring, the target keeps track of the PHY rate for
* each of the first N PPDUs within a time window.
* If the number of PPDUs with PHY rate < low_rate_thresh exceeds
* N * pkt_err_rate_thresh_pct / 100, roaming will be triggered.
*
* This PER monitoring as a trigger for roaming is performed
* concurrently but independently for rx and tx.
*/
A_UINT32 high_rate_thresh; /* units = Kbps */
A_UINT32 low_rate_thresh; /* units = Kbps */
A_UINT32 pkt_err_rate_thresh_pct;
/*
* rest time after associating to a new AP before
* starting to monitor PER as a roaming trigger,
* (units are seconds)
*/
A_UINT32 per_rest_time;
} wmi_roam_per_config_fixed_param;
typedef struct {
/* TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_nlo_configure_mawc_cmd_fixed_param */
@ -17524,6 +17559,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command)
WMI_RETURN_STRING(WMI_VDEV_ENCRYPT_DECRYPT_DATA_REQ_CMDID);
WMI_RETURN_STRING(WMI_REQUEST_PEER_STATS_INFO_CMDID);
WMI_RETURN_STRING(WMI_REQUEST_RADIO_CHAN_STATS_CMDID);
WMI_RETURN_STRING(WMI_ROAM_PER_CONFIG_CMDID);
}
return "Invalid WMI cmd";

View file

@ -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_ 330
#define __WMI_REVISION_ 331
/** The Version Namespace should not be normally changed. Only
* host and firmware of the same WMI namespace will work