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

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

Merge eaca7918 on remote branch

Change-Id: I451574cccb3c8148c4413e836b35ee86399ce774
parents c6469759 eaca7918
Loading
Loading
Loading
Loading
+155 −1
Original line number Original line Diff line number Diff line
@@ -233,9 +233,10 @@
 * 3.106 Add HTT_T2H_PPDU_ID_FMT_IND def.
 * 3.106 Add HTT_T2H_PPDU_ID_FMT_IND def.
 * 3.107 Add traffic_end_indication bitfield in htt_tx_msdu_desc_ext2_t.
 * 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.108 Add HTT_H2T_MSG_TYPE_UMAC_HANG_RECOVERY_PREREQUISITE_SETUP def.
 * 3.109 Add HTT_T2H RX_ADDBA_EXTN,RX_DELBA_EXTN defs.
 */
 */
#define HTT_CURRENT_VERSION_MAJOR 3
#define HTT_CURRENT_VERSION_MAJOR 3
#define HTT_CURRENT_VERSION_MINOR 108
#define HTT_CURRENT_VERSION_MINOR 109
#define HTT_NUM_TX_FRAG_DESC  1024
#define HTT_NUM_TX_FRAG_DESC  1024
@@ -5177,6 +5178,7 @@ enum htt_srng_ring_id {
    HTT_TX_MON_MON2HOST_DEST_RING,  /* Used by monitor to fill status buffers and provide to host */
    HTT_TX_MON_MON2HOST_DEST_RING,  /* Used by monitor to fill status buffers and provide to host */
    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 */
    /* 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 */
};
};
@@ -9903,6 +9905,8 @@ enum htt_t2h_msg_type {
        HTT_T2H_SAWF_MSDUQ_INFO_IND                = 0x2e, /* alias */
        HTT_T2H_SAWF_MSDUQ_INFO_IND                = 0x2e, /* alias */
    HTT_T2H_MSG_TYPE_STREAMING_STATS_IND           = 0x2f,
    HTT_T2H_MSG_TYPE_STREAMING_STATS_IND           = 0x2f,
    HTT_T2H_PPDU_ID_FMT_IND                        = 0x30,
    HTT_T2H_PPDU_ID_FMT_IND                        = 0x30,
    HTT_T2H_MSG_TYPE_RX_ADDBA_EXTN                 = 0x31,
    HTT_T2H_MSG_TYPE_RX_DELBA_EXTN                 = 0x32,
    HTT_T2H_MSG_TYPE_TEST,
    HTT_T2H_MSG_TYPE_TEST,
@@ -13400,6 +13404,156 @@ typedef enum {
#define HTT_RX_DELBA_BYTES 4
#define HTT_RX_DELBA_BYTES 4
/**
 * @brief target -> host rx ADDBA / DELBA message definitions
 *
 * MSG_TYPE => HTT_T2H_MSG_TYPE_RX_ADDBA_EXTN
 *
 * @details
 * The following diagram shows the format of the rx ADDBA extn message sent
 * from the target to the host:
 *
 * |31                      20|19  16|15   13|12      8|7               0|
 * |---------------------------------------------------------------------|
 * |          peer ID         |  TID |     reserved    |     msg type    |
 * |---------------------------------------------------------------------|
 * |           reserved                      |      window size          |
 * |---------------------------------------------------------------------|
 *
 * MSG_TYPE => HTT_T2H_MSG_TYPE_RX_DELBA_EXTN
 *
 * The following diagram shows the format of the rx DELBA message sent
 * from the target to the host:
 *
 * |31                      20|19  16|15   13|12   10|9 8|7             0|
 * |---------------------------------------------------------------------|
 * |          peer ID         |  TID |   reserved    | IR|   msg type    |
 * |---------------------------------------------------------------------|
 * |                     reserved            |      window size          |
 * |---------------------------------------------------------------------|
 *
 * The following field definitions describe the format of the rx ADDBA
 * and DELBA messages sent from the target to the host.
 *   - MSG_TYPE
 *     Bits 7:0
 *     Purpose: identifies this as an rx ADDBA or DELBA message
 *     Value: ADDBA -> 0x31 (HTT_T2H_MSG_TYPE_RX_ADDBA_EXTN),
 *            DELBA -> 0x32 (HTT_T2H_MSG_TYPE_RX_DELBA_EXTN)
 *   - IR (initiator / recipient)
 *     Bits 9:8 (DELBA only)
 *     Purpose: specify whether the DELBA handshake was initiated by the
 *         local STA/AP, or by the peer STA/AP
 *     Value:
 *         0 - unspecified
 *         1 - initiator (a.k.a. originator)
 *         2 - recipient (a.k.a. responder)
 *         3 - unused / reserved
 *     Value:
 *         block ack window length specified by the received ADDBA/DELBA
 *         management message.
 *   - TID
 *     Bits 19:16
 *     Purpose: Specifies which traffic identifier the ADDBA / DELBA is for.
 *     Value:
 *         TID specified by the received ADDBA or DELBA management message.
 *   - PEER_ID
 *     Bits 31:20
 *     Purpose: Identifies which peer sent the ADDBA / DELBA.
 *     Value:
 *         ID (hash value) used by the host for fast, direct lookup of
 *         host SW peer info, including rx reorder states.
 *  == DWORD 1
 *   - WIN_SIZE
 *     Bits 12:0 for ADDBA, bits 12:0 for DELBA
 *     Purpose: Specifies the length of the block ack window (max = 8191).
 */
#define HTT_RX_ADDBA_EXTN_TID_M       0xf0000
#define HTT_RX_ADDBA_EXTN_TID_S       16
#define HTT_RX_ADDBA_EXTN_PEER_ID_M   0xfff00000
#define HTT_RX_ADDBA_EXTN_PEER_ID_S   20
/*--- Dword 0 ---*/
#define HTT_RX_ADDBA_EXTN_TID_SET(word, value)                     \
    do {                                                    \
        HTT_CHECK_SET_VAL(HTT_RX_ADDBA_EXTN_TID, value);    \
        (word) |= (value)  << HTT_RX_ADDBA_EXTN_TID_S;      \
    } while (0)
#define HTT_RX_ADDBA_EXTN_TID_GET(word)                             \
    (((word) & HTT_RX_ADDBA_EXTN_TID_M) >> HTT_RX_ADDBA_EXTN_TID_S)
#define HTT_RX_ADDBA_EXTN_PEER_ID_SET(word, value)                   \
    do {                                                     \
        HTT_CHECK_SET_VAL(HTT_RX_ADDBA_EXTN_PEER_ID, value); \
        (word) |= (value)  << HTT_RX_ADDBA_EXTN_PEER_ID_S;   \
    } while (0)
#define HTT_RX_ADDBA_EXTN_PEER_ID_GET(word) \
    (((word) & HTT_RX_ADDBA_EXTN_PEER_ID_M) >> HTT_RX_ADDBA_EXTN_PEER_ID_S)
/*--- Dword 1 ---*/
#define HTT_RX_ADDBA_EXTN_WIN_SIZE_M  0x1fff
#define HTT_RX_ADDBA_EXTN_WIN_SIZE_S  0
#define HTT_RX_ADDBA_EXTN_WIN_SIZE_SET(word, value)           \
    do {                                                      \
        HTT_CHECK_SET_VAL(HTT_RX_ADDBA_EXTN_WIN_SIZE, value); \
        (word) |= (value)  << HTT_RX_ADDBA_EXTN_WIN_SIZE_S;   \
    } while (0)
#define HTT_RX_ADDBA_EXTN_WIN_SIZE_GET(word) \
    (((word) & HTT_RX_ADDBA_WIN_SIZE_M) >> HTT_RX_ADDBA_WIN_SIZE_S)
#define HTT_RX_ADDBA_EXTN_BYTES 8
#define HTT_RX_DELBA_EXTN_INITIATOR_M   0x00000300
#define HTT_RX_DELBA_EXTN_INITIATOR_S   8
#define HTT_RX_DELBA_EXTN_TID_M         0xf0000
#define HTT_RX_DELBA_EXTN_TID_S         16
#define HTT_RX_DELBA_EXTN_PEER_ID_M     0xfff00000
#define HTT_RX_DELBA_EXTN_PEER_ID_S     20
/*--- Dword 0 ---*/
#define HTT_RX_DELBA_INITIATOR_SET(word, value)                    \
    do {                                                       \
        HTT_CHECK_SET_VAL(HTT_RX_DELBA_INITIATOR, value);      \
        (word) |= (value)  << HTT_RX_DELBA_INITIATOR_S;        \
    } while (0)
#define HTT_RX_DELBA_INITIATOR_GET(word) \
    (((word) & HTT_RX_DELBA_INITIATOR_M) >> HTT_RX_DELBA_INITIATOR_S)
#define HTT_RX_DELBA_EXTN_TID_SET(word, value)                       \
    do {                                                  \
        HTT_CHECK_SET_VAL(HTT_RX_DELBA_EXTN_TID, value);  \
        (word) |= (value)  << HTT_RX_DELBA_EXTN_TID_S;    \
    } while (0)
#define HTT_RX_DELBA_EXTN_TID_GET(word) \
    (((word) & HTT_RX_DELBA_EXTN_TID_M) >> HTT_RX_DELBA_EXTN_TID_S)
#define HTT_RX_DELBA_EXTN_PEER_ID_SET(word, value)                        \
    do {                                                      \
        HTT_CHECK_SET_VAL(HTT_RX_DELBA_EXTN_PEER_ID, value);  \
        (word) |= (value)  << HTT_RX_DELBA_EXTN_PEER_ID_S;    \
    } while (0)
#define HTT_RX_DELBA_EXTN_PEER_ID_GET(word) \
    (((word) & HTT_RX_DELBA_EXTN_PEER_ID_M) >> HTT_RX_DELBA_EXTN_PEER_ID_S)
/*--- Dword 1 ---*/
#define HTT_RX_DELBA_EXTN_WIN_SIZE_M    0x1fff
#define HTT_RX_DELBA_EXTN_WIN_SIZE_S    0
#define HTT_RX_DELBA_EXTN_WIN_SIZE_SET(word, value)                     \
    do {                                                            \
        HTT_CHECK_SET_VAL(HTT_RX_DELBA_EXTN_WIN_SIZE, value);       \
        (word) |= (value)  << HTT_RX_DELBA_EXTN_WIN_SIZE_S;         \
    } while (0)
#define HTT_RX_DELBA_EXTN_WIN_SIZE_GET(word) \
    (((word) & HTT_RX_DELBA_EXTN_WIN_SIZE_M) >> HTT_RX_DELBA_EXTN_WIN_SIZE_S)
#define HTT_RX_DELBA_EXTN_BYTES 8
/**
/**
 * @brief tx queue group information element definition
 * @brief tx queue group information element definition
 *
 *
+2 −0
Original line number Original line Diff line number Diff line
@@ -136,6 +136,8 @@ typedef enum {
  WLAN_MODULE_OEM6,                     /* 0x62 */
  WLAN_MODULE_OEM6,                     /* 0x62 */
  WLAN_MODULE_OEM7,                     /* 0x63 */
  WLAN_MODULE_OEM7,                     /* 0x63 */


  WLAN_MODULE_T2LM,                     /* 0x64 */

  WLAN_MODULE_ID_MAX,
  WLAN_MODULE_ID_MAX,
  WLAN_MODULE_ID_INVALID = WLAN_MODULE_ID_MAX,
  WLAN_MODULE_ID_INVALID = WLAN_MODULE_ID_MAX,
} WLAN_MODULE_ID;
} WLAN_MODULE_ID;
+1 −0
Original line number Original line Diff line number Diff line
@@ -591,6 +591,7 @@ typedef enum {
    WMI_SERVICE_TDLS_6GHZ_SUPPORT = 338, /* FW supports 6GHz TDLS both on base channel and offchannel */
    WMI_SERVICE_TDLS_6GHZ_SUPPORT = 338, /* FW supports 6GHz TDLS both on base channel and offchannel */
    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_MAX_EXT2_SERVICE
    WMI_MAX_EXT2_SERVICE


+58 −0
Original line number Original line Diff line number Diff line
@@ -1275,6 +1275,13 @@ typedef enum {
    WMITLV_TAG_STRUC_wmi_request_halphy_ctrl_path_stats_cmd_fixed_param,
    WMITLV_TAG_STRUC_wmi_request_halphy_ctrl_path_stats_cmd_fixed_param,
    WMITLV_TAG_STRUC_wmi_halphy_ctrl_path_stats_event_fixed_param,
    WMITLV_TAG_STRUC_wmi_halphy_ctrl_path_stats_event_fixed_param,
    WMITLV_TAG_STRUC_wmi_peer_flush_policy_cmd_fixed_param,
    WMITLV_TAG_STRUC_wmi_peer_flush_policy_cmd_fixed_param,
    WMITLV_TAG_STRUC_WMI_WOW_COAP_ADD_PATTERN_CMD_fixed_param,
    WMITLV_TAG_STRUC_WMI_WOW_COAP_DEL_PATTERN_CMD_fixed_param,
    WMITLV_TAG_STRUC_WMI_WOW_COAP_ADD_KEEPALIVE_PATTERN_CMD_fixed_param,
    WMITLV_TAG_STRUC_WMI_WOW_COAP_DEL_KEEPALIVE_PATTERN_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_coap_tuple,
} WMITLV_TAG_ID;
} WMITLV_TAG_ID;


/*
/*
@@ -1773,6 +1780,11 @@ typedef enum {
    OP(WMI_ROAM_GET_VENDOR_CONTROL_PARAM_CMDID) \
    OP(WMI_ROAM_GET_VENDOR_CONTROL_PARAM_CMDID) \
    OP(WMI_REQUEST_HALPHY_CTRL_PATH_STATS_CMDID) \
    OP(WMI_REQUEST_HALPHY_CTRL_PATH_STATS_CMDID) \
    OP(WMI_PEER_FLUSH_POLICY_CMDID) \
    OP(WMI_PEER_FLUSH_POLICY_CMDID) \
    OP(WMI_WOW_COAP_ADD_PATTERN_CMDID) \
    OP(WMI_WOW_COAP_DEL_PATTERN_CMDID) \
    OP(WMI_WOW_COAP_ADD_KEEPALIVE_PATTERN_CMDID) \
    OP(WMI_WOW_COAP_DEL_KEEPALIVE_PATTERN_CMDID) \
    OP(WMI_WOW_COAP_GET_BUF_INFO_CMDID) \
    /* add new CMD_LIST elements above this line */
    /* add new CMD_LIST elements above this line */




@@ -2061,6 +2073,7 @@ typedef enum {
    OP(WMI_VDEV_LATENCY_LEVEL_EVENTID) \
    OP(WMI_VDEV_LATENCY_LEVEL_EVENTID) \
    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) \
    /* add new EVT_LIST elements above this line */
    /* add new EVT_LIST elements above this line */




@@ -5056,6 +5069,43 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PMM_SCRATCH_REG_ALLOCATION_CMDID);
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_flush_policy_cmd_fixed_param, wmi_peer_flush_policy_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_flush_policy_cmd_fixed_param, wmi_peer_flush_policy_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_PEER_FLUSH_POLICY_CMDID);
WMITLV_CREATE_PARAM_STRUC(WMI_PEER_FLUSH_POLICY_CMDID);


/** COAP Add Pattern Cmd
 * TLV (tag length value ) parameters follow the coap_add_pattern
 * structure. The TLV's are:
 * A_UINT8 verify_string[];
 * A_UINT8 coapmsg[];
 */
#define WMITLV_TABLE_WMI_WOW_COAP_ADD_PATTERN_CMDID(id,op,buf,len) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_WMI_WOW_COAP_ADD_PATTERN_CMD_fixed_param, WMI_WOW_COAP_ADD_PATTERN_CMD_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, verify_string, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, coapmsg, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_WOW_COAP_ADD_PATTERN_CMDID);

/* COAP Del Pattern Cmd */
#define WMITLV_TABLE_WMI_WOW_COAP_DEL_PATTERN_CMDID(id,op,buf,len) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_WMI_WOW_COAP_DEL_PATTERN_CMD_fixed_param, WMI_WOW_COAP_DEL_PATTERN_CMD_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_WOW_COAP_DEL_PATTERN_CMDID);

/** COAP Add Keepalive Pattern Cmd
 * TLV (tag length value ) parameters follow the coap_add_keepalive_pattern
 * structure. The TLV's are:
 * A_UINT8 coapmsg[];
 */
#define WMITLV_TABLE_WMI_WOW_COAP_ADD_KEEPALIVE_PATTERN_CMDID(id,op,buf,len) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_WMI_WOW_COAP_ADD_KEEPALIVE_PATTERN_CMD_fixed_param, WMI_WOW_COAP_ADD_KEEPALIVE_PATTERN_CMD_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, coapmsg, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_WOW_COAP_ADD_KEEPALIVE_PATTERN_CMDID);

/* COAP Del Keepalive Pattern Cmd */
#define WMITLV_TABLE_WMI_WOW_COAP_DEL_KEEPALIVE_PATTERN_CMDID(id,op,buf,len) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_WMI_WOW_COAP_DEL_KEEPALIVE_PATTERN_CMD_fixed_param, WMI_WOW_COAP_DEL_KEEPALIVE_PATTERN_CMD_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_WOW_COAP_DEL_KEEPALIVE_PATTERN_CMDID);

/* COAP Get Buffer Info Cmd */
#define WMITLV_TABLE_WMI_WOW_COAP_GET_BUF_INFO_CMDID(id,op,buf,len) \
    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);





/************************** TLV definitions of WMI events *******************************/
/************************** TLV definitions of WMI events *******************************/
@@ -6855,6 +6905,14 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PMM_AVAILABLE_SCRATCH_REG_EVENTID);
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pmm_scratch_reg_allocation_complete_event_fixed_param, wmi_pmm_scratch_reg_allocation_complete_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pmm_scratch_reg_allocation_complete_event_fixed_param, wmi_pmm_scratch_reg_allocation_complete_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_PMM_SCRATCH_REG_ALLOCATION_COMPLETE_EVENTID);
WMITLV_CREATE_PARAM_STRUC(WMI_PMM_SCRATCH_REG_ALLOCATION_COMPLETE_EVENTID);


/* COAP buffer info event */
#define WMITLV_TABLE_WMI_WOW_COAP_BUF_INFO_EVENTID(id,op,buf,len) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_WMI_WOW_COAP_BUF_INFO_EVENT_fixed_param, WMI_WOW_COAP_BUF_INFO_EVENT_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_coap_tuple, coap_tuple, 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);




#ifdef __cplusplus
#ifdef __cplusplus
}
}
+120 −1
Original line number Original line Diff line number Diff line
@@ -960,6 +960,29 @@ typedef enum {
    /* Set which action category should wake the host from suspend */
    /* Set which action category should wake the host from suspend */
    WMI_WOW_SET_ACTION_WAKE_UP_CMDID,
    WMI_WOW_SET_ACTION_WAKE_UP_CMDID,
    /*
     * Set a pattern to match broadcast CoAP packet in WoW mode.
     * If match and verify pass, cache the packet and then reply
     * a unicast response in local with pre-configured packet.
     */
    WMI_WOW_COAP_ADD_PATTERN_CMDID,
    /* Delete a pattern match broadcast CoAP packet */
    WMI_WOW_COAP_DEL_PATTERN_CMDID,
    /*
     * Add a CoAP keepalive pattern to send a CoAP broadcast packet
     * when configured timeout occured.
     */
    WMI_WOW_COAP_ADD_KEEPALIVE_PATTERN_CMDID,
    /* Delete a CoAP keepalive pattern */
    WMI_WOW_COAP_DEL_KEEPALIVE_PATTERN_CMDID,
    /* Host read the cached CoAP packets after resume */
    WMI_WOW_COAP_GET_BUF_INFO_CMDID,
    /* RTT measurement related cmd */
    /* RTT measurement related cmd */
    /** request to make an RTT measurement */
    /** request to make an RTT measurement */
    WMI_RTT_MEASREQ_CMDID = WMI_CMD_GRP_START_ID(WMI_GRP_RTT),
    WMI_RTT_MEASREQ_CMDID = WMI_CMD_GRP_START_ID(WMI_GRP_RTT),
@@ -1886,6 +1909,7 @@ typedef enum {
    WMI_WOW_WAKEUP_HOST_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_WOW),
    WMI_WOW_WAKEUP_HOST_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_WOW),
    WMI_D0_WOW_DISABLE_ACK_EVENTID,
    WMI_D0_WOW_DISABLE_ACK_EVENTID,
    WMI_WOW_INITIAL_WAKEUP_EVENTID,
    WMI_WOW_INITIAL_WAKEUP_EVENTID,
    WMI_WOW_COAP_BUF_INFO_EVENTID,
    /* RTT related event ID */
    /* RTT related event ID */
    /** RTT measurement report */
    /** RTT measurement report */
@@ -2323,6 +2347,7 @@ typedef enum {
#define WMI_CHAN_FLAG_PSC         18 /* Indicate it is a PSC (preferred scanning channel) */
#define WMI_CHAN_FLAG_PSC         18 /* Indicate it is a PSC (preferred scanning channel) */
#define WMI_CHAN_FLAG_NAN_DISABLED 19 /* Indicates that NAN operations are disabled on this channel */
#define WMI_CHAN_FLAG_NAN_DISABLED 19 /* Indicates that NAN operations are disabled on this channel */
#define WMI_CHAN_FLAG_STA_DFS     20 /* Indicates if STA should process radar signals */
#define WMI_CHAN_FLAG_STA_DFS     20 /* Indicates if STA should process radar signals */
#define WMI_CHAN_FLAG_ALLOW_EHT   21 /* EHT (11be) is allowed on this channel */
#define WMI_SET_CHANNEL_FLAG(pwmi_channel,flag) do { \
#define WMI_SET_CHANNEL_FLAG(pwmi_channel,flag) do { \
        (pwmi_channel)->info |=  (1 << flag);      \
        (pwmi_channel)->info |=  (1 << flag);      \
@@ -14192,6 +14217,13 @@ typedef enum {
         */
         */
        WMI_VDEV_PARAM_MCAST_STEERING,                        /* 0x800E */
        WMI_VDEV_PARAM_MCAST_STEERING,                        /* 0x800E */
        /*
         * 0 - XPAN disabled
         * 1 - XPAN Lossless audio profile
         * 2 - XPAN Gaming profile
         */
        WMI_VDEV_PARAM_XPAN_PROFILE,                          /* 0x800F */
    /*=== END VDEV_PARAM_PROTOTYPE SECTION ===*/
    /*=== END VDEV_PARAM_PROTOTYPE SECTION ===*/
} WMI_VDEV_PARAM;
} WMI_VDEV_PARAM;
@@ -19230,6 +19262,88 @@ typedef struct {
     */
     */
} WMI_WOW_SET_ACTION_WAKE_UP_CMD_fixed_param;
} WMI_WOW_SET_ACTION_WAKE_UP_CMD_fixed_param;
typedef struct {
    A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_WMI_WOW_COAP_ADD_PATTERN_CMD_fixed_param */
    A_UINT32 vdev_id;
    A_UINT32 pattern_id;
    A_UINT32 cache_timeout; /* the cached packet expire timeout in ms */
    A_UINT32 dest_udp_port; /* dest UDP port to match recived CoAP messsage */
    A_UINT32 verify_offset; /* UDP payload offset to verify */
    A_UINT32 verify_len;    /* UDP payload length to verofy*/
    A_UINT32 coapmsg_len;   /* CoAP reply message length */
/* The below TLV (tag length value) parameters follow this fixed_param TLV:
 *     A_UINT8 verify_string[];  verify content,
 *         length identified by verify_len;
 *     A_UINT8 coapmsg[];        CoAP reply message,
 *         length identified by coapmsg_len;
 */
} WMI_WOW_COAP_ADD_PATTERN_CMD_fixed_param;
typedef struct {
    A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_WMI_WOW_COAP_DEL_PATTERN_CMD_fixed_param */
    A_UINT32 vdev_id;
    A_UINT32 pattern_id;
} WMI_WOW_COAP_DEL_PATTERN_CMD_fixed_param;
typedef struct {
    A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_WMI_WOW_COAP_ADD_KEEPALIVE_PATTERN_CMD_fixed_param */
    A_UINT32 vdev_id;
    A_UINT32 pattern_id;
    A_UINT32 ipv4_addr;       /* vdev IPv4 address */
    A_UINT32 remote_udp_port; /* remote UDP port to send keepalive broadcast CoAP message */
    A_UINT32 timeout;         /* the period to send keepalive message in ms */
    A_UINT32 coapmsg_len;     /* keeplive CoAP message length */
/* The below TLV (tag length value) parameters follow this fixed_param TLV:
 *     A_UINT8 coapmsg[];  CoAP keepalive message,
 *          length specifed by coapmsg_len field
 */
} WMI_WOW_COAP_ADD_KEEPALIVE_PATTERN_CMD_fixed_param;
typedef struct {
    A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_WMI_WOW_COAP_DEL_KEEPALIVE_PATTERN_CMD_fixed_param */
    A_UINT32 vdev_id;
    A_UINT32 pattern_id;
} WMI_WOW_COAP_DEL_KEEPALIVE_PATTERN_CMD_fixed_param;
typedef struct {
    A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_WMI_WOW_COAP_GET_BUF_INFO_CMD_fixed_param */
    A_UINT32 vdev_id;
    A_UINT32 pattern_id;
} WMI_WOW_COAP_GET_BUF_INFO_CMD_fixed_param;
typedef struct {
    A_UINT32 tlv_hdr; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_coap_tuple */
    A_UINT64 tsf;     /* host and firmware sync tsf */
    A_UINT32 src_ip;
    A_UINT32 payload_len;
} wmi_coap_tuple;
typedef struct {
    A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_WMI_WOW_COAP_BUF_INFO_fixed_param */
    A_UINT32 vdev_id;
    A_UINT32 pattern_id;
    /** more_data will be set depending on the number of tuples need transmit */
    A_UINT32 more_tuples;
/* The below TLV (tag length value) parameters follow this fixed_param TLV:
 *     wmi_coap_tuple coap_tuple[]; <-- Array of coap_tuple.
 *     A_UINT32 payloads[] <-- the cached received CoAP messages.
 *         The number of message payloads combined into the payloads[]
 *         array matches the number of coap tuples.
 *         The length of each message payload is specified by the
 *         "payload_len" field in the corresponding coap_tuple.
 *         The subsequent message payload starts at the next 4-byte aligned
 *         position within payloads[].
 *         For example, if there are 3 coap_tuples, with
 *             coap_tuples[0].payload_len = 12
 *             coap_tuples[1].payload_len = 23
 *             coap_tuples[2].payload_len = 34
 *         then msg 0 payload will be stored in payloads[0] - payloads[11]
 *         message  1 payload will be stored in payloads[12] - payloads[34]
 *         message  2 payload will be stored in payloads[36] - payloads[69]
 */
} WMI_WOW_COAP_BUF_INFO_EVENT_fixed_param;
typedef struct wow_event_info_s {
typedef struct wow_event_info_s {
    A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_WOW_EVENT_INFO_fixed_param  */
    A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_WOW_EVENT_INFO_fixed_param  */
    A_UINT32 vdev_id;
    A_UINT32 vdev_id;
@@ -31505,6 +31619,11 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command)
        WMI_RETURN_STRING(WMI_ROAM_GET_VENDOR_CONTROL_PARAM_CMDID);
        WMI_RETURN_STRING(WMI_ROAM_GET_VENDOR_CONTROL_PARAM_CMDID);
        WMI_RETURN_STRING(WMI_REQUEST_HALPHY_CTRL_PATH_STATS_CMDID);
        WMI_RETURN_STRING(WMI_REQUEST_HALPHY_CTRL_PATH_STATS_CMDID);
        WMI_RETURN_STRING(WMI_PEER_FLUSH_POLICY_CMDID);
        WMI_RETURN_STRING(WMI_PEER_FLUSH_POLICY_CMDID);
        WMI_RETURN_STRING(WMI_WOW_COAP_ADD_PATTERN_CMDID);
        WMI_RETURN_STRING(WMI_WOW_COAP_DEL_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_GET_BUF_INFO_CMDID);
    }
    }
    return (A_UINT8 *) "Invalid WMI cmd";
    return (A_UINT8 *) "Invalid WMI cmd";
Loading