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

Change-Id: If9c213170aaa86be92ed41ea59b7d45b9b66f492
WMI: msg defs for audio sync of MAC timer and Qtimer
CRs-Fixed: 2262693
This commit is contained in:
spuligil
2019-12-26 18:00:34 -08:00
parent c22e87a9ec
commit 300eddd4f2
4 changed files with 120 additions and 1 deletions

View File

@@ -420,6 +420,7 @@ typedef enum {
WMI_SERVICE_BW_RESTRICTED_80P80_SUPPORT = WMI_SERVICE_BW_165MHZ_SUPPORT,
WMI_SERVICE_NAN_NDI_SAP_SAP_SCC_SUPPORT = 230, /* Support SAP + SAP + NAN discovery + NDI concurrency in SCC mode */
WMI_SERVICE_NAN_VDEV_SUPPORT = 231, /* indicates firmware is dependent on host to create NAN vdev */
WMI_SERVICE_AUDIO_SYNC_SUPPORT = 232, /* Indicate FW supports Audio sync feature */
/******* ADD NEW SERVICES HERE *******/

View File

@@ -1035,6 +1035,11 @@ typedef enum {
WMITLV_TAG_STRUC_wmi_audio_aggr_set_group_auto_rate,
WMITLV_TAG_STRUC_wmi_audio_aggr_set_group_probe,
WMITLV_TAG_STRUC_wmi_audio_aggr_update_sta_group_info,
WMITLV_TAG_STRUC_wmi_audio_sync_trigger_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_audio_sync_qtimer_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_audio_sync_start_stop_event_fixed_param,
WMITLV_TAG_STRUC_wmi_audio_sync_q_master_slave_offset_event_fixed_param,
WMITLV_TAG_STRUC_wmi_audio_sync_q_master_slave_times,
} WMITLV_TAG_ID;
/*
@@ -1459,6 +1464,8 @@ typedef enum {
OP(WMI_SET_OCL_CMDID) \
OP(WMI_AUDIO_AGGR_SET_GROUP_AUTO_RATE_CMDID) \
OP(WMI_AUDIO_AGGR_SET_GROUP_PROBE_CMDID) \
OP(WMI_VDEV_AUDIO_SYNC_TRIGGER_CMDID) \
OP(WMI_VDEV_AUDIO_SYNC_QTIMER_CMDID) \
/* add new CMD_LIST elements above this line */
@@ -1698,6 +1705,8 @@ typedef enum {
OP(WMI_ROAM_PMKID_REQUEST_EVENTID) \
OP(WMI_GET_CHANNEL_ANI_EVENTID) \
OP(WMI_ROAM_STATS_EVENTID) \
OP(WMI_VDEV_AUDIO_SYNC_START_STOP_EVENTID) \
OP(WMI_VDEV_AUDIO_SYNC_Q_MASTER_SLAVE_OFFSET_EVENTID) \
/* add new EVT_LIST elements above this line */
@@ -4241,6 +4250,14 @@ WMITLV_CREATE_PARAM_STRUC(WMI_CFR_CAPTURE_FILTER_CMDID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_config_vlan_cmd_fixed_param, wmi_peer_config_vlan_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_PEER_CONFIG_VLAN_CMDID);
#define WMITLV_TABLE_WMI_VDEV_AUDIO_SYNC_TRIGGER_CMDID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_audio_sync_trigger_cmd_fixed_param, wmi_audio_sync_trigger_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_AUDIO_SYNC_TRIGGER_CMDID);
#define WMITLV_TABLE_WMI_VDEV_AUDIO_SYNC_QTIMER_CMDID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_audio_sync_qtimer_cmd_fixed_param, wmi_audio_sync_qtimer_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_AUDIO_SYNC_QTIMER_CMDID);
/************************** TLV definitions of WMI events *******************************/
@@ -5378,6 +5395,15 @@ WMITLV_CREATE_PARAM_STRUC(WMI_RADIO_TX_POWER_LEVEL_STATS_EVENTID);
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_rmc_manual_leader_event_fixed_param, wmi_rmc_manual_leader_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_RMC_NEW_LEADER_EVENTID);
#define WMITLV_TABLE_WMI_VDEV_AUDIO_SYNC_START_STOP_EVENTID(id, op, buf, len) \
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_audio_sync_start_stop_event_fixed_param, wmi_audio_sync_start_stop_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_AUDIO_SYNC_START_STOP_EVENTID);
#define WMITLV_TABLE_WMI_VDEV_AUDIO_SYNC_Q_MASTER_SLAVE_OFFSET_EVENTID(id, op, buf, len) \
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_audio_sync_q_master_slave_offset_event_fixed_param, wmi_audio_sync_q_master_slave_offset_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_audio_sync_q_master_slave_times, audio_sync_q_master_slave_times, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_AUDIO_SYNC_Q_MASTER_SLAVE_OFFSET_EVENTID);
/* Layout of WMI_REPORT_STATS_EVENTID message:
* fixed_param;
* wmi_chan_cca_stats chan_cca_stats[]; Array length is specified by num_chan_cca_stats

View File

@@ -487,6 +487,10 @@ typedef enum {
WMI_VDEV_DELETE_ALL_PEER_CMDID,
/* To set bss max idle time related parameters */
WMI_VDEV_BSS_MAX_IDLE_TIME_CMDID,
/** Indicates FW to trigger Audio sync */
WMI_VDEV_AUDIO_SYNC_TRIGGER_CMDID,
/** Gives Qtimer value to FW */
WMI_VDEV_AUDIO_SYNC_QTIMER_CMDID,
/* peer specific commands */
@@ -1447,6 +1451,11 @@ typedef enum {
/* FW response to Host for delete all peer cmdid */
WMI_VDEV_DELETE_ALL_PEER_RESP_EVENTID,
/** Indicates host to start/stop strobing for QTIMER periodically */
WMI_VDEV_AUDIO_SYNC_START_STOP_EVENTID,
/** Sends the final offset in the QTIMERs of both master and slave */
WMI_VDEV_AUDIO_SYNC_Q_MASTER_SLAVE_OFFSET_EVENTID,
/* peer specific events */
/** FW reauet to kick out the station for reasons like inactivity,lack of response ..etc */
@@ -3266,6 +3275,14 @@ typedef struct {
#define WMI_RSRC_CFG_FLAG_BSS_MAX_IDLE_TIME_SUPPORT_S 28
#define WMI_RSRC_CFG_FLAG_BSS_MAX_IDLE_TIME_SUPPORT_M 0x10000000
/*
* If this bit is set, then target should use the audio sync feature.
* Host should only set this bit if the target has indicated via the
* WMI_SERVICE_AUDIO_SYNC_SUPPORT flag that it supports audio sync.
*/
#define WMI_RSRC_CFG_FLAG_AUDIO_SYNC_SUPPORT_S 29
#define WMI_RSRC_CFG_FLAG_AUDIO_SYNC_SUPPORT_M 0x20000000
A_UINT32 flag1;
/** @brief smart_ant_cap - Smart Antenna capabilities information
@@ -3638,6 +3655,11 @@ typedef struct {
#define WMI_RSRC_CFG_FLAG_BSS_MAX_IDLE_TIME_SUPPORT_GET(word32) \
WMI_RSRC_CFG_FLAG_GET((word32), BSS_MAX_IDLE_TIME_SUPPORT)
#define WMI_RSRC_CFG_FLAG_AUDIO_SYNC_SUPPORT_SET(word32, value) \
WMI_RSRC_CFG_FLAG_SET((word32), AUDIO_SYNC_SUPPORT, (value))
#define WMI_RSRC_CFG_FLAG_AUDIO_SYNC_SUPPORT_GET(word32) \
WMI_RSRC_CFG_FLAG_GET((word32), AUDIO_SYNC_SUPPORT)
#define WMI_RSRC_CFG_FLAGS2_RE_ULRESP_PDEV_CFG_GET(flags2, pdev_id) \
WMI_GET_BITS(flags2, pdev_id, 1)
#define WMI_RSRC_CFG_FLAGS2_RE_ULRESP_PDEV_CFG_SET(flags2, pdev_id, value) \
@@ -23849,6 +23871,56 @@ typedef struct {
wmi_mac_addr leader_mac_addr;
} wmi_rmc_manual_leader_event_fixed_param;
typedef struct {
/** TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_audio_sync_start_event_fixed_param
*/
A_UINT32 tlv_header;
/* VDEV identifier */
A_UINT32 vdev_id;
/* periodicity:
* How frequently (in msec) FW wants host to capture the Q_TIMER.
* periodicity = 0 indicates to the host to stop capturing the QTIMERs.
*/
A_UINT32 periodicity;
/* No of Qtimer captures FW wants */
A_UINT32 reads_needed;
/* Lower 32 bits of the mac timer. Value is valid only if periodicity = 0 */
A_UINT32 mac_timer_l32;
/* Upper 32 bits of the mac timer. Value is valid only if periodicity = 0 */
A_UINT32 mac_timer_u32;
/* Lower 32 bits of the Qtimer. Value is valid only if periodicity = 0 */
A_UINT32 qtimer_l32;
/* Upper 32 bits of the Qtimer. Value is valid only if periodicity = 0 */
A_UINT32 qtimer_u32;
} wmi_audio_sync_start_stop_event_fixed_param;
typedef struct {
/** TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_audio_sync_q_mac_relation_event_fixed_param */
A_UINT32 tlv_header;
/* VDEV identifier */
A_UINT32 vdev_id;
/* Lower 32 bits of the offset between Qmaster and Qslave */
A_UINT32 offset_l32;
/* Upper 32 bits of the offset between Qmaster and Qslave */
A_UINT32 offset_u32;
} wmi_audio_sync_q_master_slave_offset_event_fixed_param;
typedef struct {
/** TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_audio_sync_q_mac_relation_event_fixed_param */
A_UINT32 tlv_header;
/* Lower 32 bits of the Qtimer of master */
A_UINT32 qmaster_l32;
/* Upper 32 bits of the Qtimer of master */
A_UINT32 qmaster_u32;
/* Lower 32 bits of the Qtimer of slave*/
A_UINT32 qslave_l32;
/* Upper 32 bits of the Qtimer of slave*/
A_UINT32 qslave_u32;
} wmi_audio_sync_q_master_slave_times;
typedef enum {
WLAN_2G_CAPABILITY = 0x1,
WLAN_5G_CAPABILITY = 0x2,
@@ -25030,6 +25102,8 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command)
WMI_RETURN_STRING(WMI_SET_OCL_CMDID);
WMI_RETURN_STRING(WMI_AUDIO_AGGR_SET_GROUP_AUTO_RATE_CMDID);
WMI_RETURN_STRING(WMI_AUDIO_AGGR_SET_GROUP_PROBE_CMDID);
WMI_RETURN_STRING(WMI_VDEV_AUDIO_SYNC_TRIGGER_CMDID);
WMI_RETURN_STRING(WMI_VDEV_AUDIO_SYNC_QTIMER_CMDID);
}
return "Invalid WMI cmd";
@@ -28420,6 +28494,24 @@ typedef struct {
A_UINT32 en_dis_chain;
} wmi_set_ocl_cmd_fixed_param;
typedef struct {
A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_audio_sync_qtimer */
A_UINT32 vdev_id;
A_UINT32 qtimer_l32;
A_UINT32 qtimer_u32;
} wmi_audio_sync_qtimer_cmd_fixed_param;
typedef struct {
A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_audio_sync_trigger */
A_UINT32 vdev_id;
/* agg_relation:
* indicates whether host needs only one pair of Qmaster and Qslave,
* or Qmaster and Qslave pairs derived for each FTM frame exchange.
* 0 indicates one pair for each FTM frame exchanged
* 1 indicates only one pair of Qmaster and Qslave times.
*/
A_UINT32 agg_relation;
} wmi_audio_sync_trigger_cmd_fixed_param;
#define WMI_CFR_GROUP_TA_ADDR_VALID_BIT_POS 0
#define WMI_CFR_GROUP_TA_ADDR_MASK_VALID_BIT_POS 1

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