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

WMI defs for RADIO_CHAN_STATS messages

Change-Id: I5ae2e5007594e748ac36613c5a8ff7ad34f39fe1
CRs-Fixed: 1107600
This commit is contained in:
qcabuildsw
2017-01-17 21:02:04 -08:00
parent 5bf14e5820
commit 1563c4ad22
3 changed files with 103 additions and 3 deletions

View File

@@ -704,6 +704,9 @@ typedef enum {
/** One time request for peer stats info */
WMI_REQUEST_PEER_STATS_INFO_CMDID,
/** One time request for radio channel stats */
WMI_REQUEST_RADIO_CHAN_STATS_CMDID,
/** ARP OFFLOAD REQUEST*/
WMI_SET_ARP_NS_OFFLOAD_CMDID = WMI_CMD_GRP_START_ID(WMI_GRP_ARP_NS_OFL),
@@ -1255,6 +1258,9 @@ typedef enum {
* and report peer stats info to host */
WMI_PEER_STATS_INFO_EVENTID,
/** This event is used to respond to WMI_REQUEST_RADIO_CHAN_STATS_CMDID
* and report radio channel stats to host */
WMI_RADIO_CHAN_STATS_EVENTID,
/* NLO specific events */
/** NLO match event after the first match */
@@ -3870,6 +3876,16 @@ typedef enum {
*/
WMI_PDEV_PARAM_FAST_PWR_TRANSITION,
/** Enable/disable radio channel stats mechanism
* A zero value disables; a non-zero value enables.
*/
WMI_PDEV_PARAM_RADIO_CHAN_STATS_ENABLE,
/** Enable/disable radio diagnosis feature
* which allows retrieving the status of radio.
* A zero value disables; a non-zero value enables.
*/
WMI_PDEV_PARAM_RADIO_DIAGNOSIS_ENABLE,
} WMI_PDEV_PARAM;
typedef struct {
@@ -5371,6 +5387,48 @@ typedef struct {
*/
} wmi_peer_stats_info_event_fixed_param;
typedef struct {
/** TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_radio_chan_stats */
A_UINT32 tlv_header;
/** primary channel freq of the channel whose stats is sent */
A_UINT32 chan_mhz;
/** accumulation of time the radio is tuned to this channel,
* in units of microseconds */
A_UINT32 on_chan_us;
/** accumulation of the TX PPDU duration over the measurement period,
* in units of microseconds */
A_UINT32 tx_duration_us;
/** accumulation of the RX PPDU duration over the measurement period,
* in units of microseconds */
A_UINT32 rx_duration_us;
/** ratio of channel busy time to on_chan_us, in units of percent */
A_UINT32 chan_busy_ratio;
/** ratio of on_chan_us to the measurement period, in units of percent */
A_UINT32 on_chan_ratio;
/** measurement period, in units of microseconds */
A_UINT32 measurement_period_us;
/** MPDUs transmitted on this channel */
A_UINT32 tx_mpdus;
/** MSDUs transmitted on this channel */
A_UINT32 tx_msdus;
/** MPDUS successfully received on this channel */
A_UINT32 rx_succ_mpdus;
/** Failed MPDUs (CRC failures) received on this channel */
A_UINT32 rx_fail_mpdus;
} wmi_radio_chan_stats;
typedef struct {
/** TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_radio_chan_stats_event_fixed_param */
A_UINT32 tlv_header;
/** number of channel stats in radio_chan_stats[] */
A_UINT32 num_chans;
/* This TLV is followed by another TLV of array of structs
* wmi_radio_chan_stats radio_chan_stats[];
*/
} wmi_radio_chan_stats_event_fixed_param;
/**
* PDEV statistics
* @todo
@@ -16618,6 +16676,31 @@ typedef struct {
A_UINT32 reset_after_request;
} wmi_request_peer_stats_info_cmd_fixed_param;
typedef enum {
WMI_REQUEST_ONE_RADIO_CHAN_STATS = 0x01, /* request stats of one specified channel */
WMI_REQUEST_ALL_RADIO_CHAN_STATS = 0x02, /* request stats of all channels */
} wmi_radio_chan_stats_request_type;
/** It is required to issue WMI_PDEV_PARAM_RADIO_CHAN_STATS_ENABLE
* (with a non-zero value) before issuing the first REQUEST_RADIO_CHAN_STATS.
*/
typedef struct {
/** TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_request_radio_chan_stats_cmd_fixed_param */
A_UINT32 tlv_header;
/** request_type to indicate if only stats of
* one channel or all channels are requested,
* see wmi_radio_chan_stats_request_type.
*/
A_UINT32 request_type;
/** Frequency of channel whose stats is requested,
* only used when request_type == WMI_REQUEST_ONE_RADIO_CHAN_STATS
*/
A_UINT32 chan_mhz;
/** flag to indicate if FW needs to reset requested stats of specified channel/channels */
A_UINT32 reset_after_request;
} wmi_request_radio_chan_stats_cmd_fixed_param;
typedef struct {
/** TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_rmc_set_leader_cmd_fixed_param */
@@ -17439,6 +17522,8 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command)
WMI_RETURN_STRING(WMI_PDEV_SET_STATS_THRESHOLD_CMDID);
WMI_RETURN_STRING(WMI_REQUEST_WLAN_STATS_CMDID);
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);
}
return "Invalid WMI cmd";