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

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

Merge 5bbd356e on remote branch

Change-Id: I226e9c264a64af350d79ddf747e5dea15c631911
parents d5e4529e 5bbd356e
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -251,9 +251,10 @@
 * 3.123 Add HTT_OPTION_TLV_TCL_METADATA_V21 def.
 * 3.124 Add HTT_T2H_MSG_TYPE_PEER_EXTENDED_EVENT def.
 * 3.125 Expand fisa_aggr_limit bits in fisa_control_bits_v2.
 * 3.126 Add HTT_RXDATA_ERR_INVALID_PEER def.
 */
#define HTT_CURRENT_VERSION_MAJOR 3
#define HTT_CURRENT_VERSION_MINOR 125
#define HTT_CURRENT_VERSION_MINOR 126
#define HTT_NUM_TX_FRAG_DESC  1024
@@ -21383,6 +21384,12 @@ typedef enum htt_t2h_rx_data_msdu_err {
     */
    HTT_RXDATA_ERR_ZERO_LEN_MSDU    = 7,
    /* ERR_INVALID_PEER:
     * FW sets this error flag when MSDU is recived from invalid PEER
     * HOST decides to send DEAUTH or not, recyles buffer.
     */
    HTT_RXDATA_ERR_INVALID_PEER     = 8,
    /* add new error codes here */
    HTT_RXDATA_ERR_MAX              = 32
+42 −4
Original line number Diff line number Diff line
@@ -1057,6 +1057,20 @@ typedef struct {
         ((_var) |= ((_val) << HTT_PPDU_STATS_USER_COMMON_TLV_CHAIN_ENABLE_BITS_S)); \
     } while (0)

#define HTT_PPDU_STATS_USER_COMMON_TLV_IS_SMART_ULOFDMA_BASIC_TRIG_M  0x00010000
#define HTT_PPDU_STATS_USER_COMMON_TLV_IS_SMART_ULOFDMA_BASIC_TRIG_S          16

#define HTT_PPDU_STATS_USER_COMMON_TLV_IS_SMART_ULOFDMA_BASIC_TRIG_GET(_var) \
    (((_var) & HTT_PPDU_STATS_USER_COMMON_TLV_IS_SMART_ULOFDMA_BASIC_TRIG_M) >> \
    HTT_PPDU_STATS_USER_COMMON_TLV_IS_SMART_ULOFDMA_BASIC_TRIG_S)

#define HTT_PPDU_STATS_USER_COMMON_TLV_IS_SMART_ULOFDMA_BASIC_TRIG_SET(_var, _val) \
     do { \
         HTT_CHECK_SET_VAL(HTT_PPDU_STATS_USER_COMMON_TLV_IS_SMART_ULOFDMA_BASIC_TRIG, _val); \
         ((_var) |= ((_val) << HTT_PPDU_STATS_USER_COMMON_TLV_IS_SMART_ULOFDMA_BASIC_TRIG_S)); \
     } while (0)


#define HTT_PPDU_STATS_USER_COMMON_TLV_TX_PWR_CHAINS_PER_U32 4
#define HTT_PPDU_STATS_USER_COMMON_TLV_TX_PWR_MASK 0x000000ff

@@ -1194,10 +1208,15 @@ typedef struct {
     * Default value: 1
     * tx_pwr[0] value is used for all chains if chain_enable_bits field
     * is set to 1.
     *
     * is_smart_ulofdma_basic_trig:
     * To check if user grouped in UL OFDMA Basic Trigger Frame is
     * due to Smart Basic Trigger.
     */
    A_UINT32 tx_pwr_multiplier          :  8,
             chain_enable_bits          :  8,
             reserved2          : 16;
             is_smart_ulofdma_basic_trig:  1,
             reserved2                  : 15;

    /*
     * Transmit powers (signed values packed into unsigned bitfields)
@@ -1819,6 +1838,19 @@ typedef enum HTT_PPDU_STATS_RESP_PPDU_TYPE HTT_PPDU_STATS_RESP_PPDU_TYPE;
        ((_var) |= ((_val) << HTT_PPDU_STATS_USER_RATE_TLV_EXTRA_EHT_LTF_S)); \
    } while (0)

#define HTT_PPDU_STATS_USER_RATE_TLV_IS_MIN_RATE_M  0x00020000
#define HTT_PPDU_STATS_USER_RATE_TLV_IS_MIN_RATE_S          17

#define HTT_PPDU_STATS_USER_RATE_TLV_IS_MIN_RATE_GET(_var) \
    (((_var) & HTT_PPDU_STATS_USER_RATE_TLV_IS_MIN_RATE_M) >> \
    HTT_PPDU_STATS_USER_RATE_TLV_IS_MIN_RATE_S)

#define HTT_PPDU_STATS_USER_RATE_TLV_IS_MIN_RATE_SET (_var , _val) \
    do { \
        HTT_CHECK_SET_VAL(HTT_PPDU_STATS_USER_RATE_TLV_IS_MIN_RATE, _val); \
        ((_var) |= ((_val) << HTT_PPDU_STATS_USER_RATE_TLV_IS_MIN_RATE_S)); \
    } while (0)

typedef enum HTT_PPDU_STATS_RU_SIZE {
    HTT_PPDU_STATS_RU_26,
    HTT_PPDU_STATS_RU_52,
@@ -2009,7 +2041,8 @@ typedef struct {
     */
    A_UINT32 punc_pattern_bitmap: 16,
             extra_eht_ltf:       1,
             reserved4:           15;
             is_min_rate:         1,
             reserved4:           14;
} htt_ppdu_stats_user_rate_tlv;

#define HTT_PPDU_STATS_USR_RATE_VALID_M     0x80000000
@@ -2479,6 +2512,11 @@ typedef struct {
     * for BW supported by Smart Antenna - 320 MHZ
     */
    A_UINT32 max_rates_ext;

    /* hw_prot_dur_us:
     * hw protection frame's FES duration in micro seconds.
     */
    A_UINT32 hw_prot_dur_us;
} htt_ppdu_stats_user_cmpltn_common_tlv;

#define HTT_PPDU_STATS_USER_CMPLTN_BA_BITMAP_TLV_TID_NUM_M     0x000000ff
+120 −4
Original line number Diff line number Diff line
@@ -555,6 +555,34 @@ enum htt_dbg_ext_stats_type {
     */
    HTT_DBG_CODEL_STATS = 58,

    /** HTT_DBG_ODD_PDEV_BE_TX_MU_OFDMA_STATS
     * PARAMS:
     *   - No Params
     * RESP MSG:
     *   - htt_tx_pdev_mpdu_stats_tlv
     */
    HTT_DBG_ODD_PDEV_BE_TX_MU_OFDMA_STATS = 59,

    /** HTT_DBG_EXT_STATS_PDEV_UL_TRIGGER
     * PARAMS:
     *   - No Params
     * RESP MSG:
     *   - htt_rx_pdev_be_ul_ofdma_user_stats_tlv
     */
    HTT_DBG_ODD_UL_BE_OFDMA_STATS = 60,

    /** HTT_DBG_ODD_BE_TXBF_OFDMA_STATS
     */
    HTT_DBG_ODD_BE_TXBF_OFDMA_STATS = 61,

    /** HTT_DBG_ODD_STATS_PDEV_BE_UL_MUMIMO_TRIG_STATS
     * PARAMS:
     *   - No Params
     * RESP MSG:
     *   - htt_rx_pdev_be_ul_ofdma_user_stats_tlv
     */
    HTT_DBG_ODD_STATS_PDEV_BE_UL_MUMIMO_TRIG_STATS = 62,


    /* keep this last */
    HTT_DBG_NUM_EXT_STATS = 256,
@@ -1636,6 +1664,13 @@ typedef struct {
#define HTT_PEER_DETAILS_ML_PEER_ID_S         1
#define HTT_PEER_DETAILS_LINK_IDX_M           0x001fe000
#define HTT_PEER_DETAILS_LINK_IDX_S           13
#define HTT_PEER_DETAILS_USE_PPE_M            0x00200000
#define HTT_PEER_DETAILS_USE_PPE_S            21


#define HTT_PEER_DETAILS_SRC_INFO_M           0x00000fff
#define HTT_PEER_DETAILS_SRC_INFO_S           0


#define HTT_PEER_DETAILS_SET(word, httsym, val)  \
    do {                                         \
@@ -1664,7 +1699,11 @@ typedef struct {
    A_UINT32     ml_peer_id_valid  : 1,   /* [0:0] */
                 ml_peer_id        : 12,  /* [12:1] */
                 link_idx          : 8,   /* [20:13] */
                 rsvd              : 11;  /* [31:21] */
                 use_ppe           : 1,   /* [21:21] */
                 rsvd0             : 10;  /* [31:22] */
    /* Dword 9 */
    A_UINT32     src_info          : 12,  /* [11:0] */
                 rsvd1             : 20;  /* [31:12] */
} htt_peer_details_tlv;

typedef struct {
@@ -2417,6 +2456,8 @@ typedef enum {
#define HTT_TX_NUM_MUMIMO_GRP_INVALID_WORDS \
    (HTT_STATS_MAX_MUMIMO_GRP_SZ * HTT_STATS_MAX_INVALID_REASON_CODE)

#define HTT_MAX_NUM_SBT_INTR 4

typedef struct {
    htt_tlv_hdr_t tlv_hdr;

@@ -2469,6 +2510,19 @@ typedef struct {
    /** 11AX HE MU Standalone Freq. BSRP Trigger completed with error(s) */
    A_UINT32 standalone_ax_bsr_trigger_err[HTT_NUM_AC_WMM];
/* END DEPRECATED FIELDS */
    /** smart_basic_trig_sch_histogram:
     * Count how many times the interval between predictive basic triggers
     * sent to a given STA based on analysis of that STA's traffic patterns
     * is within a given range:
     *
     * smart_basic_trig_sch_histogram[0]: SBT interval <= 10 ms
     * smart_basic_trig_sch_histogram[1]: 10 ms < SBT interval <= 20 ms
     * smart_basic_trig_sch_histogram[2]: 20 ms < SBT interval <= 30 ms
     * smart_basic_trig_sch_histogram[3]: 30 ms < SBT interval <= 40 ms
     *
     * (Smart basic triggers are only used with intervals <= 40 ms.)
     */
    A_UINT32 smart_basic_trig_sch_histogram[HTT_MAX_NUM_SBT_INTR];
} htt_tx_selfgen_cmn_stats_tlv;

typedef struct {
@@ -6500,8 +6554,11 @@ typedef enum {
    HTT_TX_AX_SOUNDING_MODE  = 1,
    HTT_TX_BE_SOUNDING_MODE  = 2,
    HTT_TX_CMN_SOUNDING_MODE = 3,
    HTT_TX_CV_CORR_MODE      = 4,
} htt_stats_sounding_tx_mode;

#define HTT_TX_CV_CORR_MAX_NUM_COLUMNS 8

typedef struct {
    htt_tlv_hdr_t tlv_hdr;
    A_UINT32      tx_sounding_mode; /* HTT_TX_XX_SOUNDING_MODE */
@@ -6614,6 +6671,65 @@ typedef struct {
    A_UINT32 adaptive_snd_kicked_in;
    /** Total number of times we switched back to normal sounding interval */
    A_UINT32 adaptive_snd_back_to_default;

    /**
     * Below are CV correlation feature related stats.
     * This feature is used for DL MU MIMO, but is not available
     * from certain legacy targets.
     */

    /** number of CV Correlation triggers for online mode */
    A_UINT32 cv_corr_trigger_online_mode;
    /** number of CV Correlation triggers for offline mode */
    A_UINT32 cv_corr_trigger_offline_mode;
    /** number of CV Correlation triggers for hybrid mode */
    A_UINT32 cv_corr_trigger_hybrid_mode;
    /** number of CV Correlation triggers with computation level 0 */
    A_UINT32 cv_corr_trigger_computation_level_0;
    /** number of CV Correlation triggers with computation level 1 */
    A_UINT32 cv_corr_trigger_computation_level_1;
    /** number of CV Correlation triggers with computation level 2 */
    A_UINT32 cv_corr_trigger_computation_level_2;
    /** number of users for which CV Correlation was triggered */
    A_UINT32 cv_corr_trigger_num_users[HTT_TX_CV_CORR_MAX_NUM_COLUMNS];
    /** number of streams for which CV Correlation was triggered */
    A_UINT32 cv_corr_trigger_num_streams[HTT_TX_CV_CORR_MAX_NUM_COLUMNS];
    /** number of CV Correlation buffers received through IPC tickle */
    A_UINT32 cv_corr_upload_total_buf_received;
    /** number of CV Correlation buffers fed back to the IPC ring */
    A_UINT32 cv_corr_upload_total_buf_fed_back;
    /** number of CV Correlation buffers for which processing failed */
    A_UINT32 cv_corr_upload_total_processing_failed;
    /**
     * number of CV Correlation buffers for which processing failed,
     * due to no users being present in parsed buffer
     */
    A_UINT32 cv_corr_upload_failed_total_users_zero;
    /**
     * number of CV Correlation buffers for which processing failed,
     * due to number of users present in parsed buffer exceeded
     * CV_CORR_MAX_NUM_COLUMNS
     */
    A_UINT32 cv_corr_upload_failed_total_users_exceeded;
    /**
     * number of CV Correlation buffers for which processing failed,
     * due to peer pointer for parsed peer not available
     */
    A_UINT32 cv_corr_upload_failed_peer_not_found;
    /**
     * number of CV Correlation buffers for which processing encountered,
     * Nss of peer exceeding SCHED_ALGO_MAX_SUPPORTED_MUMIMO_NSS
     */
    A_UINT32 cv_corr_upload_user_nss_exceeded;
    /**
     * number of CV Correlation buffers for which processing encountered,
     * invalid reverse look up index for fetching CV correlation results
     */
    A_UINT32 cv_corr_upload_invalid_lookup_index;
    /** number of users present in uploaded CV Correlation results buffer */
    A_UINT32 cv_corr_upload_total_num_users[HTT_TX_CV_CORR_MAX_NUM_COLUMNS];
    /** number of streams present in uploaded CV Correlation results buffer */
    A_UINT32 cv_corr_upload_total_num_streams[HTT_TX_CV_CORR_MAX_NUM_COLUMNS];
} htt_tx_sounding_stats_tlv;

/* STATS_TYPE : HTT_DBG_EXT_STATS_TX_SOUNDING_INFO
+5 −0
Original line number Diff line number Diff line
@@ -634,6 +634,11 @@ typedef enum {
    WMI_SERVICE_N_LINK_MLO_SUPPORT = 381,  /* Indicate FW supports N MLO link & vdev re-purpose between links */
    WMI_SERVICE_ATF_MAX_CLIENT_512_SUPPORT = 382, /* Indicates FW supports maximum of 512 clients when ATF is enabled */
    WMI_SERVICE_FISA_DYNAMIC_MSDU_AGGR_SIZE_SUPPORT = 383, /* Indicates FW support for FISA aggregation size up to 64 instead of only 16 */
    WMI_SERVICE_BRIDGE_VDEV_SUPPORT = 384, /* Indicated FW supports Bridge VDEV */
    WMI_SERVICE_MLO_MODE1_RECOVERY_SUPPORTED = 385, /* Indicate fw support for mlo mode1 recovery */
    WMI_SERVICE_TX_PWR_PER_PPDU_STATS_SUPPORT = 386, /* FW support to check tx power stats per PPDU */
    WMI_SERVICE_DISABLE_WDS_PEER_MAP_UNMAP_EVENT_SUPPORT = 387, /* Indicate FW support to disable wds peer map/unmap events */
    WMI_SERVICE_PDEV_WSI_STATS_INFO_SUPPORT = 388, /* Support for WSI Stats Info. */

    WMI_MAX_EXT2_SERVICE

+28 −3
Original line number Diff line number Diff line
@@ -1392,6 +1392,10 @@ typedef enum {
    WMITLV_TAG_STRUC_wmi_aux_dev_capabilities,
    WMITLV_TAG_STRUC_wmi_nan_oem_data_cmd_fixed_param,
    WMITLV_TAG_STRUC_wmi_nan_oem_data_event_fixed_param,
    WMITLV_TAG_STRUC_wmi_pdev_enhanced_aoa_phasedelta_evt_fixed_param,
    WMITLV_TAG_STRUC_wmi_enhanced_aoa_gain_phase_data_hdr,
    WMITLV_TAG_STRUC_wmi_ctrl_path_sta_rrm_stats_struct,
    WMITLV_TAG_STRUC_wmi_pdev_wsi_stats_info_cmd_fixed_param,
} WMITLV_TAG_ID;
/*
 * IMPORTANT: Please add _ALL_ WMI Commands Here.
@@ -1926,6 +1930,7 @@ typedef enum {
    OP(WMI_MLO_LINK_SET_BSS_PARAMS_CMDID) \
    OP(WMI_MLO_LINK_SWITCH_CONF_CMDID) \
    OP(WMI_NAN_OEM_DATA_CMDID) \
    OP(WMI_PDEV_WSI_STATS_INFO_CMDID) \
    /* add new CMD_LIST elements above this line */


@@ -2241,6 +2246,7 @@ typedef enum {
    OP(WMI_MLO_PRIMARY_LINK_PEER_MIGRATION_EVENTID) \
    OP(WMI_MLO_LINK_SWITCH_REQUEST_EVENTID) \
    OP(WMI_NAN_OEM_DATA_EVENTID) \
    OP(WMI_PDEV_ENHANCED_AOA_PHASEDELTA_EVENTID) \
    /* add new EVT_LIST elements above this line */


@@ -5452,6 +5458,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_MLO_LINK_SET_BSS_PARAMS_CMDID);
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_mlo_link_switch_cnf_fixed_param, wmi_mlo_link_switch_cnf_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_MLO_LINK_SWITCH_CONF_CMDID);

/* WMI CMD used to send WSI stats info. */
#define WMITLV_TABLE_WMI_PDEV_WSI_STATS_INFO_CMDID(id,op,buf,len) \
        WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_wsi_stats_info_cmd_fixed_param, wmi_pdev_wsi_stats_info_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_WSI_STATS_INFO_CMDID);



/************************** TLV definitions of WMI events *******************************/
@@ -5725,7 +5736,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PEER_STA_KICKOUT_EVENTID);
    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_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_mlo_link_removal_tbtt_count, link_removal_tbtt_count, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_mlo_bcast_t2lm_info, mlo_bcast_t2lm_info, WMITLV_SIZE_VAR)
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_mlo_bcast_t2lm_info, mlo_bcast_t2lm_info, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, ie_data, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_MGMT_RX_EVENTID);

/* Management Rx FW Consumed Event */
@@ -6916,7 +6928,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PEER_STATS_INFO_EVENTID);
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_ctrl_path_t2lm_stats_struct,  ctrl_path_t2lm_stats, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_ctrl_path_blanking_stats_struct,  ctrl_path_blanking_stats, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_ctrl_path_peer_stats_struct,  ctrl_path_peer_stats, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_ctrl_path_vdev_stats_struct,  ctrl_path_vdev_stats, WMITLV_SIZE_VAR)
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_ctrl_path_vdev_stats_struct,  ctrl_path_vdev_stats, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_ctrl_path_sta_rrm_stats_struct,  ctrl_path_sta_rrm_stats, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_CTRL_PATH_STATS_EVENTID);

/*
@@ -7224,7 +7237,9 @@ WMITLV_CREATE_PARAM_STRUC(WMI_TWT_SESSION_STATS_EVENTID);
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, force_active_vdev_bitmap, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, force_inactive_vdev_bitmap, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, force_active_ieee_link_id_bitmap, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, force_inactive_ieee_link_id_bitmap, WMITLV_SIZE_VAR)
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, force_inactive_ieee_link_id_bitmap, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, current_active_ieee_link_id_bitmap, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, current_inactive_ieee_link_id_bitmap, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_MLO_LINK_SET_ACTIVE_RESP_EVENTID);

/* Get DPD status Event */
@@ -7431,6 +7446,16 @@ WMITLV_CREATE_PARAM_STRUC(WMI_MLO_PRIMARY_LINK_PEER_MIGRATION_CMDID);
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_mlo_primary_link_peer_migration_status, primary_link_peer_migration_status, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_MLO_PRIMARY_LINK_PEER_MIGRATION_EVENTID);

/*
 * Update AOA Phase delta values for all gain tables event
 * Below definition shows TLV packing of AOA Phase delta values for all gain tables event
 */
#define WMITLV_TABLE_WMI_PDEV_ENHANCED_AOA_PHASEDELTA_EVENTID(id, op, buf, len) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_enhanced_aoa_phasedelta_evt_fixed_param, wmi_pdev_enhanced_aoa_phasedelta_evt_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_enhanced_aoa_gain_phase_data_hdr, aoa_data_hdr, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, aoa_data_buf, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_ENHANCED_AOA_PHASEDELTA_EVENTID);


#ifdef __cplusplus
}
Loading