Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bc91c03a authored by Linux Build Service Account's avatar Linux Build Service Account
Browse files

Merge 5404c814 on remote branch

Change-Id: Icd15d162618946ebf6a5a100f37dcfa0563a0680
parents 5283b1a2 5404c814
Loading
Loading
Loading
Loading
+5 −0
Original line number Original line Diff line number Diff line
@@ -747,6 +747,10 @@ typedef enum {
    HTT_STATS_DMAC_RESET_STATS_TAG                 = 155, /* htt_dmac_reset_stats_tlv */
    HTT_STATS_DMAC_RESET_STATS_TAG                 = 155, /* htt_dmac_reset_stats_tlv */
    HTT_STATS_RX_PDEV_BE_UL_OFDMA_USER_STATS_TAG   = 156, /* htt_rx_pdev_be_ul_ofdma_user_stats_tlv */
    HTT_STATS_RX_PDEV_BE_UL_OFDMA_USER_STATS_TAG   = 156, /* htt_rx_pdev_be_ul_ofdma_user_stats_tlv */
    HTT_STATS_PHY_TPC_STATS_TAG                    = 157, /* htt_phy_tpc_stats_tlv */
    HTT_STATS_PHY_TPC_STATS_TAG                    = 157, /* htt_phy_tpc_stats_tlv */
    HTT_STATS_PDEV_PUNCTURE_STATS_TAG              = 158, /* htt_pdev_puncture_stats_tlv */
    HTT_STATS_ML_PEER_DETAILS_TAG                  = 159, /* htt_ml_peer_details_tlv */
    HTT_STATS_ML_PEER_EXT_DETAILS_TAG              = 160, /* htt_ml_peer_ext_details_tlv */
    HTT_STATS_ML_LINK_INFO_DETAILS_TAG             = 161, /* htt_ml_link_info_tlv */
    HTT_STATS_MAX_TAG,
    HTT_STATS_MAX_TAG,
@@ -5179,6 +5183,7 @@ enum htt_srng_ring_id {
    HTT_RX_MON_HOST2MON_BUF_RING,   /* Status buffers and Packet buffers are provided by host */
    HTT_RX_MON_HOST2MON_BUF_RING,   /* Status buffers and Packet buffers are provided by host */
    HTT_RX_MON_MON2HOST_DEST_RING, /* Used by monitor to fill status buffers and provide to host */
    HTT_RX_MON_MON2HOST_DEST_RING, /* Used by monitor to fill status buffers and provide to host */
    HTT_LPASS_TO_FW_RXBUF_RING,    /* new LPASS to FW refill ring to recycle rx buffers */
    HTT_LPASS_TO_FW_RXBUF_RING,    /* new LPASS to FW refill ring to recycle rx buffers */
    HTT_HOST3_TO_FW_RXBUF_RING,    /* used by host for EasyMesh feature */
    /* Add Other SRING which can't be directly configured by host software above this line */
    /* Add Other SRING which can't be directly configured by host software above this line */
};
};
+637 −0

File changed.

Preview size limit exceeded, changes collapsed.

+1 −0
Original line number Original line Diff line number Diff line
@@ -592,6 +592,7 @@ typedef enum {
    WMI_SERVICE_LINKSPEED_ROAM_TRIGGER_SUPPORT = 339, /* FW supports linkspeed trigger roam */
    WMI_SERVICE_LINKSPEED_ROAM_TRIGGER_SUPPORT = 339, /* FW supports linkspeed trigger roam */
    WMI_SERVICE_UMAC_HANG_RECOVERY_SUPPORT = 340, /* FW supports recovering system from UMAC hang condition */
    WMI_SERVICE_UMAC_HANG_RECOVERY_SUPPORT = 340, /* FW supports recovering system from UMAC hang condition */
    WMI_SERVICE_COAP_OFFLOAD_SUPPORT = 341, /* FW supports CoAP (the Constrained Application Protocol) offload */
    WMI_SERVICE_COAP_OFFLOAD_SUPPORT = 341, /* FW supports CoAP (the Constrained Application Protocol) offload */
    WMI_SERVICE_TDLS_WIDEBAND_SUPPORT = 342, /* FW supports Wideband TDLS */


    WMI_MAX_EXT2_SERVICE
    WMI_MAX_EXT2_SERVICE


+26 −4
Original line number Original line Diff line number Diff line
@@ -1282,6 +1282,12 @@ typedef enum {
    WMITLV_TAG_STRUC_WMI_WOW_COAP_GET_BUF_INFO_CMD_fixed_param,
    WMITLV_TAG_STRUC_WMI_WOW_COAP_GET_BUF_INFO_CMD_fixed_param,
    WMITLV_TAG_STRUC_WMI_WOW_COAP_BUF_INFO_EVENT_fixed_param,
    WMITLV_TAG_STRUC_WMI_WOW_COAP_BUF_INFO_EVENT_fixed_param,
    WMITLV_TAG_STRUC_wmi_coap_tuple,
    WMITLV_TAG_STRUC_wmi_coap_tuple,
    WMITLV_TAG_STRUC_wmi_iface_powersave_stats,
    WMITLV_TAG_STRUC_wmi_roam_bss_info_param,
    WMITLV_TAG_STRUC_wmi_vendor_control_param,
    WMITLV_TAG_STRUC_wmi_coex_dbam_cmd_fixed_param,
    WMITLV_TAG_STRUC_wmi_coex_dbam_complete_event_fixed_param,
    WMITLV_TAG_STRUC_wmi_is_my_mgmt_frame,
} WMITLV_TAG_ID;
} WMITLV_TAG_ID;


/*
/*
@@ -1785,6 +1791,7 @@ typedef enum {
    OP(WMI_WOW_COAP_ADD_KEEPALIVE_PATTERN_CMDID) \
    OP(WMI_WOW_COAP_ADD_KEEPALIVE_PATTERN_CMDID) \
    OP(WMI_WOW_COAP_DEL_KEEPALIVE_PATTERN_CMDID) \
    OP(WMI_WOW_COAP_DEL_KEEPALIVE_PATTERN_CMDID) \
    OP(WMI_WOW_COAP_GET_BUF_INFO_CMDID) \
    OP(WMI_WOW_COAP_GET_BUF_INFO_CMDID) \
    OP(WMI_COEX_DBAM_CMDID) \
    /* add new CMD_LIST elements above this line */
    /* add new CMD_LIST elements above this line */




@@ -2074,6 +2081,7 @@ typedef enum {
    OP(WMI_ROAM_GET_VENDOR_CONTROL_PARAM_EVENTID) \
    OP(WMI_ROAM_GET_VENDOR_CONTROL_PARAM_EVENTID) \
    OP(WMI_HALPHY_CTRL_PATH_STATS_EVENTID) \
    OP(WMI_HALPHY_CTRL_PATH_STATS_EVENTID) \
    OP(WMI_WOW_COAP_BUF_INFO_EVENTID) \
    OP(WMI_WOW_COAP_BUF_INFO_EVENTID) \
    OP(WMI_COEX_DBAM_COMPLETE_EVENTID) \
    /* add new EVT_LIST elements above this line */
    /* add new EVT_LIST elements above this line */




@@ -5106,6 +5114,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_WOW_COAP_DEL_KEEPALIVE_PATTERN_CMDID);
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_WMI_WOW_COAP_GET_BUF_INFO_CMD_fixed_param, WMI_WOW_COAP_GET_BUF_INFO_CMD_fixed_param, fixed_param, WMITLV_SIZE_FIX)
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_WMI_WOW_COAP_GET_BUF_INFO_CMD_fixed_param, WMI_WOW_COAP_GET_BUF_INFO_CMD_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_WOW_COAP_GET_BUF_INFO_CMDID);
WMITLV_CREATE_PARAM_STRUC(WMI_WOW_COAP_GET_BUF_INFO_CMDID);


/* coex dbam cmd */
#define WMITLV_TABLE_WMI_COEX_DBAM_CMDID(id,op,buf,len) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_coex_dbam_cmd_fixed_param, wmi_coex_dbam_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_COEX_DBAM_CMDID);





/************************** TLV definitions of WMI events *******************************/
/************************** TLV definitions of WMI events *******************************/
@@ -5372,7 +5385,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PEER_STA_KICKOUT_EVENTID);
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_mgmt_rx_params_ext, mgmt_rx_params_ext, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_mgmt_rx_params_ext, mgmt_rx_params_ext, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_frame_pn_params, pn_params, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_frame_pn_params, pn_params, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_mgmt_ml_info, ml_info, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_mgmt_ml_info, ml_info, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, bpcc_bufp, WMITLV_SIZE_VAR)
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, bpcc_bufp, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_is_my_mgmt_frame, my_frame, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_MGMT_RX_EVENTID);
WMITLV_CREATE_PARAM_STRUC(WMI_MGMT_RX_EVENTID);


/* Management Rx FW Consumed Event */
/* Management Rx FW Consumed Event */
@@ -5421,7 +5435,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_AGGR_STATE_TRIG_EVENTID);
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_roam_event_fixed_param, wmi_roam_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_roam_event_fixed_param, wmi_roam_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, deauth_disassoc_frame, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, deauth_disassoc_frame, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_pdev_hw_mode_transition_event_fixed_param, hw_mode_transition_fixed_param, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_pdev_hw_mode_transition_event_fixed_param, hw_mode_transition_fixed_param, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_pdev_set_hw_mode_response_vdev_mac_entry, wmi_pdev_set_hw_mode_response_vdev_mac_mapping, WMITLV_SIZE_VAR)
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_pdev_set_hw_mode_response_vdev_mac_entry, wmi_pdev_set_hw_mode_response_vdev_mac_mapping, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_bss_info_param, bss_info_param, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_ROAM_EVENTID);
WMITLV_CREATE_PARAM_STRUC(WMI_ROAM_EVENTID);


/* Roam Synch Event */
/* Roam Synch Event */
@@ -5459,7 +5474,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_ROAM_FRAME_EVENTID);


/* Get Roam Vendor Control Param Event */
/* Get Roam Vendor Control Param Event */
#define WMITLV_TABLE_WMI_ROAM_GET_VENDOR_CONTROL_PARAM_EVENTID(id,op,buf,len) \
#define WMITLV_TABLE_WMI_ROAM_GET_VENDOR_CONTROL_PARAM_EVENTID(id,op,buf,len) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_roam_get_vendor_control_param_event_fixed_param, wmi_roam_get_vendor_control_param_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_roam_get_vendor_control_param_event_fixed_param, wmi_roam_get_vendor_control_param_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_vendor_control_param, vendor_control_param, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_ROAM_GET_VENDOR_CONTROL_PARAM_EVENTID);
WMITLV_CREATE_PARAM_STRUC(WMI_ROAM_GET_VENDOR_CONTROL_PARAM_EVENTID);


/* WOW Wakeup Host Event */
/* WOW Wakeup Host Event */
@@ -5712,7 +5728,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_DIAG_EVENT_LOG_SUPPORTED_EVENTID);
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_iface_link_stats_event_fixed_param, wmi_iface_link_stats_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_iface_link_stats_event_fixed_param, wmi_iface_link_stats_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_iface_link_stats, iface_link_stats, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_iface_link_stats, iface_link_stats, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_wmm_ac_stats, ac, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_wmm_ac_stats, ac, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_iface_offload_stats, iface_offload_stats, WMITLV_SIZE_VAR)
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_iface_offload_stats, iface_offload_stats, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_iface_powersave_stats, iface_powersave_stats, WMITLV_SIZE_VAR)


WMITLV_CREATE_PARAM_STRUC(WMI_IFACE_LINK_STATS_EVENTID);
WMITLV_CREATE_PARAM_STRUC(WMI_IFACE_LINK_STATS_EVENTID);


@@ -6912,6 +6929,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PMM_SCRATCH_REG_ALLOCATION_COMPLETE_EVENTID);
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, payloads, WMITLV_SIZE_VAR)
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, payloads, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_WOW_COAP_BUF_INFO_EVENTID);
WMITLV_CREATE_PARAM_STRUC(WMI_WOW_COAP_BUF_INFO_EVENTID);


/* coex dbam cmd complete event */
#define WMITLV_TABLE_WMI_COEX_DBAM_COMPLETE_EVENTID(id,op,buf,len) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_coex_dbam_complete_event_fixed_param, wmi_coex_dbam_complete_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_COEX_DBAM_COMPLETE_EVENTID);





#ifdef __cplusplus
#ifdef __cplusplus
+177 −9
Original line number Original line Diff line number Diff line
@@ -851,7 +851,7 @@ typedef enum {
    WMI_ROAM_SET_PARAM_CMDID,
    WMI_ROAM_SET_PARAM_CMDID,
    /** Enable or Disable roam vendor control */
    /** Enable or Disable roam vendor control */
    WMI_ROAM_ENABLE_VENDOR_CONTROL_CMDID,
    WMI_ROAM_ENABLE_VENDOR_CONTROL_CMDID,
    /** Get roam vendor control params */
    /** Get firmware ini value */
    WMI_ROAM_GET_VENDOR_CONTROL_PARAM_CMDID,
    WMI_ROAM_GET_VENDOR_CONTROL_PARAM_CMDID,
    /** offload scan specific commands */
    /** offload scan specific commands */
@@ -1305,6 +1305,8 @@ typedef enum {
    WMI_COEX_GET_ANTENNA_ISOLATION_CMDID,
    WMI_COEX_GET_ANTENNA_ISOLATION_CMDID,
    WMI_SAR_LIMITS_CMDID,
    WMI_SAR_LIMITS_CMDID,
    WMI_SAR_GET_LIMITS_CMDID,
    WMI_SAR_GET_LIMITS_CMDID,
    /** Dedicated BT Antenna Mode (DBAM) command */
    WMI_COEX_DBAM_CMDID,
    /**
    /**
     *  OBSS scan offload enable/disable commands
     *  OBSS scan offload enable/disable commands
@@ -1888,7 +1890,7 @@ typedef enum {
    WMI_ROAM_CAPABILITY_REPORT_EVENTID,
    WMI_ROAM_CAPABILITY_REPORT_EVENTID,
    /** Send AP frame content like beacon/probe resp etc.. */
    /** Send AP frame content like beacon/probe resp etc.. */
    WMI_ROAM_FRAME_EVENTID,
    WMI_ROAM_FRAME_EVENTID,
    /** GET Roam Vendor Control Param event */
    /** Send firmware ini value corresponding to param_id */
    WMI_ROAM_GET_VENDOR_CONTROL_PARAM_EVENTID,
    WMI_ROAM_GET_VENDOR_CONTROL_PARAM_EVENTID,
    /** P2P disc found */
    /** P2P disc found */
@@ -2171,6 +2173,8 @@ typedef enum {
    /* Coex Event */
    /* Coex Event */
    WMI_COEX_REPORT_ANTENNA_ISOLATION_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_COEX),
    WMI_COEX_REPORT_ANTENNA_ISOLATION_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_COEX),
    WMI_SAR_GET_LIMITS_EVENTID,
    WMI_SAR_GET_LIMITS_EVENTID,
    /** Dedicated BT Antenna Mode (DBAM) complete event */
    WMI_COEX_DBAM_COMPLETE_EVENTID,
    /* LPI Event */
    /* LPI Event */
    WMI_LPI_RESULT_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_LPI),
    WMI_LPI_RESULT_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_LPI),
@@ -5837,6 +5841,12 @@ typedef struct {
    A_UINT8 prev_pn[WMI_MAX_PN_LEN];
    A_UINT8 prev_pn[WMI_MAX_PN_LEN];
} wmi_frame_pn_params;
} wmi_frame_pn_params;
typedef struct {
    A_UINT32 tlv_header; /* TLV tag (WMITLV_TAG_STRUC_wmi_is_my_frame) */
    A_UINT32 mgmt_frm_sub_type; /* to indicate which sub-type of MGMT frame */
    A_UINT32 is_my_frame; /* to indicate frame is sent to this BSSID */
} wmi_is_my_mgmt_frame;
typedef struct {
typedef struct {
    A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_mgmt_ml_info */
    A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_mgmt_ml_info */
    /**
    /**
@@ -10048,6 +10058,14 @@ typedef struct {
   A_UINT32 fwd_count;
   A_UINT32 fwd_count;
} wmi_iface_offload_stats;
} wmi_iface_offload_stats;
typedef struct {
   A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_iface_powersave_stats */
   /** Total TIM beacon event that wlan ps received **/
   A_UINT32 tot_tim_bcn;
   /** Total error TIM beacon found by wlan ps including no rx in TIM wakeup and TIM event in active state **/
   A_UINT32 tot_err_tim_bcn;
} wmi_iface_powersave_stats;
/** Interface statistics (once started) reset and start afresh after each connection */
/** Interface statistics (once started) reset and start afresh after each connection */
typedef struct {
typedef struct {
    A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_iface_link_stats_event_fixed_param */
    A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_iface_link_stats_event_fixed_param */
@@ -10062,6 +10080,7 @@ typedef struct {
 *   wmi_iface_link_stats iface_link_stats;
 *   wmi_iface_link_stats iface_link_stats;
 *   num_ac * size of(struct wmi_wmm_ac_stats)
 *   num_ac * size of(struct wmi_wmm_ac_stats)
 *   wmi_iface_offload_stats iface_offload_stats[num_offload_stats]
 *   wmi_iface_offload_stats iface_offload_stats[num_offload_stats]
 *   wmi_iface_powersave_stats iface_powersave_stats[]
 */
 */
} wmi_iface_link_stats_event_fixed_param;
} wmi_iface_link_stats_event_fixed_param;
@@ -12073,6 +12092,10 @@ typedef struct {
#define WMI_MLO_FLAGS_SET_PEER_ID_VALID(mlo_flags, value)   WMI_SET_BITS(mlo_flags, 4, 1, value)
#define WMI_MLO_FLAGS_SET_PEER_ID_VALID(mlo_flags, value)   WMI_SET_BITS(mlo_flags, 4, 1, value)
#define WMI_MLO_FLAGS_GET_MCAST_VDEV(mlo_flags)             WMI_GET_BITS(mlo_flags, 5, 1)
#define WMI_MLO_FLAGS_GET_MCAST_VDEV(mlo_flags)             WMI_GET_BITS(mlo_flags, 5, 1)
#define WMI_MLO_FLAGS_SET_MCAST_VDEV(mlo_flags, value)      WMI_SET_BITS(mlo_flags, 5, 1, value)
#define WMI_MLO_FLAGS_SET_MCAST_VDEV(mlo_flags, value)      WMI_SET_BITS(mlo_flags, 5, 1, value)
#define WMI_MLO_FLAGS_GET_EMLSR_SUPPORT(mlo_flags)          WMI_GET_BITS(mlo_flags, 6, 1)
#define WMI_MLO_FLAGS_SET_EMLSR_SUPPORT(mlo_flags, value)   WMI_SET_BITS(mlo_flags, 6, 1, value)
#define WMI_MLO_FLAGS_GET_FORCE_LINK_INACTIVE(mlo_flags)    WMI_GET_BITS(mlo_flags, 7, 1)
#define WMI_MLO_FLAGS_SET_FORCE_LINK_INACTIVE(mlo_flags, value) WMI_SET_BITS(mlo_flags, 7, 1, value)
/* this structure used for pass mlo flags*/
/* this structure used for pass mlo flags*/
typedef struct {
typedef struct {
@@ -14110,6 +14133,11 @@ typedef enum {
     */
     */
    WMI_VDEV_PARAM_VDEV_TRAFFIC_CONFIG,                   /* 0xB6 */
    WMI_VDEV_PARAM_VDEV_TRAFFIC_CONFIG,                   /* 0xB6 */
    /* Final bmiss time for Non WOW mode in sec */
    WMI_VDEV_PARAM_FINAL_BMISS_TIME_SEC,                  /* 0xB7 */
    /* Final bmiss time for WOW mode in sec */
    WMI_VDEV_PARAM_FINAL_BMISS_TIME_WOW_SEC,              /* 0xB8 */
    /*=== ADD NEW VDEV PARAM TYPES ABOVE THIS LINE ===
    /*=== ADD NEW VDEV PARAM TYPES ABOVE THIS LINE ===
     * The below vdev param types are used for prototyping, and are
     * The below vdev param types are used for prototyping, and are
@@ -16348,6 +16376,10 @@ typedef struct {
    A_UINT32 ieee_link_id;
    A_UINT32 ieee_link_id;
    /** eMLSR transition timeout in microseconds */
    /** eMLSR transition timeout in microseconds */
    A_UINT32 emlsr_trans_timeout_us;
    A_UINT32 emlsr_trans_timeout_us;
    /** eMLSR transition delay in microseconds */
    A_UINT32 emlsr_trans_delay_us;
    /** eMLSR padding delay in microseconds */
    A_UINT32 emlsr_padding_delay_us;
} wmi_peer_assoc_mlo_params;
} wmi_peer_assoc_mlo_params;
typedef struct {
typedef struct {
@@ -18072,6 +18104,23 @@ typedef struct {
    A_UINT32 notif_params1;
    A_UINT32 notif_params1;
} wmi_roam_event_fixed_param;
} wmi_roam_event_fixed_param;
#define WMI_ROAM_BSS_INFO_FLAG_IS_MLD 0
typedef struct {
    A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_roam_bss_info_param */
    /*
     * bit0: WMI_ROAM_BSS_INFO_FLAG_IS_MLD
     */
    A_UINT32 flags;
    /*
     * mld score if WMI_ROAM_BSS_INFO_FLAG_IS_MLD set, otherwise link score
     */
    A_UINT32 score;
    /*
     *  mld address if WMI_ROAM_BSS_INFO_FLAG_IS_MLD set, otherwise link address
     */
    wmi_mac_addr mac_addr;
} wmi_roam_bss_info_param;
/* roam_reason: bits 0-3 */
/* roam_reason: bits 0-3 */
#define WMI_ROAM_REASON_INVALID   0x0 /** invalid reason. Do not interpret reason field */
#define WMI_ROAM_REASON_INVALID   0x0 /** invalid reason. Do not interpret reason field */
@@ -18965,6 +19014,8 @@ typedef enum wake_reason_e {
    WOW_REASON_DELAYED_WAKEUP_HOST_CFG_TIMER_ELAPSED,
    WOW_REASON_DELAYED_WAKEUP_HOST_CFG_TIMER_ELAPSED,
    /* Data store list is full, so Host wakeup should be triggered */
    /* Data store list is full, so Host wakeup should be triggered */
    WOW_REASON_DELAYED_WAKEUP_DATA_STORE_LIST_FULL,
    WOW_REASON_DELAYED_WAKEUP_DATA_STORE_LIST_FULL,
    /* Sched PM FW initiated termination event */
    WOW_REASON_SCHED_PM_TERMINATED,
    /* add new WOW_REASON_ defs before this line */
    /* add new WOW_REASON_ defs before this line */
    WOW_REASON_MAX,
    WOW_REASON_MAX,
@@ -24219,6 +24270,9 @@ typedef struct {
    A_UINT32 vdev_id;
    A_UINT32 vdev_id;
    /* Exact frame length without considering 4 byte alignement */
    /* Exact frame length without considering 4 byte alignement */
    A_UINT32 frame_length;
    A_UINT32 frame_length;
    A_INT32  rssi; /* Units in dBm */
    /* The frequency on which to transmit. */
    A_UINT32 primary_channel_freq; /* MHz units */
    /**
    /**
     * TLV (tag length value) parameters follows roam_frame_event
     * TLV (tag length value) parameters follows roam_frame_event
     * The TLV's are:
     * The TLV's are:
@@ -29514,6 +29568,18 @@ typedef struct {
    A_UINT32 config_arg6;
    A_UINT32 config_arg6;
} WMI_COEX_CONFIG_CMD_fixed_param;
} WMI_COEX_CONFIG_CMD_fixed_param;
typedef enum wmi_coex_dbam_mode_type {
    WMI_COEX_DBAM_DISABLE = 0,
    WMI_COEX_DBAM_ENABLE = 1,
    WMI_COEX_DBAM_FORCED = 2,
} WMI_COEX_DBAM_MODE_TYPE;
typedef struct {
    A_UINT32 tlv_header;
    A_UINT32 vdev_id;
    A_UINT32 dbam_mode; /* wmi_coex_dbam_mode_type enum */
} wmi_coex_dbam_cmd_fixed_param;
/**
/**
 * This command is sent from WLAN host driver to firmware to
 * This command is sent from WLAN host driver to firmware to
 * request firmware to enable/disable channel avoidance report
 * request firmware to enable/disable channel avoidance report
@@ -30099,6 +30165,45 @@ typedef enum wmi_hw_mode_config_type {
#define WMI_NSS_RATIO_INFO_GET(dword) \
#define WMI_NSS_RATIO_INFO_GET(dword) \
    WMI_GET_BITS(dword, WMI_NSS_RATIO_INFO_BITPOS, 4)
    WMI_GET_BITS(dword, WMI_NSS_RATIO_INFO_BITPOS, 4)
/*
 * 11BE EML Capability Set and Get macros
 */
#define WMI_SUPPORT_EMLSR_GET(eml_capability) WMI_GET_BITS(eml_capability, 0, 1)
#define WMI_SUPPORT_EMLSR_SET(eml_capability, value) WMI_SET_BITS(eml_capability, 0, 1, value)
#define WMI_EMLSR_PADDING_DELAY_GET(eml_capability) WMI_GET_BITS(eml_capability, 1, 3)
#define WMI_EMLSR_PADDING_DELAY_SET(eml_capability, value) WMI_SET_BITS(eml_capability, 1, 3, value)
#define WMI_EMLSR_TRANSITION_DELAY_GET(eml_capability) WMI_GET_BITS(eml_capability, 4, 3)
#define WMI_EMLSR_TRANSITION_DELAY_SET(eml_capability, value) WMI_SET_BITS(eml_capability, 4, 3, value)
#define WMI_SUPPORT_EMLMR_GET(eml_capability) WMI_GET_BITS(eml_capability, 7, 1)
#define WMI_SUPPORT_EMLMR_SET(eml_capability, value) WMI_SET_BITS(eml_capability, 7, 1, value)
#define WMI_EMLMR_DELAY_GET(eml_capability) WMI_GET_BITS(eml_capability, 8, 3)
#define WMI_EMLMR_DELAY_SET(eml_capability, value) WMI_SET_BITS(eml_capability, 8, 3, value)
#define WMI_TRANSITION_TIMEOUT_GET(eml_capability) WMI_GET_BITS(eml_capability, 11, 4)
#define WMI_TRANSITION_TIMEOUT_SET(eml_capability, value) WMI_SET_BITS(eml_capability, 11, 4, value)
/*
 * 11BE MLD Capability Set and Get macros
 */
#define WMI_MAX_NUM_SIMULTANEOUS_LINKS_GET(mld_capability) WMI_GET_BITS(mld_capability, 0, 4)
#define WMI_MAX_NUM_SIMULTANEOUS_LINKS_SET(mld_capability, value) WMI_SET_BITS(mld_capability, 0, 4, value)
#define WMI_SUPPORT_SRS_GET(mld_capability) WMI_GET_BITS(mld_capability, 4, 1)
#define WMI_SUPPORT_SRS_SET(mld_capability, value) WMI_SET_BITS(mld_capability, 4, 1, value)
#define WMI_TID_TO_LINK_NEGOTIATION_GET(mld_capability) WMI_GET_BITS(mld_capability, 5, 2)
#define WMI_TID_TO_LINK_NEGOTIATION_SET(mld_capability, value) WMI_SET_BITS(mld_capability, 5, 2, value)
#define WMI_FREQ_SEPERATION_STR_GET(mld_capability) WMI_GET_BITS(mld_capability, 7, 5)
#define WMI_FREQ_SEPERATION_STR_SET(mld_capability, value) WMI_SET_BITS(mld_capability, 7, 5, value)
#define WMI_SUPPORT_AAR_GET(mld_capability) WMI_GET_BITS(mld_capability, 12, 1)
#define WMI_SUPPORT_AAR_SET(mld_capability, value) WMI_SET_BITS(mld_capability, 12, 1, value)
typedef struct {
typedef struct {
    A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_WMI_MAC_PHY_CAPABILITIES */
    A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_WMI_MAC_PHY_CAPABILITIES */
    /* hw_mode_id - identify a particular set of HW characteristics, as specified
    /* hw_mode_id - identify a particular set of HW characteristics, as specified
@@ -30348,11 +30453,32 @@ typedef struct {
     */
     */
    A_UINT32 eht_supp_mcs_ext_2G[WMI_MAX_EHT_SUPP_MCS_2G_SIZE];
    A_UINT32 eht_supp_mcs_ext_2G[WMI_MAX_EHT_SUPP_MCS_2G_SIZE];
    A_UINT32 eht_supp_mcs_ext_5G[WMI_MAX_EHT_SUPP_MCS_5G_SIZE];
    A_UINT32 eht_supp_mcs_ext_5G[WMI_MAX_EHT_SUPP_MCS_5G_SIZE];
    /**************************************************************************
    union {
     * Currently pls do not add any new param after EHT
        struct {
     * as still under development.
            A_UINT32 emlsr_support:1,
     * We can add new param before it.
                     emlsr_padding_delay:3,
     **************************************************************************/
                     emlsr_transition_delay:3,
                     emlmr_support:1,
                     emlmr_delay:3,
                     transition_timeout:4,
                     reserved: 17;
        };
        A_UINT32 eml_capability;
    };
    union {
        struct {
            A_UINT32 max_num_simultaneous_links:4,
                     srs_support:1,
                     tid_to_link_negotiation_support:2, /* Set to 0 if TID-to-link mapping is not supported by the MLD.
                                                         * Set to 1 if MLD supports the mapping of each TID to the same or different link set.
                                                         * Set to 2 if MLD only supports the mapping of all TIDs to the same link set.
                                                         * Value  3 is reserved */
                     freq_separation_str:5,
                     aar_support:1,
                     reserved2: 19;
        };
        A_UINT32 mld_capability;
    };
} WMI_MAC_PHY_CAPABILITIES_EXT;
} WMI_MAC_PHY_CAPABILITIES_EXT;
typedef struct {
typedef struct {
@@ -31624,6 +31750,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command)
        WMI_RETURN_STRING(WMI_WOW_COAP_ADD_KEEPALIVE_PATTERN_CMDID);
        WMI_RETURN_STRING(WMI_WOW_COAP_ADD_KEEPALIVE_PATTERN_CMDID);
        WMI_RETURN_STRING(WMI_WOW_COAP_DEL_KEEPALIVE_PATTERN_CMDID);
        WMI_RETURN_STRING(WMI_WOW_COAP_DEL_KEEPALIVE_PATTERN_CMDID);
        WMI_RETURN_STRING(WMI_WOW_COAP_GET_BUF_INFO_CMDID);
        WMI_RETURN_STRING(WMI_WOW_COAP_GET_BUF_INFO_CMDID);
        WMI_RETURN_STRING(WMI_COEX_DBAM_CMDID);
    }
    }
    return (A_UINT8 *) "Invalid WMI cmd";
    return (A_UINT8 *) "Invalid WMI cmd";
@@ -32279,6 +32406,23 @@ typedef struct {
             isolation_chain3:8; /* [31:24], isolation value for chain 3 */
             isolation_chain3:8; /* [31:24], isolation value for chain 3 */
} wmi_coex_report_isolation_event_fixed_param;
} wmi_coex_report_isolation_event_fixed_param;
typedef enum {
    WMI_COEX_DBAM_COMP_SUCCESS          = 0, /* success, mode is applied */
    WMI_COEX_DBAM_COMP_ONGOING          = 1, /* success, mode is applied */
    WMI_COEX_DBAM_COMP_DELAYED          = 2, /* DBAM is delayed and TDD is selected temporarily */
    WMI_COEX_DBAM_COMP_NOT_SUPPORT      = 3, /* DBAM is not supported */
    WMI_COEX_DBAM_COMP_TEST_MODE        = 4, /* ignore due to test mode */
    WMI_COEX_DBAM_COMP_INVALID_PARAM    = 5, /* invalid parameter is received */
    WMI_COEX_DBAM_COMP_FAIL             = 6, /* command failed */
} wmi_coex_dbam_comp_status;
typedef struct {
    /** TLV tag and len; tag equals
     * WMITLV_TAG_STRUC_wmi_coex_dbam_complete_event_fixed_param */
    A_UINT32 tlv_header;
    A_UINT32 comp_status;    /* wmi_coex_dbam_comp_status */
} wmi_coex_dbam_complete_event_fixed_param;
typedef enum {
typedef enum {
    WMI_RCPI_MEASUREMENT_TYPE_AVG_MGMT  = 1,
    WMI_RCPI_MEASUREMENT_TYPE_AVG_MGMT  = 1,
    WMI_RCPI_MEASUREMENT_TYPE_AVG_DATA  = 2,
    WMI_RCPI_MEASUREMENT_TYPE_AVG_DATA  = 2,
@@ -32478,6 +32622,7 @@ typedef enum {
    WMI_PDEV_ROUTING_TYPE_IPV4,
    WMI_PDEV_ROUTING_TYPE_IPV4,
    WMI_PDEV_ROUTING_TYPE_IPV6,
    WMI_PDEV_ROUTING_TYPE_IPV6,
    WMI_PDEV_ROUTING_TYPE_EAP,
    WMI_PDEV_ROUTING_TYPE_EAP,
    WMI_PDEV_ROUTING_TYPE_VLAN,
} wmi_pdev_pkt_routing_type;
} wmi_pdev_pkt_routing_type;
typedef enum {
typedef enum {
@@ -34512,6 +34657,8 @@ typedef enum {
    ROAM_VENDOR_CONTROL_PARAM_PASSIVE_CH_DWELLTIME,
    ROAM_VENDOR_CONTROL_PARAM_PASSIVE_CH_DWELLTIME,
    ROAM_VENDOR_CONTROL_PARAM_HOME_CH_TIME,
    ROAM_VENDOR_CONTROL_PARAM_HOME_CH_TIME,
    ROAM_VENDOR_CONTROL_PARAM_AWAY_TIME,
    ROAM_VENDOR_CONTROL_PARAM_AWAY_TIME,
    /* Sending query for all roam_vendor_control_param */
    ROAM_VENDOR_CONTROL_PARAM_ALL = 0xFFFFFFFF,
} WMI_ROAM_GET_VENDOR_CONTROL_PARAM_ID;
} WMI_ROAM_GET_VENDOR_CONTROL_PARAM_ID;
typedef struct {
typedef struct {
@@ -34528,12 +34675,25 @@ typedef struct {
    A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_roam_get_vendor_control_param_event_fixed_param */
    A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_roam_get_vendor_control_param_event_fixed_param */
    /** unique id identifying the VDEV, generated by the caller */
    /** unique id identifying the VDEV, generated by the caller */
    A_UINT32 vdev_id;
    A_UINT32 vdev_id;
    /** Vendor Control Param ID from enum WMI_ROAM_GET_VENDOR_CONTROL_PARAM_ID */
    /**
     * Vendor Control Param ID from enum WMI_ROAM_GET_VENDOR_CONTROL_PARAM_ID
     * If param_id is ROAM_VENDOR_CONTROL_PARAM_ALL, send all vendor control
     * param value defined in enum WMI_ROAM_GET_VENDOR_CONTROL_PARAM_ID
     * using wmi_vendor_control_param tlv
     */
    A_UINT32 param_id;
    A_UINT32 param_id;
    /** Vendor control param value */
    /** Vendor control param value */
    A_UINT32 param_value;
    A_UINT32 param_value;
} wmi_roam_get_vendor_control_param_event_fixed_param;
} wmi_roam_get_vendor_control_param_event_fixed_param;
typedef struct {
    A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_vendor_control_param */
    /** Vendor Control Param ID from enum WMI_ROAM_GET_VENDOR_CONTROL_PARAM_ID */
    A_UINT32 param_id;
    /** Vendor control param value */
    A_UINT32 param_value;
} wmi_vendor_control_param;
/** the definition of different ROAM parameters */
/** the definition of different ROAM parameters */
typedef enum {
typedef enum {
    /*  roam param to configure below roam events
    /*  roam param to configure below roam events
@@ -36414,7 +36574,15 @@ typedef struct {
#define WMI_EHTCAP_MAC_MAXAMPDULEN_EXP_GET(eht_cap_mac) WMI_GET_BITS(eht_cap_mac[0], 8, 1)
#define WMI_EHTCAP_MAC_MAXAMPDULEN_EXP_GET(eht_cap_mac) WMI_GET_BITS(eht_cap_mac[0], 8, 1)
#define WMI_EHTCAP_MAC_MAXAMPDULEN_EXP_SET(eht_cap_mac, value) WMI_SET_BITS(eht_cap_mac[0], 8, 1, value)
#define WMI_EHTCAP_MAC_MAXAMPDULEN_EXP_SET(eht_cap_mac, value) WMI_SET_BITS(eht_cap_mac[0], 8, 1, value)
/* Bit 9-15: reserved */
/* Bit 9: EHT TRS support */
#define WMI_EHTCAP_MAC_TRS_SUPPORT_GET(eht_cap_mac) WMI_GET_BITS(eht_cap_mac[0], 9, 1)
#define WMI_EHTCAP_MAC_TRS_SUPPORT_SET(eht_cap_mac, value) WMI_SET_BITS(eht_cap_mac[0], 9, 1, value)
/* Bit 10: TXOP return support in txop sharing mode 2 */
#define WMI_EHTCAP_MAC_TXOP_RETURN_SUPP_IN_SHARINGMODE2_GET(eht_cap_mac) WMI_GET_BITS(eht_cap_mac[0], 10, 1)
#define WMI_EHTCAP_MAC_TXOP_RETURN_SUPP_IN_SHARINGMODE2_SET(eht_cap_mac, value) WMI_SET_BITS(eht_cap_mac[0], 10, 1, value)
/* Bit 11-15: reserved */
/****** End of 11BE EHT MAC Capabilities Information field ******/
/****** End of 11BE EHT MAC Capabilities Information field ******/
Loading