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

Commit 6f1c4a18 authored by spuligil's avatar spuligil Committed by snandini
Browse files

fw-api: CL 12378129 - update fw common interface files

WMI/HTT: negotiate support for split AST

Change-Id: I508e24322a86cacbe8e5bcba80c27b7d658a8415
CRs-Fixed: 2262693
parent fb27d878
Loading
Loading
Loading
Loading
+54 −19
Original line number Diff line number Diff line
@@ -208,9 +208,10 @@
 * 3.84 Add fisa_control_bits_v2 def.
 * 3.85 Add HTT_RX_PEER_META_DATA defs.
 * 3.86 Add HTT_T2H_MSG_TYPE_FSE_CMEM_BASE_SEND def.
 * 3.87 Add on-chip AST index field to PEER_MAP_V2 msg.
 */
#define HTT_CURRENT_VERSION_MAJOR 3
#define HTT_CURRENT_VERSION_MINOR 86
#define HTT_CURRENT_VERSION_MINOR 87
#define HTT_NUM_TX_FRAG_DESC  1024
@@ -9181,27 +9182,28 @@ PREPACK struct htt_tx_offload_deliver_ind_hdr_t
 * AST 3, check the AST_VALID_MASK(3) to see if the corresponding extension
 * AST is valid.
 *
 * |31    28|27    24|23    20|19 17|16|15              8|7               0|
 * |-----------------------------------------------------------------------|
 * |31    28|27    24|23   21|20|19 17|16|15              8|7               0|
 * |-------------------------------------------------------------------------|
 * |              SW peer ID             |     VDEV ID     |     msg type    |
 * |-----------------------------------------------------------------------|
 * |-------------------------------------------------------------------------|
 * |    MAC addr 3   |    MAC addr 2     |    MAC addr 1   |    MAC addr 0   |
 * |-----------------------------------------------------------------------|
 * |-------------------------------------------------------------------------|
 * |       HW peer ID / AST index 0      |    MAC addr 5   |    MAC addr 4   |
 * |-----------------------------------------------------------------------|
 * |     Reserved_20_31       |ASTVM|NH|          AST Hash Value           |
 * |-----------------------------------------------------------------------|
 * |-------------------------------------------------------------------------|
 * |     Reserved_21_31      |OA|ASTVM|NH|          AST Hash Value           |
 * |-------------------------------------------------------------------------|
 * | ASTFM3 | ASTFM2 |  ASTFM1  | ASTFM0 |           AST index 1             |
 * |-----------------------------------------------------------------------|
 * |-------------------------------------------------------------------------|
 * |TID valid low pri|  TID valid hi pri |           AST index 2             |
 * |-----------------------------------------------------------------------|
 * |           Reserved_1              |           AST index 3             |
 * |-----------------------------------------------------------------------|
 * |-------------------------------------------------------------------------|
 * |      LMAC/PMAC_RXPCU AST index      |           AST index 3             |
 * |-------------------------------------------------------------------------|
 * |                                 Reserved_2                              |
 * |-----------------------------------------------------------------------|
 * |-------------------------------------------------------------------------|
 * Where:
 *    NH = Next Hop
 *    ASTVM = AST valid mask
 *    OA = on-chip AST valid bit
 *    ASTFM = AST flow mask
 *
 * The following field definitions describe the format of the rx peer map v2
@@ -9244,6 +9246,10 @@ PREPACK struct htt_tx_offload_deliver_ind_hdr_t
 *   - AST_VALID_MASK
 *     Bits  19:17
 *     Purpose: Indicate if the AST 1 through AST 3 are valid
 *   - ONCHIP_AST_VALID_FLAG
 *     Bit 20
 *     Purpose: Indicate if the on-chip AST index field (ONCHIP_AST_IDX)
 *         is valid.
 *   - AST_INDEX_1
 *     Bits 15:0
 *     Purpose: indicate the second AST index for this peer
@@ -9271,6 +9277,13 @@ PREPACK struct htt_tx_offload_deliver_ind_hdr_t
 *   - AST_INDEX_3
 *     Bits 15:0
 *     Purpose: indicate the fourth AST index for this peer
 *   - ONCHIP_AST_IDX / RESERVED
 *     Bits 31:16
 *     Purpose: This field is valid only when split AST feature is enabled.
 *         The ONCHIP_AST_VALID_FLAG identifies whether this field is valid.
 *         If valid, identifies the HW peer ID corresponding to the peer MAC
 *         address, this ast_idx is used for LMAC modules for RXPCU.
 *     Value: ID used by the LMAC HW to identify the peer
 */
#define HTT_RX_PEER_MAP_V2_VDEV_ID_M        0xff00
#define HTT_RX_PEER_MAP_V2_VDEV_ID_S        8
@@ -9289,6 +9302,9 @@ PREPACK struct htt_tx_offload_deliver_ind_hdr_t
#define HTT_RX_PEER_MAP_V2_AST_VALID_MASK_M     0x000e0000
#define HTT_RX_PEER_MAP_V2_AST_VALID_MASK_S     17
#define HTT_RX_PEER_MAP_V2_ONCHIP_AST_VALID_FLAG_M 0x00100000
#define HTT_RX_PEER_MAP_V2_ONCHIP_AST_VALID_FLAG_S 20
#define HTT_RX_PEER_MAP_V2_AST_INDEX_1_M        0xffff
#define HTT_RX_PEER_MAP_V2_AST_INDEX_1_S        0
#define HTT_RX_PEER_MAP_V2_AST_0_FLOW_MASK_M    0x000f0000
@@ -9310,6 +9326,9 @@ PREPACK struct htt_tx_offload_deliver_ind_hdr_t
#define HTT_RX_PEER_MAP_V2_AST_INDEX_3_M        0xffff
#define HTT_RX_PEER_MAP_V2_AST_INDEX_3_S        0
#define HTT_RX_PEER_MAP_V2_ONCHIP_AST_HASH_VALUE_M 0xffff0000
#define HTT_RX_PEER_MAP_V2_ONCHIP_AST_HASH_VALUE_S 16
#define HTT_RX_PEER_MAP_V2_VDEV_ID_SET(word, value)           \
    do {                                                      \
        HTT_CHECK_SET_VAL(HTT_RX_PEER_MAP_V2_VDEV_ID, value); \
@@ -9342,6 +9361,14 @@ PREPACK struct htt_tx_offload_deliver_ind_hdr_t
#define HTT_RX_PEER_MAP_V2_AST_HASH_VALUE_GET(word) \
    (((word) & HTT_RX_PEER_MAP_V2_AST_HASH_VALUE_M) >> HTT_RX_PEER_MAP_V2_AST_HASH_VALUE_S)
#define HTT_RX_PEER_MAP_V2_ONCHIP_AST_HASH_VALUE_SET(word, value)             \
    do {                                                                      \
        HTT_CHECK_SET_VAL(HTT_RX_PEER_MAP_V2_ONCHIP_AST_HASH_VALUE_M, value); \
        (word) |= (value)  << HTT_RX_PEER_MAP_V2_ONCHIP_AST_HASH_VALUE_S;     \
    } while (0)
#define HTT_RX_PEER_MAP_V2_ONCHIP_AST_HASH_VALUE_GET(word) \
    (((word) & HTT_RX_PEER_MAP_V2_ONCHIP_AST_HASH_VALUE_M) >> HTT_RX_PEER_MAP_V2_ONCHIP_AST_HASH_VALUE_S)
#define HTT_RX_PEER_MAP_V2_NEXT_HOP_SET(word, value)            \
    do {                                                        \
        HTT_CHECK_SET_VAL(HTT_RX_PEER_MAP_V2_NEXT_HOP, value);  \
@@ -9358,6 +9385,14 @@ PREPACK struct htt_tx_offload_deliver_ind_hdr_t
#define HTT_RX_PEER_MAP_V2_AST_VALID_MASK_GET(word) \
    (((word) & HTT_RX_PEER_MAP_V2_AST_VALID_MASK_M) >> HTT_RX_PEER_MAP_V2_AST_VALID_MASK_S)
#define HTT_RX_PEER_MAP_V2_ONCHIP_AST_VALID_FLAG_SET(word, value) \
    do { \
        HTT_CHECK_SET_VAL(HTT_RX_PEER_MAP_V2_ONCHIP_AST_VALID_FLAG_M, value); \
        (word) |= (value)  << HTT_RX_PEER_MAP_V2_ONCHIP_AST_VALID_FLAG_S; \
    } while (0)
#define HTT_RX_PEER_MAP_V2_ONCHIP_AST_VALID_MASK_GET(word) \
    (((word) & HTT_RX_PEER_MAP_V2_ONCHIP_AST_VALID_FLAG_M) >> HTT_RX_PEER_MAP_V2_ONCHIP_AST_VALID_FLAG_S)
#define HTT_RX_PEER_MAP_V2_AST_INDEX_1_SET(word, value) \
    do { \
        HTT_CHECK_SET_VAL(HTT_RX_PEER_MAP_V2_AST_INDEX_1, value); \
+1 −0
Original line number Diff line number Diff line
@@ -489,6 +489,7 @@ typedef enum {
    WMI_SERVICE_TWT_NUDGE = 269, /* Indicates that FW supports TWT Nudge command and event */
    WMI_SERVICE_TWT_STATS = 270, /* Indicates that FW supports TWT Get_stats command and event */
    WMI_SERVICE_TWT_ALL_DIALOG_ID = 271, /* Indicates that FW supports TWT ALL dialog ID(255) for all commands and events, except for TWT add dialog and TWT get stats */
    WMI_SERVICE_SPLIT_AST_SUPPORT = 272, /* Indicate that FW supports SPLIT AST table */


    WMI_MAX_EXT2_SERVICE
+22 −1
Original line number Diff line number Diff line
@@ -3108,6 +3108,17 @@ typedef struct {
     */
    A_UINT32 pktlog_defs_checksum;
    /*
     * max_onchip_ast_index - max AST index that Firmware can generate
     * max_onchip_ast_index = (ast_table_size-1), where ast_table_size is
     * dynamically chosen based on num_peers configutation from Host.
     * Hence Host needs to know the max_onchip_ast_index that Firmware can
     * generate.
     * A 0x0 value for max_onchip_ast_index means the target has not specified
     * a limit.
     */
    A_UINT32 max_onchip_ast_index;
/*
 * This fixed_param TLV is followed by these additional TLVs:
 * mac_addr_list[num_extra_mac_addr];
@@ -3783,7 +3794,12 @@ typedef struct {
     *
     *      Refer to WMI_RSRC_CFG_HOST_SERVICE_FLAG_HOST_SUPPORT_MULTI_RADIO_EVTS_PER_RADIO_GET/SET
     *      macros defined below.
     *  Bits 31:2 - Reserved
     *  Bit 2
     *      This bit will be set when host is able to handle split AST feature.
     *      Refer to the below definitions of the
     *      WMI_RSRC_CFG_HOST_SERVICE_FLAG_SPLIT_AST_FEATURE_HOST_SUPPORT_GET
     *      and _SET macros.
     *  Bits 31:3 - Reserved
     */
    A_UINT32 host_service_flags;
@@ -4047,6 +4063,11 @@ typedef struct {
#define WMI_RSRC_CFG_HOST_SERVICE_FLAG_HOST_SUPPORT_MULTI_RADIO_EVTS_PER_RADIO_SET(host_service_flags, val) \
    WMI_SET_BITS(host_service_flags, 1, 1, val)
#define WMI_RSRC_CFG_HOST_SERVICE_FLAG_SPLIT_AST_FEATURE_HOST_SUPPORT_GET(host_service_flags) \
    WMI_GET_BITS(host_service_flags, 2, 1)
#define WMI_RSRC_CFG_HOST_SERVICE_FLAG_SPLIT_AST_FEATURE_HOST_SUPPORT_SET(host_service_flags, val) \
    WMI_SET_BITS(host_service_flags, 2, 1, val)
typedef struct {
    A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_init_cmd_fixed_param */
+1 −1
Original line number Diff line number Diff line
@@ -36,7 +36,7 @@
#define __WMI_VER_MINOR_    0
/** WMI revision number has to be incremented when there is a
 *  change that may or may not break compatibility. */
#define __WMI_REVISION_ 935
#define __WMI_REVISION_ 936

/** The Version Namespace should not be normally changed. Only
 *  host and firmware of the same WMI namespace will work