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

Change-Id: If69d1f831dbdcf754bb398637aa615a193e605f8
WMI: add TDMA_SCHEDULE_REQUEST_CMD msg def
CRs-Fixed: 2262693
This commit is contained in:
spuligil 2023-01-12 12:01:05 -08:00
commit e4eb087da5
4 changed files with 87 additions and 1 deletions

View file

@ -609,6 +609,7 @@ typedef enum {
WMI_SERVICE_RTT_11AZ_TB_RSTA_SUPPORT = 356, /* FW support for 11AZ trigger based ranging Responder (RSTA) role */
WMI_SERVICE_SUPPORT_11D_FOR_HOST_SCAN = 357,
WMI_SERVICE_DETERMINISTIC_SCHEDULER_LEVEL0 = 358, /* FW supports 12.2 level scheduler mode disable commands and stats */
WMI_SERVICE_COORDINATED_AP_TDMA = 359, /* Support for Coordinated-AP TDMA feature */
WMI_MAX_EXT2_SERVICE

View file

@ -1333,6 +1333,7 @@ typedef enum {
WMITLV_TAG_STRUC_wmi_peer_sched_mode_disable_fixed_param,
WMITLV_TAG_STRUC_wmi_per_peer_sched_mode_disable,
WMITLV_TAG_STRUC_wmi_esl_egid_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_tdma_schedule_request_cmd_fixed_param,
} WMITLV_TAG_ID;
/*
@ -1849,6 +1850,7 @@ typedef enum {
OP(WMI_TAS_POWER_HISTORY_CMDID) \
OP(WMI_PEER_SCHED_MODE_DISABLE_CMDID) \
OP(WMI_ESL_EGID_CMDID) \
OP(WMI_TDMA_SCHEDULE_REQUEST_CMDID) \
/* add new CMD_LIST elements above this line */
@ -5254,6 +5256,10 @@ WMITLV_CREATE_PARAM_STRUC(WMI_ODD_LIVEDUMP_REQUEST_CMDID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_per_peer_sched_mode_disable, peer_info, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_PEER_SCHED_MODE_DISABLE_CMDID);
#define WMITLV_TABLE_WMI_TDMA_SCHEDULE_REQUEST_CMDID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_tdma_schedule_request_cmd_fixed_param, wmi_tdma_schedule_request_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_TDMA_SCHEDULE_REQUEST_CMDID);
/************************** TLV definitions of WMI events *******************************/

View file

@ -315,6 +315,7 @@ typedef enum {
WMI_GRP_SAWF, /* 0x49 SAWF (Service Aware WiFi) */
WMI_GRP_QUIET_OFL, /* 0x4a Quiet offloads */
WMI_GRP_ODD, /* 0x4b ODD */
WMI_GRP_TDMA, /* 0x4c TDMA */
} WMI_GRP_ID;
#define WMI_CMD_GRP_START_ID(grp_id) (((grp_id) << 12) | 0x1)
@ -1551,6 +1552,8 @@ typedef enum {
/* WMI commands specific to ODD */
WMI_ODD_LIVEDUMP_REQUEST_CMDID = WMI_CMD_GRP_START_ID(WMI_GRP_ODD),
/* WMI commands specific to TDMA */
WMI_TDMA_SCHEDULE_REQUEST_CMDID = WMI_CMD_GRP_START_ID(WMI_GRP_TDMA),
} WMI_CMD_ID;
typedef enum {
@ -33133,6 +33136,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command)
WMI_RETURN_STRING(WMI_VENDOR_PEER_CMDID);
WMI_RETURN_STRING(WMI_VDEV_SET_TWT_EDCA_PARAMS_CMDID); /* XPAN TWT */
WMI_RETURN_STRING(WMI_ESL_EGID_CMDID);
WMI_RETURN_STRING(WMI_TDMA_SCHEDULE_REQUEST_CMDID);
}
return (A_UINT8 *) "Invalid WMI cmd";
@ -41337,6 +41341,81 @@ typedef struct {
*/
} wmi_peer_sched_mode_disable_fixed_param;
/** Coordinated-AP TDMA **/
#define WMI_TDMA_MAX_ACTIVE_SCHEDULES 10
typedef struct {
A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_tdma_schedule_request_cmd_fixed_param **/
/** pdev_id
* PDEV ID for identifying the MAC for which this schedule
* is being requested.
*/
A_UINT32 pdev_id;
/** schedule_type
* 0 = Reserved
* 1 = Restricted
* UINT32_MAX = Cancel all TDMA schedules and ignore other parameters below.
*/
A_UINT32 schedule_type;
/** schedule_handle_id
* Unique ID to identify this TDMA schedule
*/
A_UINT32 schedule_handle_id;
/** owner_bssid
* The BSSID this TDMA schedule is reserved for
*/
wmi_mac_addr owner_bssid;
/** start_time_tsf_low
* Lower 32-bits of Synchronized Start time for the first busy slot
* in this TDMA schedule.
* It should be a PMM global FW TSF reference
*/
A_UINT32 start_time_tsf_low;
/** start_time_tsf_high
* Higher 32-bits of Synchronized Start time for the first busy slot
* in this TDMA schedule.
* It should be a PMM global FW TSF reference
*/
A_UINT32 start_time_tsf_high;
/** num_busy_slots
* Number of busy periods in this schedule
*/
A_UINT32 num_busy_slots;
/** busy_slot_dur_ms
* The fixed duration of each busy slot in milliseconds
*/
A_UINT32 busy_slot_dur_ms;
/** busy_slot_intvl_ms
* The fixed interval between the start of two consecutive busy slots
* in milliseconds.
*/
A_UINT32 busy_slot_intvl_ms;
/** edca_params_valid
* Indicates whether the following EDCA fields aifsn, ecwmin, ecwmax
* are valid or not
* 1 = Valid. 0 = Not Valid.
*/
A_UINT32 edca_params_valid;
/** aifsn
* Arbitration inter frame spacing number for this schedule type.
* Range: 2-15.
* For voice, video, best-effort, background ACs
*/
A_UINT32 aifsn[WMI_AC_MAX];
/** ecwmin
* Exponent form of Contention Window minimum value for this schedule type.
* Range: 2 - 1024.
* For voice, video, best-effort, background ACs
*/
A_UINT32 ecwmin[WMI_AC_MAX];
/** ecwmax
* Exponent form of Contention Window maximum value for this schedule type.
* Range: 2 - 1024.
* For voice, video, best-effort, background ACs
*/
A_UINT32 ecwmax[WMI_AC_MAX];
} wmi_tdma_schedule_request_cmd_fixed_param;
/* ADD NEW DEFS HERE */

View file

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