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

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

Merge 27f84d10 on remote branch

Change-Id: I40a3ed58fd9e398f8451083f35a5f337be93eb3f
parents 36637cf1 27f84d10
Loading
Loading
Loading
Loading
+65 −1
Original line number Diff line number Diff line
@@ -234,9 +234,10 @@
 * 3.107 Add traffic_end_indication bitfield in htt_tx_msdu_desc_ext2_t.
 * 3.108 Add HTT_H2T_MSG_TYPE_UMAC_HANG_RECOVERY_PREREQUISITE_SETUP def.
 * 3.109 Add HTT_T2H RX_ADDBA_EXTN,RX_DELBA_EXTN defs.
 * 3.110 Add more word_mask fields in htt_tx_monitor_cfg_t.
 */
#define HTT_CURRENT_VERSION_MAJOR 3
#define HTT_CURRENT_VERSION_MINOR 109
#define HTT_CURRENT_VERSION_MINOR 110
#define HTT_NUM_TX_FRAG_DESC  1024
@@ -760,6 +761,7 @@ typedef enum {
    HTT_STATS_LATENCY_PROF_CAL_STATS_TAG           = 168, /* htt_latency_prof_cal_stats_tlv */
    HTT_STATS_TX_PDEV_MUEDCA_PARAMS_STATS_TAG      = 169, /* htt_tx_pdev_muedca_params_stats_tlv_v */
    HTT_STATS_PDEV_BW_MGR_STATS_TAG                = 170, /* htt_pdev_bw_mgr_stats_tlv */
    HTT_STATS_TX_PDEV_AP_EDCA_PARAMS_STATS_TAG     = 171, /* htt_tx_pdev_ap_edca_params_stats_tlv_v */
    HTT_STATS_MAX_TAG,
@@ -6961,6 +6963,13 @@ PREPACK struct htt_tx_monitor_cfg_t {
             dma_mpdu_ctrl:                          1,
             dma_mpdu_data:                          1,
             rsvd4:                                 10;
    A_UINT32 tx_queue_ext_v2_word_mask:             12,
             tx_peer_entry_v2_word_mask:            12,
             rsvd5:                                 10;
    A_UINT32 fes_status_end_word_mask:              16,
             response_end_status_word_mask:         16;
    A_UINT32 fes_status_prot_word_mask:             11,
             rsvd6:                                 21;
} POSTPACK;
#define HTT_TX_MONITOR_CFG_SZ    (sizeof(struct htt_tx_monitor_cfg_t))
@@ -7339,6 +7348,61 @@ PREPACK struct htt_tx_monitor_cfg_t {
                ((_var) |= ((_val) << HTT_TX_MONITOR_CFG_DMA_MPDU_DATA_S)); \
            } while (0)
#define HTT_TX_MONITOR_CFG_TX_QUEUE_EXT_V2_WORD_MASK_M          0x00000fff
#define HTT_TX_MONITOR_CFG_TX_QUEUE_EXT_V2_WORD_MASK_S          0
#define HTT_TX_MONITOR_CFG_TX_QUEUE_EXT_V2_WORD_MASK_GET(_var) \
            (((_var) & HTT_TX_MONITOR_CFG_TX_QUEUE_EXT_V2_WORD_MASK_M) >> \
                    HTT_TX_MONITOR_CFG_TX_QUEUE_EXT_V2_WORD_MASK_S)
#define HTT_TX_MONITOR_CFG_TX_QUEUE_EXT_V2_WORD_MASK_SET(_var, _val) \
            do { \
                HTT_CHECK_SET_VAL(HTT_TX_MONITOR_CFG_TX_QUEUE_EXT_V2_WORD_MASK, _val); \
                ((_var) |= ((_val) << HTT_TX_MONITOR_CFG_TX_QUEUE_EXT_V2_WORD_MASK_S)); \
            } while (0)
#define HTT_TX_MONITOR_CFG_TX_PEER_ENTRY_V2_WORD_MASK_M         0x00fff000
#define HTT_TX_MONITOR_CFG_TX_PEER_ENTRY_V2_WORD_MASK_S         12
#define HTT_TX_MONITOR_CFG_TX_PEER_ENTRY_V2_WORD_MASK_GET(_var) \
            (((_var) & HTT_TX_MONITOR_CFG_TX_PEER_ENTRY_V2_WORD_MASK_M) >> \
                    HTT_TX_MONITOR_CFG_TX_PEER_ENTRY_V2_WORD_MASK_S)
#define HTT_TX_MONITOR_CFG_TX_PEER_ENTRY_V2_WORD_MASK_SET(_var, _val) \
            do { \
                HTT_CHECK_SET_VAL(HTT_TX_MONITOR_CFG_TX_PEER_ENTRY_V2_WORD_MASK, _val); \
                ((_var) |= ((_val) << HTT_TX_MONITOR_CFG_TX_PEER_ENTRY_V2_WORD_MASK_S)); \
            } while (0)
#define HTT_TX_MONITOR_CFG_FES_STATUS_END_WORD_MASK_M           0x0000ffff
#define HTT_TX_MONITOR_CFG_FES_STATUS_END_WORD_MASK_S           0
#define HTT_TX_MONITOR_CFG_FES_STATUS_END_WORD_MASK_GET(_var) \
            (((_var) & HTT_TX_MONITOR_CFG_FES_STATUS_END_WORD_MASK_M) >> \
                    HTT_TX_MONITOR_CFG_FES_STATUS_END_WORD_MASK_S)
#define HTT_TX_MONITOR_CFG_FES_STATUS_END_WORD_MASK_SET(_var, _val) \
            do { \
                HTT_CHECK_SET_VAL(HTT_TX_MONITOR_CFG_FES_STATUS_END_WORD_MASK, _val); \
                ((_var) |= ((_val) << HTT_TX_MONITOR_CFG_FES_STATUS_END_WORD_MASK_S)); \
            } while (0)
#define HTT_TX_MONITOR_CFG_RESPONSE_END_STATUS_WORD_MASK_M      0xffff0000
#define HTT_TX_MONITOR_CFG_RESPONSE_END_STATUS_WORD_MASK_S      16
#define HTT_TX_MONITOR_CFG_RESPONSE_END_STATUS_WORD_MASK_GET(_var) \
            (((_var) & HTT_TX_MONITOR_CFG_RESPONSE_END_STATUS_WORD_MASK_M) >> \
                    HTT_TX_MONITOR_CFG_RESPONSE_END_STATUS_WORD_MASK_S)
#define HTT_TX_MONITOR_CFG_RESPONSE_END_STATUS_WORD_MASK_SET(_var, _val) \
            do { \
                HTT_CHECK_SET_VAL(HTT_TX_MONITOR_CFG_RESPONSE_END_STATUS_WORD_MASK, _val); \
                ((_var) |= ((_val) << HTT_TX_MONITOR_CFG_RESPONSE_END_STATUS_WORD_MASK_S)); \
            } while (0)
#define HTT_TX_MONITOR_CFG_FES_STATUS_PROT_WORD_MASK_M          0x000007ff
#define HTT_TX_MONITOR_CFG_FES_STATUS_PROT_WORD_MASK_S          0
#define HTT_TX_MONITOR_CFG_FES_STATUS_PROT_WORD_MASK_GET(_var) \
            (((_var) & HTT_TX_MONITOR_CFG_FES_STATUS_PROT_WORD_MASK_M) >> \
                    HTT_TX_MONITOR_CFG_FES_STATUS_PROT_WORD_MASK_S)
#define HTT_TX_MONITOR_CFG_FES_STATUS_PROT_WORD_MASK_SET(_var, _val) \
            do { \
                HTT_CHECK_SET_VAL(HTT_TX_MONITOR_CFG_FES_STATUS_PROT_WORD_MASK, _val); \
                ((_var) |= ((_val) << HTT_TX_MONITOR_CFG_FES_STATUS_PROT_WORD_MASK_S)); \
            } while (0)
/*
 * pkt_type_enable_flags
 */
+51 −3
Original line number Diff line number Diff line
@@ -901,7 +901,8 @@ typedef struct {
    /** Num of times su bf sequences are denylisted */
    A_UINT32 num_su_txbf_denylisted;
    /** pdev uptime in microseconds **/
    A_UINT32 pdev_up_time_us;
    A_UINT32 pdev_up_time_us_low;
    A_UINT32 pdev_up_time_us_high;
} htt_tx_pdev_stats_cmn_tlv;

#define HTT_TX_PDEV_STATS_URRN_TLV_SZ(_num_elems) (sizeof(A_UINT32) * (_num_elems))
@@ -946,6 +947,18 @@ typedef struct {
    A_UINT32 cw_max[HTT_NUM_AC_WMM][HTT_STATS_MUEDCA_VALUE_MAX];
} htt_tx_pdev_muedca_params_stats_tlv_v;

typedef struct {
    htt_tlv_hdr_t tlv_hdr;
    A_UINT32 ul_mumimo_less_aggressive[HTT_NUM_AC_WMM];
    A_UINT32 ul_mumimo_medium_aggressive[HTT_NUM_AC_WMM];
    A_UINT32 ul_mumimo_highly_aggressive[HTT_NUM_AC_WMM];
    A_UINT32 ul_mumimo_default_relaxed[HTT_NUM_AC_WMM];
    A_UINT32 ul_muofdma_less_aggressive[HTT_NUM_AC_WMM];
    A_UINT32 ul_muofdma_medium_aggressive[HTT_NUM_AC_WMM];
    A_UINT32 ul_muofdma_highly_aggressive[HTT_NUM_AC_WMM];
    A_UINT32 ul_muofdma_default_relaxed[HTT_NUM_AC_WMM];
} htt_tx_pdev_ap_edca_params_stats_tlv_v;

#define HTT_TX_PDEV_SIFS_BURST_HIST_STATS 10
#define HTT_TX_PDEV_STATS_SIFS_HIST_TLV_SZ(_num_elems) (sizeof(A_UINT32) * (_num_elems))
/* NOTE: Variable length TLV, use length spec to infer array size */
@@ -4944,8 +4957,12 @@ typedef struct {
    htt_tlv_hdr_t tlv_hdr;
    /** Tx PPDU duration histogram **/
    A_UINT32 tx_ppdu_dur_hist[HTT_PDEV_STATS_PPDU_DUR_HIST_BINS];
    A_UINT32 tx_success_time_us;
    A_UINT32 tx_fail_time_us;
    A_UINT32 tx_success_time_us_low;
    A_UINT32 tx_success_time_us_high;
    A_UINT32 tx_fail_time_us_low;
    A_UINT32 tx_fail_time_us_high;
    A_UINT32 pdev_up_time_us_low;
    A_UINT32 pdev_up_time_us_high;
} htt_tx_pdev_ppdu_dur_stats_tlv;

/* STATS_TYPE : HTT_DBG_EXT_STATS_PDEV_TX_RATE
@@ -6375,6 +6392,14 @@ typedef struct {
    A_UINT32 cv_buf_received;
    /** total times CV bufs fed back to the IPC ring */
    A_UINT32 cv_buf_fed_back;
    /* Total times CV query happened for IBF case */
    A_UINT32 cv_total_query_ibf;
    /* A valid CV has been found for IBF case */
    A_UINT32 cv_found_ibf;
    /* A valid CV has not been found for IBF case */
    A_UINT32 cv_not_found_ibf;
    /* Expired CV found during query for IBF case */
    A_UINT32 cv_expired_during_query_ibf;
} htt_tx_sounding_stats_tlv;

/* STATS_TYPE : HTT_DBG_EXT_STATS_TX_SOUNDING_INFO
@@ -6807,6 +6832,15 @@ typedef struct {
    A_UINT32 reduced_tx_su_ibf_bw[HTT_TX_TXBF_RATE_STATS_NUM_REDUCED_CHAN_TYPES][HTT_TX_TXBF_RATE_STATS_NUM_BW_COUNTERS];
    /** Open loop TX BW stats */
    A_UINT32 reduced_tx_su_ol_bw[HTT_TX_TXBF_RATE_STATS_NUM_REDUCED_CHAN_TYPES][HTT_TX_TXBF_RATE_STATS_NUM_BW_COUNTERS];
    /** Txbf flag reason stats */
    A_UINT32 txbf_flag_set_mu_mode;
    A_UINT32 txbf_flag_set_final_status;
    A_UINT32 txbf_flag_not_set_verified_txbf_mode;
    A_UINT32 txbf_flag_not_set_disable_p2p_access;
    A_UINT32 txbf_flag_not_set_max_nss_reached_in_he160;
    A_UINT32 txbf_flag_not_set_disable_ul_dl_ofdma;
    A_UINT32 txbf_flag_not_set_mcs_threshold_value;
    A_UINT32 txbf_flag_not_set_final_status;
} htt_tx_pdev_txbf_rate_stats_tlv;

typedef enum {
@@ -8456,6 +8490,20 @@ typedef struct {
    A_UINT32 chan_acc_lat_based_dlofdma_disabled_count[HTT_NUM_AC_WMM];
    /** Num of instances where avg. channel access latency based DL OFDMA status = MONITORING */
    A_UINT32 chan_acc_lat_based_dlofdma_monitoring_count[HTT_NUM_AC_WMM];
    /** Num of instances where dl ofdma is disabled due to ru allocation failure */
    A_UINT32 downgrade_to_dl_su_ru_alloc_fail[HTT_NUM_AC_WMM];
    /** Num of instances where dl ofdma is disabled because we have only one user in candidate list */
    A_UINT32 candidate_list_single_user_disable_ofdma[HTT_NUM_AC_WMM];
    /** Num of instances where ul is chosen over dl based on qos weight not specific to OFDMA */
    A_UINT32 dl_cand_list_dropped_high_ul_qos_weight[HTT_NUM_AC_WMM];
    /** Num of instances where dl ofdma is disabled due to pipelining */
    A_UINT32 ax_dlofdma_disabled_due_to_pipelining[HTT_NUM_AC_WMM];
    /** Num of instances where dl ofdma is disabled as the tid is su only eligible */
    A_UINT32 dlofdma_disabled_su_only_eligible[HTT_NUM_AC_WMM];
    /** Num of instances where dl ofdma is disabled because there are no mpdus tried consecutively */
    A_UINT32 dlofdma_disabled_consec_no_mpdus_tried[HTT_NUM_AC_WMM];
    /** Num of instances where dl ofdma is disabled because there are consecutive mpdu failure */
    A_UINT32 dlofdma_disabled_consec_no_mpdus_success[HTT_NUM_AC_WMM];
} htt_pdev_sched_algo_ofdma_stats_tlv;

/*======= Bandwidth Manager stats ====================*/
+2 −0
Original line number Diff line number Diff line
@@ -138,6 +138,8 @@ typedef enum {

  WLAN_MODULE_T2LM,                     /* 0x64 */
  WLAN_MODULE_HEALTH_MON,               /* 0x65 */
  WLAN_MODULE_XGAP,                     /* 0x66 */


  WLAN_MODULE_ID_MAX,
  WLAN_MODULE_ID_INVALID = WLAN_MODULE_ID_MAX,
+12 −7
Original line number Diff line number Diff line
@@ -597,6 +597,11 @@ typedef enum {
    WMI_SERVICE_HALPHY_CTRL_PATH_STATS = 344, /* HALPHY STATS through control path */
    WMI_SERVICE_PEER_CHWIDTH_PUNCTURE_BITMAP_SUPPORT = 345, /* FW supports puncture bitmap change with channel width switch */
    WMI_SERVICE_BANG_RADAR_320_SUPPORT = 346, /* Host to send frequency offset for bang radar in extended field for 320M support */
    WMI_SERVICE_XGAP_SUPPORT = 347, /* FW support for XGAP */
    WMI_SERVICE_OBSS_PER_PACKET_SR_SUPPORT = 348, /* Spatial Reuse support for per PPDU setting */
    WMI_SERVICE_MULTIPLE_VDEV_RESTART_BITMAP_SUPPORT = 349, /* Extended Multiple VDEV Restart with Bitmap Support */
    WMI_SERVICE_WMI_SERVICE_WPA3_SHA384_ROAM_SUPPORT = 350, /* Indicates FW supports WPA3 SHA384 roaming */
    WMI_SERVICE_ODD_LIVEDUMP_SUPPORT = 351, /* Support for ODD Livedump from the FW */


    WMI_MAX_EXT2_SERVICE
@@ -631,15 +636,15 @@ typedef enum {
 */
#define WMI_SERVICE_ENABLE(pwmi_svc_bmap,svc_id) \
    ( (pwmi_svc_bmap)[(svc_id)/(sizeof(A_UINT32))] |= \
         (1 << ((svc_id)%(sizeof(A_UINT32)))) )
         ((A_UINT32) 1 << ((svc_id)%(sizeof(A_UINT32)))) )

#define WMI_SERVICE_DISABLE(pwmi_svc_bmap,svc_id) \
    ( (pwmi_svc_bmap)[(svc_id)/(sizeof(A_UINT32))] &=  \
      ( ~(1 << ((svc_id)%(sizeof(A_UINT32)))) ) )
      ( ~((A_UINT32) 1 << ((svc_id)%(sizeof(A_UINT32)))) ) )

#define WMI_SERVICE_IS_ENABLED(pwmi_svc_bmap,svc_id) \
    ( ((pwmi_svc_bmap)[(svc_id)/(sizeof(A_UINT32))] &  \
       (1 << ((svc_id)%(sizeof(A_UINT32)))) ) != 0)
       ((A_UINT32) 1 << ((svc_id)%(sizeof(A_UINT32)))) ) != 0)


#define WMI_SERVICE_EXT_ENABLE(pwmi_svc_bmap, pwmi_svc_ext_bmap, svc_id) \
@@ -649,7 +654,7 @@ typedef enum {
        } else { \
            int word = ((svc_id) - WMI_MAX_SERVICE) / 32; \
            int bit = (svc_id) & 0x1f; /* svc_id mod 32 */ \
            (pwmi_svc_ext_bmap)[word] |= (1 << bit); \
            (pwmi_svc_ext_bmap)[word] |= ((A_UINT32) 1 << bit); \
        } \
    } while (0)

@@ -660,7 +665,7 @@ typedef enum {
        } else { \
            int word = ((svc_id) - WMI_MAX_SERVICE) / 32; \
            int bit = (svc_id) & 0x1f; /* svc_id mod 32 */ \
            (pwmi_svc_ext_bmap)[word] &= ~(1 << bit); \
            (pwmi_svc_ext_bmap)[word] &= ~((A_UINT32) 1 << bit); \
        } \
    } while (0)

@@ -684,7 +689,7 @@ typedef enum {
        } else { \
            int word = ((svc_id) - WMI_MAX_EXT_SERVICE) / 32; \
            int bit = (svc_id) & 0x1f; /* svc_id mod 32 */ \
            (pwmi_svc_ext2_bmap)[word] |= (1 << bit); \
            (pwmi_svc_ext2_bmap)[word] |= ((A_UINT32) 1 << bit); \
        } \
    } while (0)

@@ -698,7 +703,7 @@ typedef enum {
        } else { \
            int word = ((svc_id) - WMI_MAX_EXT_SERVICE) / 32; \
            int bit = (svc_id) & 0x1f; /* svc_id mod 32 */ \
            (pwmi_svc_ext2_bmap)[word] &= ~(1 << bit); \
            (pwmi_svc_ext2_bmap)[word] &= ~((A_UINT32) 1 << bit); \
        } \
    } while (0)

+44 −3
Original line number Diff line number Diff line
@@ -1296,6 +1296,12 @@ typedef enum {
    WMITLV_TAG_STRUC_wmi_regulatory_fcc_rule_struct,
    WMITLV_TAG_STRUC_wmi_vdev_param_enable_sr_prohibit_fixed_param,
    WMITLV_TAG_STRUC_wmi_pdev_sched_tidq_susp_info_event_fixed_param,
    WMITLV_TAG_STRUC_wmi_xgap_enable_cmd_fixed_param,
    WMITLV_TAG_STRUC_wmi_xgap_enable_complete_event_fixed_param,
    WMITLV_TAG_STRUC_wmi_pdev_mesh_rx_filter_enable_fixed_param,
    WMITLV_TAG_STRUC_wmi_wfa_config_ofdma,
    WMITLV_TAG_STRUC_wmi_livedump_request_cmd_fixed_param,
    WMITLV_TAG_STRUC_wmi_livedump_response_event_fixed_param,
} WMITLV_TAG_ID;

/*
@@ -1803,6 +1809,9 @@ typedef enum {
    OP(WMI_PDEV_FEATURESET_CMDID) \
    OP(WMI_ROAM_MLO_CONFIG_CMDID) \
    OP(WMI_VDEV_PARAM_ENABLE_SR_PROHIBIT_CMDID) \
    OP(WMI_XGAP_ENABLE_CMDID) \
    OP(WMI_PDEV_MESH_RX_FILTER_ENABLE_CMDID) \
    OP(WMI_ODD_LIVEDUMP_REQUEST_CMDID) \
    /* add new CMD_LIST elements above this line */


@@ -2096,6 +2105,8 @@ typedef enum {
    OP(WMI_HEALTH_MON_INIT_DONE_EVENTID) \
    OP(WMI_IPA_LINK_STATS_EVENTID) \
    OP(WMI_PDEV_SCHED_TIDQ_SUSP_INFO_EVENTID) \
    OP(WMI_XGAP_ENABLE_COMPLETE_EVENTID) \
    OP(WMI_ODD_LIVEDUMP_RESPONSE_EVENTID) \
    /* add new EVT_LIST elements above this line */


@@ -2501,7 +2512,9 @@ WMITLV_CREATE_PARAM_STRUC(WMI_P2P_GO_SET_BEACON_IE);
/* GTK offload Cmd */
#define WMITLV_TABLE_WMI_GTK_OFFLOAD_CMDID(id,op,buf,len) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_WMI_GTK_OFFLOAD_CMD_fixed_param, WMI_GTK_OFFLOAD_CMD_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_gtk_offload_fils_tlv_param, wmi_fils_gtk_info, WMITLV_SIZE_VAR)
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_gtk_offload_fils_tlv_param, wmi_fils_gtk_info, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, kek_ext, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, kck_ext, WMITLV_SIZE_VAR)

WMITLV_CREATE_PARAM_STRUC(WMI_GTK_OFFLOAD_CMDID);

@@ -4500,6 +4513,10 @@ WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_ADD_MAC_ADDR_TO_RX_FILTER_CMDID);
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_hw_data_filter_cmd_fixed_param, wmi_hw_data_filter_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_HW_DATA_FILTER_CMDID);

#define WMITLV_TABLE_WMI_PDEV_MESH_RX_FILTER_ENABLE_CMDID(id,op,buf,len) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_mesh_rx_filter_enable_fixed_param, wmi_pdev_mesh_rx_filter_enable_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_MESH_RX_FILTER_ENABLE_CMDID);

/* Multiple vdev restart request cmd */
#define WMITLV_TABLE_WMI_PDEV_MULTIPLE_VDEV_RESTART_REQUEST_CMDID(id,op,buf,len) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_multiple_vdev_restart_request_cmd_fixed_param, wmi_pdev_multiple_vdev_restart_request_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
@@ -4902,7 +4919,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_SIMULATION_TEST_CMDID);
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_wfa_config_rsnxe, wfa_config_rsnxe, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_wfa_config_csa, wfa_config_csa, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_wfa_config_ocv, wfa_config_ocv, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_wfa_config_saquery, wfa_config_saquery, WMITLV_SIZE_VAR)
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_wfa_config_saquery, wfa_config_saquery, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_wfa_config_ofdma, wfa_config_ofdma, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_WFA_CONFIG_CMDID);

/* SRG OBSS color Enable Bitmap */
@@ -5145,6 +5163,16 @@ WMITLV_CREATE_PARAM_STRUC(WMI_COEX_DBAM_CMDID);
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_param_enable_sr_prohibit_fixed_param, wmi_vdev_param_enable_sr_prohibit_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_PARAM_ENABLE_SR_PROHIBIT_CMDID);

/* xGAP enable cmd */
#define WMITLV_TABLE_WMI_XGAP_ENABLE_CMDID(id,op,buf,len) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_xgap_enable_cmd_fixed_param, wmi_xgap_enable_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_XGAP_ENABLE_CMDID);

#define WMITLV_TABLE_WMI_ODD_LIVEDUMP_REQUEST_CMDID(id,op,buf,len) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_livedump_request_cmd_fixed_param, wmi_livedump_request_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, odd_livedump_id_list, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_ODD_LIVEDUMP_REQUEST_CMDID);



/************************** TLV definitions of WMI events *******************************/
@@ -6556,7 +6584,9 @@ WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_ENCRYPT_DECRYPT_DATA_RESP_EVENTID);

#define WMITLV_TABLE_WMI_PEER_STATS_INFO_EVENTID(id, op, buf, len) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_stats_info_event_fixed_param, wmi_peer_stats_info_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_stats_info, peer_stats_info, WMITLV_SIZE_VAR)
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_stats_info, peer_stats_info, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, tx_rate_counts, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, rx_rate_counts, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_PEER_STATS_INFO_EVENTID);

/* Update Control Path stats event */
@@ -6980,6 +7010,17 @@ WMITLV_CREATE_PARAM_STRUC(WMI_COEX_DBAM_COMPLETE_EVENTID);
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_health_mon_init_done_fixed_param, wmi_health_mon_init_done_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_HEALTH_MON_INIT_DONE_EVENTID);

/* xGAP enable cmd complete event */
#define WMITLV_TABLE_WMI_XGAP_ENABLE_COMPLETE_EVENTID(id,op,buf,len) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_xgap_enable_complete_event_fixed_param, wmi_xgap_enable_complete_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_XGAP_ENABLE_COMPLETE_EVENTID);

/* ODD Livedump */
#define  WMITLV_TABLE_WMI_ODD_LIVEDUMP_RESPONSE_EVENTID(id,op,buf,len) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_livedump_response_event_fixed_param, wmi_livedump_response_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_ODD_LIVEDUMP_RESPONSE_EVENTID);




#ifdef __cplusplus
Loading