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

Change-Id: I605b82a645a6cae125cde029e900920ded490573
CRs-Fixed: 3830439
This commit is contained in:
spuligil 2026-03-11 18:01:46 -07:00
commit af2c7743fa
4 changed files with 237 additions and 6 deletions

View file

@ -769,6 +769,11 @@ typedef enum {
WMI_SERVICE_SUPPORT_WOW_OLE_DAL = 495,
/* Indicate FW support for PASSTHRU VDEV Channel Hopping Schedule */
WMI_SERVICE_PASSTHRU_VDEV_CHAN_HOP_SCHEDULE_SUPPORT = 496,
/*
* Indicates FW support for shared memory model to pass
* ongoing TBTT count downs to Host.
*/
WMI_SERVICE_SHARED_MEM_MODEL_TBTT_COUNT_DOWN = 497,
WMI_MAX_EXT2_SERVICE

View file

@ -1596,6 +1596,9 @@ typedef enum {
WMITLV_TAG_STRUC_wmi_coex_policy_stats_event_fixed_param,
WMITLV_TAG_STRUC_wmi_channel_hopping_channel_params,
WMITLV_TAG_STRUC_wmi_uhr_rate_set,
WMITLV_TAG_STRUC_wmi_shared_mem_model_tbtt_count_down_config,
WMITLV_TAG_STRUC_wmi_vdev_create_tbtt_count_down_offset_info,
WMITLV_TAG_STRUC_wmi_vdev_start_uhr_config,
} WMITLV_TAG_ID;
/*
* IMPORTANT: Please add _ALL_ WMI Commands Here.
@ -2974,7 +2977,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_SET_WMM_PARAMS_CMDID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_partner_link_params, partner_link_params, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_channel, dbw_chan, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_dbw_chan_info, dbw_chan_info, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_vdev_start_smd_params, smd_params, WMITLV_SIZE_VAR)
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_vdev_start_smd_params, smd_params, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_vdev_start_uhr_config, uhr_config, WMITLV_SIZE_VAR)
/* NOTE:
* Any new TLV addition in WMI_VDEV_START_REQUEST_CMDID needs to be included as
* TLV in WMI_VDEV_UNIFIED_CONNECT_CMDID as well to maintain compatibility.
@ -3892,7 +3896,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_SET_CUSTOM_AGGR_SIZE_CMDID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_create_cmd_fixed_param, wmi_vdev_create_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_vdev_txrx_streams, cfg_txrx_streams, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_vdev_create_mlo_params, mlo_params, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_vdev_create_wfdr2_mode_params, wfdr2_mode, WMITLV_SIZE_VAR)
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_vdev_create_wfdr2_mode_params, wfdr2_mode, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_vdev_create_tbtt_count_down_offset_info, offset_info, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_CREATE_CMDID);
@ -6453,7 +6458,7 @@ WMITLV_CREATE_PARAM_STRUC(WMI_SERVICE_READY_EXT_EVENTID);
/* SERVICE_READY_EXT2 event */
#define WMITLV_TABLE_WMI_SERVICE_READY_EXT2_EVENTID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_service_ready_ext2_event_fixed_param, wmi_service_ready_ext2_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_service_ready_ext2_event_fixed_param, wmi_service_ready_ext2_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, WMI_DMA_RING_CAPABILITIES, dma_ring_caps, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_spectral_bin_scaling_params, wmi_bin_scaling_params, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, WMI_MAC_PHY_CAPABILITIES_EXT, mac_phy_caps, WMITLV_SIZE_VAR) \
@ -6475,7 +6480,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_SERVICE_READY_EXT_EVENTID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, WMI_RSSI_ACCURACY_IMPROVEMENT_CAPABILITIES, rssi_accuracy_improvement_capabilities, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_wifi_radar_ltf_length_capabilities, wr_ltf_caps, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_wifi_radar_chain_capabilities, wr_chain_caps, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, WMI_MAC_PHY_CAPABILITIES_EXT2, mac_phy_caps2, WMITLV_SIZE_VAR)
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, WMI_MAC_PHY_CAPABILITIES_EXT2, mac_phy_caps2, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_shared_mem_model_tbtt_count_down_config, shared_mem_model_tbtt_count_down_config, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_SERVICE_READY_EXT2_EVENTID);
#define WMITLV_TABLE_WMI_SPECTRAL_CAPABILITIES_EVENTID(id,op,buf,len) \

View file

@ -3936,6 +3936,76 @@ typedef enum {
WMI_SET_BITS(sam_capability_2, 0, 12, value)
/* End SAM related capabilities */
typedef struct {
/* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_shared_mem_model_tbtt_count_down_config.*/
A_UINT32 tlv_header;
/* Indicates what are all the TBTT count down that FW supports */
union {
struct {
A_UINT32 csa :1,
quiet :1,
max_chan_switch_time :1,
eht_bpcc :1,
ttlm_max_switch_time :1,
ttlm_expected_duration :1,
ml_reconfig :1,
uhr_epbcc :1,
uhr_params_update :1,
rsvd :23;
};
A_UINT32 config_1;
};
} wmi_shared_mem_model_tbtt_count_down_config;
/* wmi_shared_mem_model_tbtt_count_down_config GET/SET macros */
#define WMI_TBTT_COUNT_DOWN_CONFIG_CSA_GET(config_1) \
WMI_GET_BITS(config_1, 0, 1)
#define WMI_TBTT_COUNT_DOWN_CONFIG_CSA_SET(config_1, value) \
WMI_SET_BITS(config_1, 0, 1, value)
#define WMI_TBTT_COUNT_DOWN_CONFIG_QUIET_GET(config_1) \
WMI_GET_BITS(config_1, 1, 1)
#define WMI_TBTT_COUNT_DOWN_CONFIG_QUIET_SET(config_1, value) \
WMI_SET_BITS(config_1, 1, 1, value)
#define WMI_TBTT_COUNT_DOWN_CONFIG_MAX_CHAN_SWITCH_TIME_GET(config_1) \
WMI_GET_BITS(config_1, 2, 1)
#define WMI_TBTT_COUNT_DOWN_CONFIG_MAX_CHAN_SWITCH_TIME_SET(config_1, value) \
WMI_SET_BITS(config_1, 2, 1, value)
#define WMI_TBTT_COUNT_DOWN_CONFIG_EHT_BPCC_GET(config_1) \
WMI_GET_BITS(config_1, 3, 1)
#define WMI_TBTT_COUNT_DOWN_CONFIG_EHT_BPCC_SET(config_1, value) \
WMI_SET_BITS(config_1, 3, 1, value)
#define WMI_TBTT_COUNT_DOWN_CONFIG_TTLM_MAX_SWITCH_TIME_GET(config_1) \
WMI_GET_BITS(config_1, 4, 1)
#define WMI_TBTT_COUNT_DOWN_CONFIG_TTLM_MAX_SWITCH_TIME_SET(config_1, value) \
WMI_SET_BITS(config_1, 4, 1, value)
#define WMI_TBTT_COUNT_DOWN_CONFIG_TTLM_EXPECTED_DURATION_GET(config_1) \
WMI_GET_BITS(config_1, 5, 1)
#define WMI_TBTT_COUNT_DOWN_CONFIG_TTLM_EXPECTED_DURATION_SET(config_1, value) \
WMI_SET_BITS(config_1, 5, 1, value)
#define WMI_TBTT_COUNT_DOWN_CONFIG_ML_RECONFIG_GET(config_1) \
WMI_GET_BITS(config_1, 6, 1)
#define WMI_TBTT_COUNT_DOWN_CONFIG_ML_RECONFIG_SET(config_1, value) \
WMI_SET_BITS(config_1, 6, 1, value)
#define WMI_TBTT_COUNT_DOWN_CONFIG_UHR_EPBCC_GET(config_1) \
WMI_GET_BITS(config_1, 7, 1)
#define WMI_TBTT_COUNT_DOWN_CONFIG_UHR_EPBCC_SET(config_1, value) \
WMI_SET_BITS(config_1, 7, 1, value)
#define WMI_TBTT_COUNT_DOWN_CONFIG_UHR_PARAMS_UPDATE_GET(config_1) \
WMI_GET_BITS(config_1, 8, 1)
#define WMI_TBTT_COUNT_DOWN_CONFIG_UHR_PARAMS_UPDATE_SET(config_1, value) \
WMI_SET_BITS(config_1, 8, 1, value)
typedef struct {
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_service_ready_ext2_event_fixed_param.*/
@ -4183,7 +4253,9 @@ typedef struct {
* wifi_radar_ltf_length_capabilities[];
* wmi_wifi_radar_chain_capabilities
* wifi_radar_chain_capabilities[];
* WMI_MAC_PHY_CAPABILITIES_EXT2 mac_phy_caps2[];
* WMI_MAC_PHY_CAPABILITIES_EXT2 mac_phy_caps2[];
* wmi_shared_mem_model_tbtt_count_down_config
* wmi_shared_mem_model_tbtt_count_down_config[];
*/
} wmi_service_ready_ext2_event_fixed_param;
@ -17824,6 +17896,34 @@ typedef struct {
} wmi_vdev_start_smd_params;
typedef struct {
A_UINT32 tlv_header; /** TLV tag and len;tag equals WMITLV_TAG_STRUC_wmi_vdev_start_uhr_config*/
union {
struct {
A_UINT32 advance_notification_interval : 8,
post_notification_interval : 8,
critical_update_indication_interval : 8,
reserved : 8;
};
A_UINT32 uhr_cu_intervals;
};
} wmi_vdev_start_uhr_config;
#define WMI_VDEV_START_UHR_GET_ADVANCE_NOTIFICATION_INTERVAL(uhr_cu_intervals) \
WMI_GET_BITS(uhr_cu_intervals, 0, 8)
#define WMI_VDEV_START_UHR_SET_ADVANCE_NOTIFICATION_INTERVAL(uhr_cu_intervals, val) \
WMI_SET_BITS(uhr_cu_intervals, 0, 8, _val)
#define WMI_VDEV_START_UHR_GET_POST_NOTIFICATION_INTERVAL(uhr_cu_intervals) \
WMI_GET_BITS(uhr_cu_intervals, 8, 8)
#define WMI_VDEV_START_UHR_SET_POST_NOTIFICATION_INTERVAL(uhr_cu_intervals, val) \
WMI_SET_BITS(uhr_cu_intervals, 8, 8, _val)
#define WMI_VDEV_START_UHR_GET_CRITICAL_UPDATE_INDICATION_INTERVAL(uhr_cu_intervals) \
WMI_GET_BITS(uhr_cu_intervals, 16, 8)
#define WMI_VDEV_START_UHR_SET_CRITICAL_UPDATE_INDICATION_INTERVAL(uhr_cu_intervals, val) \
WMI_SET_BITS(uhr_cu_intervals, 16, 8, _val)
typedef struct {
A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_vdev_create_cmd_fixed_param */
/** unique id identifying the VDEV, generated by the caller */
@ -18023,6 +18123,123 @@ typedef enum {
} WMI_VDEV_CREATE_WFDR2_MODES;
/*
* This TLV structure is used to pass the offsets of each TBTT count down,
* pertaining to advance notification of any BSS parameter change,
* in the host allocated DDR memory, to which FW should copy the
* current count down.
*/
typedef struct {
A_UINT32 tlv_header; /** TLV tag (WMITLV_TAG_STRUC_wmi_vdev_create_tbtt_count_down_offset_info) and len */
/**
* host_addr_lsb - LSB 32 bits of Host DDR physical address
* host_addr_msb - MSB 32 bits of Host DDR physical address
*/
A_UINT32 host_addr_lsb;
A_UINT32 host_addr_msb;
A_UINT32 size; /** Indicates the total bytes allocated for this VAP */
/**
* offsets should always start from 1 as 0th offset shall be reserved for
* flags.
* A_UINT32[0] = EHT CU | UHR CU
* So if the below offset infos contain zero, FW shall assume they are
* invalid.
*/
/** offsets of CSA & QUIET count down */
union {
struct {
A_UINT32 csa : 16,
quiet : 16;
};
A_UINT32 offset_info_1;
};
/** offsets of EHT BPCC & ML-RECONFIG count down */
union {
struct {
A_UINT32 eht_bpcc : 16,
reconfig : 16;
};
A_UINT32 offset_info_2;
};
/**
* offsets of TTLM Max Channel Switch Time &
* Expected Duration count down
*/
union {
struct {
A_UINT32 ttlm_max_chan_switch_time : 16,
ttlm_expected_duration : 16;
};
A_UINT32 offset_info_3;
};
/** offsets of UHR Param Update count down & EBPCC */
union {
struct {
A_UINT32 uhr_param_update : 16,
uhr_ebpcc : 16;
};
A_UINT32 offset_info_4;
};
/** offsets of Max Channel Switch Timer */
union {
struct {
A_UINT32 max_chan_switch_time : 16,
reserved_1 : 16;
};
A_UINT32 offset_info_5;
};
} wmi_vdev_create_tbtt_count_down_offset_info;
/* offsets of CSA & Quiet count down */
#define WMI_TBTT_COUNT_DOWN_OFFSET_CSA_GET(offset_info_1) \
WMI_GET_BITS(offset_info_1, 0, 16)
#define WMI_TBTT_COUNT_DOWN_OFFSET_CSA_SET(offset_info_1, value) \
WMI_SET_BITS(offset_info_1, 0, 16, value)
#define WMI_TBTT_COUNT_DOWN_OFFSET_QUIET_GET(offset_info_1) \
WMI_GET_BITS(offset_info_1, 16, 16)
#define WMI_TBTT_COUNT_DOWN_OFFSET_QUIET_SET(offset_info_1, value) \
WMI_SET_BITS(offset_info_1, 16, 16, value)
/* offsets of EHT BPCC & ML-RECONFIG count down */
#define WMI_TBTT_COUNT_DOWN_OFFSET_EHT_BPCC_GET(offset_info_2) \
WMI_GET_BITS(offset_info_2, 0, 16)
#define WMI_TBTT_COUNT_DOWN_OFFSET_EHT_BPCC_SET(offset_info_2, value) \
WMI_SET_BITS(offset_info_2, 0, 16, value)
#define WMI_TBTT_COUNT_DOWN_OFFSET_RECONFIG_GET(offset_info_2) \
WMI_GET_BITS(offset_info_2, 16, 16)
#define WMI_TBTT_COUNT_DOWN_OFFSET_RECONFIG_SET(offset_info_2, value) \
WMI_SET_BITS(offset_info_2, 16, 16, value)
/* offsets of TTLM Max Channel Switch Time & Expected Duration count down */
#define WMI_TBTT_COUNT_DOWN_OFFSET_TTLM_MAX_CHAN_SWITCH_TIME_GET(offset_info_3) \
WMI_GET_BITS(offset_info_3, 0, 16)
#define WMI_TBTT_COUNT_DOWN_OFFSET_TTLM_MAX_CHAN_SWITCH_TIME_SET(offset_info_3, value) \
WMI_SET_BITS(offset_info_3, 0, 16, value)
#define WMI_TBTT_COUNT_DOWN_OFFSET_TTLM_EXPECTED_DURATION_GET(offset_info_3) \
WMI_GET_BITS(offset_info_3, 16, 16)
#define WMI_TBTT_COUNT_DOWN_OFFSET_TTLM_EXPECTED_DURATION_SET(offset_info_3, value) \
WMI_SET_BITS(offset_info_3, 16, 16, value)
/* offsets of UHR Param Update count down & EBPCC */
#define WMI_TBTT_COUNT_DOWN_OFFSET_UHR_PARAM_UPDATE_GET(offset_info_4) \
WMI_GET_BITS(offset_info_4, 0, 16)
#define WMI_TBTT_COUNT_DOWN_OFFSET_UHR_PARAM_UPDATE_SET(offset_info_4, value) \
WMI_SET_BITS(offset_info_4, 0, 16, value)
#define WMI_TBTT_COUNT_DOWN_OFFSET_UHR_EBPCC_GET(offset_info_4) \
WMI_GET_BITS(offset_info_4, 16, 16)
#define WMI_TBTT_COUNT_DOWN_OFFSET_UHR_EBPCC_SET(offset_info_4, value) \
WMI_SET_BITS(offset_info_4, 16, 16, value)
/* offsets of Max Channel Switch Time */
#define WMI_TBTT_COUNT_DOWN_OFFSET_MAX_CHAN_SWITCH_TIME_GET(offset_info_5) \
WMI_GET_BITS(offset_info_5, 0, 16)
#define WMI_TBTT_COUNT_DOWN_OFFSET_MAX_CHAN_SWITCH_TIME_SET(offset_info_5, value) \
WMI_SET_BITS(offset_info_5, 0, 16, value)
/* this TLV structure used for pass mlo parameters on vdev start*/
typedef struct {
A_UINT32 tlv_header; /** TLV tag and len; */
@ -18894,6 +19111,9 @@ typedef struct {
* wmi_dbw_chan_info dbw_chan_info
* optional TLV used for dbw_chan_info
* wmi_vdev_start_smd_params smd_params;
* optional TLV used for SMD
* wmi_vdev_start_uhr_config uhr_config_info
* optional TLV used if VAP is 11BN
*/
} wmi_vdev_start_request_cmd_fixed_param;

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