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

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

Merge 51c64ab0 on remote branch

Change-Id: I8095aa491ac5f66cf5cf9f8fe4a136d59a55676a
parents 851ef622 51c64ab0
Loading
Loading
Loading
Loading
+164 −32
Original line number Diff line number Diff line
@@ -260,9 +260,11 @@
 *       msg defs.
 * 3.131 Add H2T TYPE_MSDUQ_RECFG_REQ + T2H MSDUQ_CFG_IND msg defs.
 * 3.132 Add flow_classification_3_tuple_field_enable in H2T 3_TUPLE_HASH_CFG.
 * 3.133 Add packet_type_enable_data_flags fields in rx_ring_selection_cfg.
 * 3.134 Add qdata_refill flag in rx_peer_metadata_v1a.
 */
#define HTT_CURRENT_VERSION_MAJOR 3
#define HTT_CURRENT_VERSION_MINOR 132
#define HTT_CURRENT_VERSION_MINOR 134
#define HTT_NUM_TX_FRAG_DESC  1024
@@ -5790,38 +5792,39 @@ enum htt_srng_ring_id {
 *
 *    The message would appear as follows:
 *
 *    |31 28|27|26|25|24|23|22|21 19|18 16|15  | 11| 10|9 8|7             0|
 *    |-----+--+--+--+--+-----------------+----+---+---+---+---------------|
 *    |rsvd1|DT|OV|PS|SS|      ring_id    |     pdev_id    |    msg_type   |
 *    |-----------------------+-----+-----+--------------------------------|
 *    |31 29|28|27|26|25|24|23|22|21 19|18 16|15  | 11| 10|9 8|7             0|
 *    |-----+--+--+--+--+--+-----------------+----+---+---+---+---------------|
 *    |rsvd1|ED|DT|OV|PS|SS|      ring_id    |     pdev_id    |    msg_type   |
 *    |--------------------------+-----+-----+--------------------------------|
 *    | rsvd2  |RX|RXHDL|   CLD  | CLC | CLM |           ring_buffer_size     |
 *    |--------------------------------------------------------------------|
 *    |-----------------------------------------------------------------------|
 *    |                           packet_type_enable_flags_0                  |
 *    |--------------------------------------------------------------------|
 *    |-----------------------------------------------------------------------|
 *    |                           packet_type_enable_flags_1                  |
 *    |--------------------------------------------------------------------|
 *    |-----------------------------------------------------------------------|
 *    |                           packet_type_enable_flags_2                  |
 *    |--------------------------------------------------------------------|
 *    |-----------------------------------------------------------------------|
 *    |                           packet_type_enable_flags_3                  |
 *    |--------------------------------------------------------------------|
 *    |-----------------------------------------------------------------------|
 *    |                            tlv_filter_in_flags                        |
 *    |-----------------------------------+--------------------------------|
 *    |--------------------------------------+--------------------------------|
 *    |           rx_header_offset           |       rx_packet_offset         |
 *    |-----------------------------------+--------------------------------|
 *    |--------------------------------------+--------------------------------|
 *    |         rx_mpdu_start_offset         |      rx_mpdu_end_offset        |
 *    |-----------------------------------+--------------------------------|
 *    |--------------------------------------+--------------------------------|
 *    |         rx_msdu_start_offset         |      rx_msdu_end_offset        |
 *    |-----------------------------------+--------------------------------|
 *    |--------------------------------------+--------------------------------|
 *    |                rsvd3                 |      rx_attention_offset       |
 *    |--------------------------------------------------------------------|
 *    |-----------------------------------------------------------------------|
 *    |                rsvd4                      | mo| fp| rx_drop_threshold |
 *    |                                           |ndp|ndp|                   |
 *    |--------------------------------------------------------------------|
 *    |-----------------------------------------------------------------------|
 * Where:
 *     PS = pkt_swap
 *     SS = status_swap
 *     OV = rx_offsets_valid
 *     DT = drop_thresh_valid
 *     ED = packet type enable data flags fields present / valid
 *     CLM = config_length_mgmt
 *     CLC = config_length_ctrl
 *     CLD = config_length_data
@@ -5846,8 +5849,12 @@ enum htt_srng_ring_id {
 *          b'27    - drop_thresh_valid (DT): flag to indicate if the
 *                    rx_drop_threshold field is valid
 *          b'28    - rx_mon_global_en: Enable/Disable global register
 8                    configuration in Rx monitor module.
 *          b'29:31 - rsvd1:  reserved for future use
 *                    configuration in Rx monitor module.
 *          b'29    - packet_type_enable_data: flag to indicate whether
 *                    newer packet_type_enable_data_flags_* are valid or not
 *                    If not set, will use pkt_type_enable_flags for both status
 *                    and full pkt buffer configuration.
 *          b'30:31 - rsvd1:  reserved for future use
 * dword1 - b'0:15  - ring_buffer_size: size of bufferes referenced by rx ring,
 *                    in byte units.
 *                    Valid only for HW_TO_SW_RING and SW_TO_HW_RING
@@ -6011,6 +6018,32 @@ enum htt_srng_ring_id {
 *                    1:  RX_PKT TLV logging at specified offset for the
 *                        subsequent buffer
 *          b`15:1  - rx_pkt_tlv_offset: Qword offset for rx_packet TLVs.
 * dword18- b'0:19  - rx_mpdu_start_wmask_v2 - wmask address for rx mpdu start
 *          b'20-27 - rx_mpdu_end_wmask_v2 - wmask addr for rx mpdu end tlv addr
 *          b'28-31 - reserved
 * dword19- b'0-19  - rx_msdu_end_wmask_v2
 *          b'20-31 - reserved
 * dword20- b'0:19  - rx_ppdu_end_user_stats_wmask_v2
 *                    offset for ppdu_end_user_stats tlv
 *          b'20-31 - reserved
 * dword21- b'0-31  - packet_type_enable_fpmo_flags_0 - filter bmap for each
 *                    mode mgmt/ctrl type/subtype for fpmo mode
 * dword22- b'0-31  - packet_type_enable_fpmo_flags_1 - filter bmap for each
 *                    mode ctrl/data type/subtype for fpmo mode
 * dword23- b'0-31  - packet_type_enable_data_flags_0 - filter bmap for full
 *                    pkt buffer each mode MGMT type/subtype
 * dword24- b'0-31  - packet_type_enable_data_flags_0 - filter bmap for full
 *                    pkt buffer each mode MGMT type/subtype
 * dword25- b'0-31  - packet_type_enable_data_flags_0 - filter bmap for full
 *                    pkt buffer each mode CTRL type/subtype
 * dword26- b'0-31  - packet_type_enable_data_flags_0 - filter bmap for full
 *                    pkt buffer each mode CTRL/DATA type/subtype
 * dword27- b'0-31  - packet_type_enable_data_fpmo_flags_0 - filter bmap for
 *                    full pkt buffer each mode mgmt/ctrl type/subtype for
 *                    fpmo mode
 * dword28- b'0-31  - packet_type_enable_data_fpmo_flags_1 - filter bmap for
 *                    full pkt buffer each mode ctrl/data type/subtype for
 *                    fpmo mode
 */
PREPACK struct htt_rx_ring_selection_cfg_t {
    A_UINT32 msg_type:          8,
@@ -6021,7 +6054,8 @@ PREPACK struct htt_rx_ring_selection_cfg_t {
             rx_offsets_valid:  1,
             drop_thresh_valid: 1,
             rx_mon_global_en:  1,
             rsvd1:             3;
             packet_type_enable_data: 1,
             rsvd1:             2;
    A_UINT32 ring_buffer_size: 16,
             config_length_mgmt:3,
             config_length_ctrl:3,
@@ -6075,6 +6109,12 @@ PREPACK struct htt_rx_ring_selection_cfg_t {
             rsvd10:                             12;
    A_UINT32 packet_type_enable_fpmo_flags0;
    A_UINT32 packet_type_enable_fpmo_flags1;
    A_UINT32 packet_type_enable_data_flags_0;
    A_UINT32 packet_type_enable_data_flags_1;
    A_UINT32 packet_type_enable_data_flags_2;
    A_UINT32 packet_type_enable_data_flags_3;
    A_UINT32 packet_type_enable_data_fpmo_flags0;
    A_UINT32 packet_type_enable_data_fpmo_flags1;
} POSTPACK;
#define HTT_RX_RING_SELECTION_CFG_SZ    (sizeof(struct htt_rx_ring_selection_cfg_t))
@@ -6156,6 +6196,17 @@ PREPACK struct htt_rx_ring_selection_cfg_t {
                ((_var) |= ((_val) << HTT_RX_RING_SELECTION_CFG_RX_MON_GLOBAL_EN_S)); \
            } while (0)
#define HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_M    0x20000000
#define HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_S           29
#define HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_GET(_var) \
            (((_var) & HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_M) >> \
                    HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_S)
#define HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_SET(_var, _val) \
            do { \
                HTT_CHECK_SET_VAL(HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA, _val); \
                ((_var) |= ((_val) << HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_S)); \
            } while (0)
#define HTT_RX_RING_SELECTION_CFG_RING_BUFFER_SIZE_M           0x0000ffff
#define HTT_RX_RING_SELECTION_CFG_RING_BUFFER_SIZE_S           0
#define HTT_RX_RING_SELECTION_CFG_RING_BUFFER_SIZE_GET(_var) \
@@ -6644,6 +6695,74 @@ PREPACK struct htt_rx_ring_selection_cfg_t {
         ((_var) |= ((_val) << HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_FPMO_FLAGS1_S)); \
     } while (0)
#define HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_0_M     0xffffffff
#define HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_0_S     0
#define HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_0_GET(_var) \
            (((_var) & HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_0_M) >> \
                    HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_0_S)
#define HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_0_SET(_var, _val) \
            do { \
                HTT_CHECK_SET_VAL(HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_0, _val); \
                ((_var) |= ((_val) << HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_0_S)); \
            } while (0)
#define HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_1_M     0xffffffff
#define HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_1_S     0
#define HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_1_GET(_var) \
            (((_var) & HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_1_M) >> \
                    HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_1_S)
#define HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_1_SET(_var, _val) \
            do { \
                HTT_CHECK_SET_VAL(HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_1, _val); \
                ((_var) |= ((_val) << HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_1_S)); \
            } while (0)
#define HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_2_M     0xffffffff
#define HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_2_S     0
#define HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_2_GET(_var) \
            (((_var) & HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_2_M) >> \
                    HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_2_S)
#define HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_2_SET(_var, _val) \
            do { \
                HTT_CHECK_SET_VAL(HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_2, _val); \
                ((_var) |= ((_val) << HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_2_S)); \
            } while (0)
#define HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_3_M     0xffffffff
#define HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_3_S     0
#define HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_3_GET(_var) \
            (((_var) & HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_3_M) >> \
                    HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_3_S)
#define HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_3_SET(_var, _val) \
            do { \
                HTT_CHECK_SET_VAL(HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_3, _val); \
                ((_var) |= ((_val) << HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FLAG_3_S)); \
            } while (0)
#define HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FPMO_FLAGS0_M      0xFFFFFFFF
#define HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FPMO_FLAGS0_S      0
#define HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FPMO_FLAGS0_GET(_var) \
    (((_var) & HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FPMO_FLAGS0_M)>> \
        HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FPMO_FLAGS0_S)
#define HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FPMO_FLAGS0_SET(_var, _val) \
     do { \
         HTT_CHECK_SET_VAL(HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FPMO_FLAGS0, _val); \
         ((_var) |= ((_val) << HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FPMO_FLAGS0_S)); \
     } while (0)
#define HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FPMO_FLAGS1_M      0xFFFFFFFF
#define HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FPMO_FLAGS1_S      0
#define HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FPMO_FLAGS1_GET(_var) \
    (((_var) & HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FPMO_FLAGS1_M)>> \
        HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FPMO_FLAGS1_S)
#define HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FPMO_FLAGS1_SET(_var, _val) \
     do { \
         HTT_CHECK_SET_VAL(HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FPMO_FLAGS1, _val); \
         ((_var) |= ((_val) << HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_FPMO_FLAGS1_S)); \
     } while (0)
/*
 * Subtype based MGMT frames enable bits.
 * FP: Filter_Pass, MD: Monitor_Direct MO: Monitor_Other
@@ -20609,7 +20728,8 @@ PREPACK struct htt_rx_peer_metadata_v1a {
        vdev_id:         8,
        logical_link_id: 4,
        chip_id:         3,
        reserved2:       3;
        qdata_refill:    1,
        reserved2:       2;
} POSTPACK;
#define HTT_RX_PEER_META_DATA_V1A_PEER_ID_S    0
@@ -20667,6 +20787,17 @@ PREPACK struct htt_rx_peer_metadata_v1a {
        ((_var) |= ((_val) << HTT_RX_PEER_META_DATA_V1A_CHIP_ID_S)); \
    } while (0)
#define HTT_RX_PEER_META_DATA_V1A_QDATA_REFILL_S    29
#define HTT_RX_PEER_META_DATA_V1A_QDATA_REFILL_M    0x20000000
#define HTT_RX_PEER_META_DATA_V1A_QDATA_REFILL_GET(_var) \
    (((_var) & HTT_RX_PEER_META_DATA_V1A_QDATA_REFILL_M) >> HTT_RX_PEER_META_DATA_V1A_QDATA_REFILL_S)
#define HTT_RX_PEER_META_DATA_V1A_QDATA_REFILL_SET(_var, _val) \
    do {                                             \
        HTT_CHECK_SET_VAL(HTT_RX_PEER_META_DATA_V1A_QDATA_REFILL, _val);  \
        ((_var) |= ((_val) << HTT_RX_PEER_META_DATA_V1A_QDATA_REFILL_S)); \
    } while (0)
/**
 * @brief target -> RX PEER METADATA V1B format
@@ -22949,6 +23080,7 @@ typedef enum {
    HTT_SDWF_MSDUQ_CFG_IND_ERROR_DEACTIVATED_MSDUQ   = 0x05,
    HTT_SDWF_MSDUQ_CFG_IND_ERROR_REACTIVATED_MSDUQ   = 0x06,
    HTT_SDWF_MSDUQ_CFG_IND_ERROR_INVALID_SVC_CLASS   = 0x07,
    HTT_SDWF_MSDUQ_CFG_IND_ERROR_TIDQ_LOCATE_ERROR   = 0x08,
} HTT_SDWF_MSDUQ_CFG_IND_ERROR_CODE_E;
PREPACK struct htt_t2h_sdwf_msduq_cfg_ind {
+33 −0
Original line number Diff line number Diff line
@@ -5415,6 +5415,8 @@ typedef struct {
     HTT_TX_PDEV_STATS_NUM_EXTRA2_MCS_COUNTERS)

#define HTT_TX_PDEV_STATS_NUM_PER_COUNTERS 101
#define HTT_MAX_POWER_LEVEL 32 /* 0 to 32 dBm */
#define HTT_MAX_NEGATIVE_POWER_LEVEL 10 /* 0 to -10 dBm */

/*
 * Introduce new TX counters to support 320MHz support and punctured modes
@@ -7600,6 +7602,14 @@ typedef struct {
     * bin2 contains the number of sampling windows that had > 4 interrupts
     */
    A_UINT32 interrupts_hist[HTT_INTERRUPTS_LATENCY_PROFILE_MAX_HIST];
    /* min time in us for pcycles spent on q6 core on all HW threads */
    A_UINT32 min_pcycles_time;
    /* max time in us for pcycles spent on q6 core on all HW threads */
    A_UINT32 max_pcycles_time;
    /* total time in us for pcycles spent on q6 core on all HW threads */
    A_UINT32 tot_pcycles_time;
    /* avg time in us for pcycles spent on q6 core on all HW threads */
    A_UINT32 avg_pcycles_time;
} htt_stats_latency_prof_stats_tlv;
/* preserve old name alias for new name consistent with the tag name */
typedef htt_stats_latency_prof_stats_tlv htt_latency_prof_stats_tlv;
@@ -9414,6 +9424,29 @@ typedef struct {
     * units = 0.25dBm
     */
    A_INT32 max_reg_only_allowed_power[HTT_STATS_MAX_CHAINS];

    /** number of PPDUs transmitted for each number of tx chains */
    A_UINT32 tx_num_chains[HTT_STATS_MAX_CHAINS];

    /** tx_power:
     * Number of PPDUs transmitted with each power level >= 0 dBm.
     * tx_power[0]: number of PPDUs with tx power in the [0 dBm, 1 dBm) range
     * tx_power[1]: number of PPDUs with tx power in the [1 dBm, 2 dBm) range
     * ...
     * tx_power[30]: number of PPDUs with tx power in the [30 dBm, 31 dBm) range
     * tx_power[31]: number of PPDUs with tx power >= 31 dBm
     */
    A_UINT32 tx_power[HTT_MAX_POWER_LEVEL];

    /** tx_power_neg:
     * Number of PPDUs transmitted with each power level < 0 dBm.
     * tx_power_neg[0]: cnt of PPDUs with tx pwr in the [-1 dBm, 0 dBm) range
     * tx_power_neg[1]: cnt of PPDUs with tx pwr in the [-2 dBm, -1 dBm) range
     * ...
     * tx_power_neg[8]: cnt of PPDUs with tx pwr in the [-9 dBm, -8 dBm) range
     * tx_power_neg[9]: cnt of PPDUs with tx pwr < -9 dBm
     */
    A_UINT32 tx_power_neg[HTT_MAX_NEGATIVE_POWER_LEVEL];
} htt_stats_phy_tpc_stats_tlv;
/* preserve old name alias for new name consistent with the tag name */
typedef htt_stats_phy_tpc_stats_tlv htt_phy_tpc_stats_tlv;
+1 −0
Original line number Diff line number Diff line
@@ -155,6 +155,7 @@ typedef enum {
  WLAN_MODULE_BRIDGE_PEER,              /* 0x72 */
  WLAN_MODULE_AUX_MAC_MGR,              /* 0x73 */
  WLAN_MODULE_TCAM,                     /* 0x74 */
  WLAN_MODULE_P2P_R2,                   /* 0x75 */

  WLAN_MODULE_ID_MAX,
  WLAN_MODULE_ID_INVALID = WLAN_MODULE_ID_MAX,
+8 −0
Original line number Diff line number Diff line
@@ -662,6 +662,14 @@ typedef enum {
    WMI_SERVICE_TRAFFIC_CONTEXT_SUPPORT = 408, /* FW supports traffic context aware manager */
    WMI_SERVICE_STA_SAP_NDP_CONCURRENCY_SUPPORT = 409, /* FW supports STA + SAP + NDP concurrency */
    WMI_SERVICE_THERM_THROT_POUT_REDUCTION = 410, /* FW supports thermal throttling Pout reduction */
    WMI_SERVICE_E2E_SDWF_SUPPORT = 411, /* FW supports end-to-end SDWF features like SDWF scheduler */
    WMI_SERVICE_EPM = 412, /* FW supports enhanced power management */
    WMI_SERVICE_CHIPSET_LOGGING_SUPPORT = 413, /* FW supports chipset logging feature */
    WMI_SERVICE_SUPPORT_AP_SUSPEND_RESUME = 414, /* FW supports SAP suspend feature */
    WMI_SERVICE_STA_P2P_NDP_CONCURRENCY_SUPPORT = 415, /* FW supports STA + P2P + NAN concurrency */
    WMI_SERVICE_USE_STA_VDEV_FOR_P2P_DEVICE = 416, /* FW supports use of sta vdev to be repurposed for p2p device */
    WMI_SERVICE_AP_ASSISTED_DFS_CHAN_P2P_SESSION = 417, /* FW supports P2P session on DFS chan enabled by DFS master AP */
    WMI_SERVICE_MLO_SAP_EMLSR_SUPPORT = 418, /* Indicates FW MLO SAP supports EMLSR Mode */


    WMI_MAX_EXT2_SERVICE
+29 −0
Original line number Diff line number Diff line
@@ -1437,6 +1437,10 @@ typedef enum {
    WMITLV_TAG_STRUC_wmi_ctrl_path_vdev_bcn_tx_stats_struct,
    WMITLV_TAG_STRUC_wmi_ctrl_path_pdev_bcn_tx_stats_struct,
    WMITLV_TAG_STRUC_wmi_soc_tx_packet_custom_classify_cmd_fixed_param,
    WMITLV_TAG_STRUC_wmi_set_ap_suspend_resume_cmd_fixed_param,
    WMITLV_TAG_STRUC_wmi_p2p_cli_dfs_ap_bmiss_fixed_param,
    WMITLV_TAG_STRUC_wmi_p2p_go_dfs_ap_config_fixed_param,
    WMITLV_TAG_STRUC_wmi_twt_vdev_config_cmd_fixed_param,
} WMITLV_TAG_ID;
/*
 * IMPORTANT: Please add _ALL_ WMI Commands Here.
@@ -1807,6 +1811,7 @@ typedef enum {
    OP(WMI_TWT_DEL_DIALOG_CMDID) \
    OP(WMI_TWT_PAUSE_DIALOG_CMDID) \
    OP(WMI_TWT_RESUME_DIALOG_CMDID) \
    OP(WMI_TWT_VDEV_CONFIG_CMDID) \
    OP(WMI_REQUEST_ROAM_SCAN_STATS_CMDID) \
    OP(WMI_PEER_TID_CONFIGURATIONS_CMDID) \
    OP(WMI_VDEV_SET_CUSTOM_SW_RETRY_TH_CMDID) \
@@ -1986,6 +1991,8 @@ typedef enum {
    OP(WMI_PEER_ACTIVE_TRAFFIC_MAP_CMDID) \
    OP(WMI_REQUEST_OPM_STATS_CMDID) \
    OP(WMI_SOC_TX_PACKET_CUSTOM_CLASSIFY_CMDID) \
    OP(WMI_SET_AP_SUSPEND_RESUME_CMDID) \
    OP(WMI_P2P_GO_DFS_AP_CONFIG_CMDID) \
    /* add new CMD_LIST elements above this line */


@@ -2310,6 +2317,7 @@ typedef enum {
    OP(WMI_MLO_LINK_INFO_SYNC_EVENTID) \
    OP(WMI_PDEV_ENABLE_XLNA_EVENTID) \
    OP(WMI_REG_CHAN_LIST_CC_EXT2_EVENTID) \
    OP(WMI_P2P_CLI_DFS_AP_BMISS_DETECTED_EVENTID) \
    /* add new EVT_LIST elements above this line */


@@ -3903,6 +3911,13 @@ WMITLV_CREATE_PARAM_STRUC(WMI_ROAM_MLO_CONFIG_CMDID);
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_pdev_bssid_disallow_list_config_param, bssid_disallow_list, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_DSM_FILTER_CMDID);

/* Add/remove DFS master AP configuration */
#define WMITLV_TABLE_WMI_P2P_GO_DFS_AP_CONFIG_CMDID(id,op,buf,len) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_p2p_go_dfs_ap_config_fixed_param, wmi_p2p_go_dfs_ap_config_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
    WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_FIXED_STRUC, wmi_mac_addr, bssid, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_FIXED_STRUC, wmi_mac_addr, non_tx_bssid, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_P2P_GO_DFS_AP_CONFIG_CMDID);

#define WMITLV_TABLE_WMI_ROAM_BLACKLIST_EVENTID(id,op,buf,len) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_roam_blacklist_event_fixed_param, wmi_roam_blacklist_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_blacklist_with_timeout_tlv_param, blacklist_with_timeout, WMITLV_SIZE_VAR)
@@ -4921,6 +4936,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_TWT_ENABLE_CMDID);
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_twt_disable_cmd_fixed_param, wmi_twt_disable_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_TWT_DISABLE_CMDID);

/* TWT config vdev cmd */
#define WMITLV_TABLE_WMI_TWT_VDEV_CONFIG_CMDID(id,op,buf,len) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_twt_vdev_config_cmd_fixed_param, wmi_twt_vdev_config_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_TWT_VDEV_CONFIG_CMDID);

/* TWT add dialog cmd */
#define WMITLV_TABLE_WMI_TWT_ADD_DIALOG_CMDID(id,op,buf,len) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_twt_add_dialog_cmd_fixed_param, wmi_twt_add_dialog_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
@@ -5613,6 +5633,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PEER_ACTIVE_TRAFFIC_MAP_CMDID);
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_request_opm_stats_cmd_fixed_param, wmi_request_opm_stats_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_REQUEST_OPM_STATS_CMDID);

/* SAP suspend/resume command */
#define WMITLV_TABLE_WMI_SET_AP_SUSPEND_RESUME_CMDID(id,op,buf,len) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_set_ap_suspend_resume_cmd_fixed_param, wmi_set_ap_suspend_resume_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_SET_AP_SUSPEND_RESUME_CMDID);



/************************** TLV definitions of WMI events *******************************/
@@ -6934,6 +6959,10 @@ WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_AUDIO_SYNC_START_STOP_EVENTID);
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_audio_sync_q_master_slave_times, audio_sync_q_master_slave_times, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_AUDIO_SYNC_Q_MASTER_SLAVE_OFFSET_EVENTID);

#define WMITLV_TABLE_WMI_P2P_CLI_DFS_AP_BMISS_DETECTED_EVENTID(id, op , buf, len) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_p2p_cli_dfs_ap_bmiss_fixed_param , wmi_p2p_cli_dfs_ap_bmiss_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_P2P_CLI_DFS_AP_BMISS_DETECTED_EVENTID);

/* Layout of WMI_REPORT_STATS_EVENTID message:
 *    fixed_param;
 *    wmi_chan_cca_stats       chan_cca_stats[];         Array length is specified by num_chan_cca_stats
Loading