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

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

Merge 50c4615a on remote branch

Change-Id: Iedfb844346c631ce0c13a33680216e3e7d9cc6b5
parents 2315d3cb 50c4615a
Loading
Loading
Loading
Loading
+133 −61
Original line number Diff line number Diff line
/*
 * Copyright (c) 2011-2021 The Linux Foundation. All rights reserved.
 * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
 *
 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
 *
@@ -337,6 +338,8 @@ enum HTT_OPTION_TLV_TAGS {
    HTT_OPTION_TLV_TAG_TCL_METADATA_VER         = 0x5,
};
#define HTT_TCL_METADATA_VER_SZ 4
PREPACK struct htt_option_tlv_header_t {
    A_UINT8 tag;
    A_UINT8 length;
@@ -725,6 +728,7 @@ typedef enum {
    HTT_STATS_RX_PDEV_BE_UL_MIMO_USER_STATS_TAG    = 141, /* htt_rx_pdev_be_ul_mimo_user_stats_tlv */
    HTT_STATS_RX_RING_STATS_TAG                    = 142, /* htt_rx_fw_ring_stats_tlv_v */
    HTT_STATS_RX_PDEV_BE_UL_TRIG_STATS_TAG         = 143, /* htt_rx_pdev_be_ul_trigger_stats_tlv */
    HTT_STATS_TX_PDEV_SAWF_RATE_STATS_TAG          = 144, /* htt_tx_pdev_rate_stats_sawf_tlv */
    HTT_STATS_MAX_TAG,
@@ -5541,7 +5545,9 @@ enum htt_srng_ring_id {
 *                    configuration fields are valid
 *          b'27    - drop_thresh_valid (DT): flag to indicate if the
 *                    rx_drop_threshold field is valid
 *          b'28:31 - rsvd1:  reserved for future use
 *          b'28    - rx_mon_global_en: Enable/Disable global register
 8                    configuration in Rx monitor module.
 *          b'29: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
@@ -5678,10 +5684,11 @@ enum htt_srng_ring_id {
 *                    phyrx_abort_request_reason enum definition.
 * dword14- b'0:15  - rx_mpdu_start_word_mask: word mask for rx mpdu start,
 *                    applicable if word mask enabled
 *        - b'16:31 - rx_mpdu_end_word_mask: word mask value for rx mpdu end,
 *        - b'16:18 - rx_mpdu_end_word_mask: word mask value for rx mpdu end,
 *                    applicable if word mask enabled
 *        - b'19:31 - rsvd7
 * dword15- b'0:16  - rx_msdu_end_word_mask
            b'17:31 - rsvd5
 *        - b'17:31 - rsvd5
 * dword17- b'0     - en_rx_tlv_pkt_offset:
 *                    0:  RX_PKT TLV logging at offset 0 for the subsequent
 *                        buffer
@@ -5697,7 +5704,8 @@ PREPACK struct htt_rx_ring_selection_cfg_t {
             pkt_swap:          1,
             rx_offsets_valid:  1,
             drop_thresh_valid: 1,
             rsvd1:             4;
             rx_mon_global_en:  1,
             rsvd1:             3;
    A_UINT32 ring_buffer_size: 16,
             config_length_mgmt:3,
             config_length_ctrl:3,
@@ -5733,7 +5741,8 @@ PREPACK struct htt_rx_ring_selection_cfg_t {
    A_UINT32 phy_err_mask;
    A_UINT32 phy_err_mask_cont;
    A_UINT32 rx_mpdu_start_word_mask:16,
             rx_mpdu_end_word_mask:  16;
             rx_mpdu_end_word_mask:  3,
             rsvd7:                  13;
    A_UINT32 rx_msdu_end_word_mask:  17,
             rsvd5:                  15;
    A_UINT32 en_rx_tlv_pkt_offset:   1,
@@ -5809,6 +5818,17 @@ PREPACK struct htt_rx_ring_selection_cfg_t {
                ((_var) |= ((_val) << HTT_RX_RING_SELECTION_CFG_DROP_THRESHOLD_VALID_S)); \
            } while (0)
#define HTT_RX_RING_SELECTION_CFG_RX_MON_GLOBAL_EN_M           0x10000000
#define HTT_RX_RING_SELECTION_CFG_RX_MON_GLOBAL_EN_S           28
#define HTT_RX_RING_SELECTION_CFG_RX_MON_GLOBAL_EN_GET(_var) \
            (((_var) & HTT_RX_RING_SELECTION_CFG_RX_MON_GLOBAL_EN_M) >> \
                    HTT_RX_RING_SELECTION_CFG_RX_MON_GLOBAL_EN_S)
#define HTT_RX_RING_SELECTION_CFG_RX_MON_GLOBAL_EN_SET(_var, _val) \
            do { \
                HTT_CHECK_SET_VAL(HTT_RX_RING_SELECTION_CFG_RX_MON_GLOBAL_EN, _val); \
                ((_var) |= ((_val) << HTT_RX_RING_SELECTION_CFG_RX_MON_GLOBAL_EN_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) \
@@ -5828,7 +5848,7 @@ PREPACK struct htt_rx_ring_selection_cfg_t {
#define HTT_RX_RING_SELECTION_CFG_CONFIG_LENGTH_MGMT_SET(_var, _val) \
            do { \
                HTT_CHECK_SET_VAL(HTT_RX_RING_SELECTION_CFG_CONFIG_LENGTH_MGMT, _val); \
                ((_var) |= ((_val) << HTT_TX_MONITOR_CFG_CONFIG_LENGTH_MGMT_S)); \
                ((_var) |= ((_val) << HTT_RX_RING_SELECTION_CFG_CONFIG_LENGTH_MGMT_S)); \
            } while (0)
#define HTT_RX_RING_SELECTION_CFG_CONFIG_LENGTH_CTRL_M         0x00380000
@@ -6166,15 +6186,15 @@ PREPACK struct htt_rx_ring_selection_cfg_t {
         ((_var) |= ((_val) <<  HTT_RX_RING_SELECTION_CFG_RX_MPDU_START_WORD_MASK_S)); \
       } while (0)
#define HTT_RX_RING_SELECTION_CFG_RX_MPDU_END_WORD_MASK_M 0xFFFF0000
#define HTT_RX_RING_SELECTION_CFG_RX_MPDU_END_WORD_MASK_M 0x00070000
#define HTT_RX_RING_SELECTION_CFG_RX_MPDU_END_WORD_MASK_S 16
#define HTT_RX_RING_SELECTION_CFG_RX_MPDU_END_WORD_MASK_GET(_var) \
       (((_var) & HTT_RX_RING_SELECTION_CFG_RX_MPDU_END_WORD_MASK_M)>> \
        HTT_RX_RING_SELECTION_CFG_RX_MPDU_START_WORD_MASK_S)
#define HTT_RX_RING_SELECTION_CFG_RX_MPDU_START_WORD_MASK_SET(_var, _val) \
        HTT_RX_RING_SELECTION_CFG_RX_MPDU_END_WORD_MASK_S)
#define HTT_RX_RING_SELECTION_CFG_RX_MPDU_END_WORD_MASK_SET(_var, _val) \
       do { \
                HTT_CHECK_SET_VAL(HTT_RX_RING_SELECTION_CFG_RX_MPDU_START_WORD_MASK, _val);\
         ((_var) |= ((_val) <<  HTT_RX_RING_SELECTION_CFG_RX_MPDU_START_WORD_MASK_S)); \
                HTT_CHECK_SET_VAL(HTT_RX_RING_SELECTION_CFG_RX_MPDU_END_WORD_MASK, _val);\
         ((_var) |= ((_val) <<  HTT_RX_RING_SELECTION_CFG_RX_MPDU_END_WORD_MASK_S)); \
       } while (0)
#define HTT_RX_RING_SELECTION_CFG_RX_MSDU_END_WORD_MASK_M 0x0001FFFF
@@ -6699,7 +6719,9 @@ PREPACK struct htt_rx_ring_selection_cfg_t {
 *          b'25    - pkt_swap (PS):  1 is to swap packet TLV - refer to
 *                    BUF_RING_CFG_0 defs within HW .h files,
 *                    e.g. wmac_top_reg_seq_hwioreg.h
 *          b'26:31 - rsvd1:  reserved for future use
 *          b'26    - tx_mon_global_en: Enable/Disable global register
 *                    configuration in Tx monitor module.
 *          b'27: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
@@ -6844,7 +6866,8 @@ PREPACK struct htt_tx_monitor_cfg_t {
             ring_id:                                8,
             status_swap:                            1,
             pkt_swap:                               1,
             rsvd1:                                  6;
             tx_mon_global_en:                       1,
             rsvd1:                                  5;
    A_UINT32 ring_buffer_size:                      16,
             config_length_mgmt:                     3,
             config_length_ctrl:                     3,
@@ -6928,6 +6951,17 @@ PREPACK struct htt_tx_monitor_cfg_t {
                ((_var) |= ((_val) << HTT_TX_MONITOR_CFG_PKT_SWAP_S)); \
            } while (0)
#define HTT_TX_MONITOR_CFG_TX_MON_GLOBAL_EN_M           0x04000000
#define HTT_TX_MONITOR_CFG_TX_MON_GLOBAL_EN_S           26
#define HTT_TX_MONITOR_CFG_TX_MON_GLOBAL_EN_GET(_var) \
            (((_var) & HTT_TX_MONITOR_CFG_TX_MON_GLOBAL_EN_M) >> \
                    HTT_TX_MONITOR_CFG_TX_MON_GLOBAL_EN_S)
#define HTT_TX_MONITOR_CFG_TX_MON_GLOBAL_EN_SET(_var, _val) \
            do { \
                HTT_CHECK_SET_VAL(HTT_TX_MONITOR_CFG_TX_MON_GLOBAL_EN, _val); \
                ((_var) |= ((_val) << HTT_TX_MONITOR_CFG_TX_MON_GLOBAL_EN_S)); \
            } while (0)
#define HTT_TX_MONITOR_CFG_RING_BUFFER_SIZE_M           0x0000ffff
#define HTT_TX_MONITOR_CFG_RING_BUFFER_SIZE_S           0
#define HTT_TX_MONITOR_CFG_RING_BUFFER_SIZE_GET(_var) \
@@ -7003,7 +7037,7 @@ PREPACK struct htt_tx_monitor_cfg_t {
            do { \
                HTT_CHECK_SET_VAL(HTT_TX_MONITOR_CFG_FILTER_IN_TX_MPDU_START_CTRL, _val); \
                ((_var) |= ((_val) << HTT_TX_MONITOR_CFG_FILTER_IN_TX_MPDU_START_CTRL_S)); \
            } while (0
            } while (0)
#define HTT_TX_MONITOR_CFG_FILTER_IN_TX_MPDU_START_DATA_M       0x00000020
#define HTT_TX_MONITOR_CFG_FILTER_IN_TX_MPDU_START_DATA_S       5
@@ -7036,7 +7070,7 @@ PREPACK struct htt_tx_monitor_cfg_t {
            do { \
                HTT_CHECK_SET_VAL(HTT_TX_MONITOR_CFG_FILTER_IN_TX_MSDU_START_CTRL, _val); \
                ((_var) |= ((_val) << HTT_TX_MONITOR_CFG_FILTER_IN_TX_MSDU_START_CTRL_S)); \
            } while (0
            } while (0)
#define HTT_TX_MONITOR_CFG_FILTER_IN_TX_MSDU_START_DATA_M       0x00000100
#define HTT_TX_MONITOR_CFG_FILTER_IN_TX_MSDU_START_DATA_S       8
@@ -7069,7 +7103,7 @@ PREPACK struct htt_tx_monitor_cfg_t {
            do { \
                HTT_CHECK_SET_VAL(HTT_TX_MONITOR_CFG_FILTER_IN_TX_MPDU_END_CTRL, _val); \
                ((_var) |= ((_val) << HTT_TX_MONITOR_CFG_FILTER_IN_TX_MPDU_END_CTRL_S)); \
            } while (0
            } while (0)
#define HTT_TX_MONITOR_CFG_FILTER_IN_TX_MPDU_END_DATA_M         0x00000800
#define HTT_TX_MONITOR_CFG_FILTER_IN_TX_MPDU_END_DATA_S         11
@@ -7102,7 +7136,7 @@ PREPACK struct htt_tx_monitor_cfg_t {
            do { \
                HTT_CHECK_SET_VAL(HTT_TX_MONITOR_CFG_FILTER_IN_TX_MSDU_END_CTRL, _val); \
                ((_var) |= ((_val) << HTT_TX_MONITOR_CFG_FILTER_IN_TX_MSDU_END_CTRL_S)); \
            } while (0
            } while (0)
#define HTT_TX_MONITOR_CFG_FILTER_IN_TX_MSDU_END_DATA_M         0x00004000
#define HTT_TX_MONITOR_CFG_FILTER_IN_TX_MSDU_END_DATA_S         14
@@ -9325,7 +9359,7 @@ PREPACK struct htt_h2t_sawf_def_queues_map_req {
 * dword0 - b'7:0       - msg_type: This will be set to
 *                        0x1d (HTT_H2T_SAWF_DEF_QUEUES_UNMAP_REQ)
 *          b'15:8      - service class ID
 * dword1 - b'31:16     - peer ID
 *          b'31:16     - peer ID
 *                        A HTT_H2T_SAWF_DEF_QUEUES_UNMAP_PEER_ID_WILDCARD
 *                        value for peer ID indicates that the target should
 *                        apply the UNMAP_REQ to all peers.
@@ -9341,27 +9375,26 @@ PREPACK struct htt_h2t_sawf_def_queues_unmap_req {
#define HTT_H2T_SAWF_DEF_QUEUES_UNMAP_REQ_SVC_CLASS_ID_M             0x0000FF00
#define HTT_H2T_SAWF_DEF_QUEUES_UNMAP_REQ_SVC_CLASS_ID_S             8
#define HTT_H2T_SAWF_DEF_QUEUES_UNMAP_REQ_SVC_CLASS_ID_GET(_var) \
    (((_var) & HTT_H2T_SAWF_DEF_QUEUES_UNMAP_REQ_SVC_CLASS_ID_M) >> \
#define HTT_H2T_SAWF_DEF_QUEUES_UNMAP_REQ_SVC_CLASS_ID_GET(word0) \
    (((word0) & HTT_H2T_SAWF_DEF_QUEUES_UNMAP_REQ_SVC_CLASS_ID_M) >> \
     HTT_H2T_SAWF_DEF_QUEUES_UNMAP_REQ_SVC_CLASS_ID_S)
#define HTT_RX_SAWF_DEF_QUEUES_UNMAP_REQ_SVC_CLASS_ID_SET(_var, _val) \
#define HTT_RX_SAWF_DEF_QUEUES_UNMAP_REQ_SVC_CLASS_ID_SET(word0, _val) \
    do { \
        HTT_CHECK_SET_VAL(HTT_H2T_SAWF_DEF_QUEUES_UNMAP_REQ_SVC_CLASS_ID, _val); \
        ((_var) |= ((_val) << HTT_H2T_SAWF_DEF_QUEUES_UNMAP_REQ_SVC_CLASS_ID_S)); \
        ((word0) |= ((_val) << HTT_H2T_SAWF_DEF_QUEUES_UNMAP_REQ_SVC_CLASS_ID_S)); \
    } while (0)
#define HTT_H2T_SAWF_DEF_QUEUES_UNMAP_REQ_PEER_ID_M                  0xFFFF0000
#define HTT_H2T_SAWF_DEF_QUEUES_UNMAP_REQ_PEER_ID_S                  16
#define HTT_H2T_SAWF_DEF_QUEUES_UNMAP_REQ_PEER_ID_GET(_var) \
    (((_var) & HTT_H2T_SAWF_DEF_QUEUES_UNMAP_REQ_PEER_ID_M) >> \
#define HTT_H2T_SAWF_DEF_QUEUES_UNMAP_REQ_PEER_ID_GET(word0) \
    (((word0) & HTT_H2T_SAWF_DEF_QUEUES_UNMAP_REQ_PEER_ID_M) >> \
     HTT_H2T_SAWF_DEF_QUEUES_UNMAP_REQ_PEER_ID_S)
#define HTT_RX_SAWF_DEF_QUEUES_UNMAP_REQ_PEER_ID_SET(_var, _val) \
#define HTT_RX_SAWF_DEF_QUEUES_UNMAP_REQ_PEER_ID_SET(word0, _val) \
    do { \
        HTT_CHECK_SET_VAL(HTT_H2T_SAWF_DEF_QUEUES_UNMAP_REQ_PEER_ID, _val); \
        ((_var) |= ((_val) << HTT_H2T_SAWF_DEF_QUEUES_UNMAP_REQ_PEER_ID_S)); \
        ((word0) |= ((_val) << HTT_H2T_SAWF_DEF_QUEUES_UNMAP_REQ_PEER_ID_S)); \
    } while (0)
/*
 * MSG_TYPE => HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ
 *
@@ -9373,45 +9406,74 @@ PREPACK struct htt_h2t_sawf_def_queues_unmap_req {
 * to report what service class (if any) the default MSDU queues for
 * each of the specified TIDs are linked to.
 *
 * |31                          16|15           8|7            0|
 * |31                          16|15           8|7        1|  0|
 * |------------------------------+--------------+--------------|
 * |             peer ID          |   TID mask   |   msg type   |
 * |------------------------------------------------------------|
 * |                           reserved                     |ETO|
 * |------------------------------------------------------------|
 * Header fields:
 * dword0 - b'7:0       - msg_type: This will be set to
 *                        0x1e (HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ)
 *          b'15:8      - TID mask
 * dword1 - b'31:16     - peer ID
 *          b'31:16     - peer ID
 * dword1 - b'0         - "Existing Tids Only" flag
 *                        If this flag is set, the DEF_QUEUES_MAP_REPORT_CONF
 *                        message generated by this REQ will only show the
 *                        mapping for TIDs that actually exist in the target's
 *                        peer object.
 *                        Any TIDs that are covered by a MAP_REQ but which
 *                        do not actually exist will be shown as being
 *                        unmapped (i.e. svc class ID 0xff).
 *                        If this flag is cleared, the MAP_REPORT_CONF message
 *                        will consider not only the mapping of TIDs currently
 *                        existing in the peer, but also the mapping that will
 *                        be applied for any TID objects created within this
 *                        peer in the future.
 *          b'31:1      - reserved for future use
 */
PREPACK struct htt_h2t_sawf_def_queues_map_report_req {
    A_UINT32 msg_type          :8,
             tid_mask          :8,
             peer_id           :16;
    A_UINT32 existing_tids_only:1,
             reserved          :31;
} POSTPACK;
#define HTT_SAWF_DEF_QUEUES_MAP_REPORT_REQ_BYTES 4
#define HTT_SAWF_DEF_QUEUES_MAP_REPORT_REQ_BYTES 8
#define HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ_TID_MASK_M            0x0000FF00
#define HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ_TID_MASK_S            8
#define HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ_TID_MASK_GET(_var) \
    (((_var) & HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ_TID_MASK_M) >> \
#define HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ_TID_MASK_GET(word0) \
    (((word0) & HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ_TID_MASK_M) >> \
     HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ_TID_MASK_S)
#define HTT_RX_SAWF_DEF_QUEUES_MAP_REPORT_REQ_TID_MASK_SET(_var, _val) \
#define HTT_RX_SAWF_DEF_QUEUES_MAP_REPORT_REQ_TID_MASK_SET(word0, _val) \
    do { \
        HTT_CHECK_SET_VAL(HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ_TID_MASK, _val); \
        ((_var) |= ((_val) << HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ_TID_MASK_S));\
        ((word0) |= ((_val) << HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ_TID_MASK_S));\
    } while (0)
#define HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ_PEER_ID_M             0xFFFF0000
#define HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ_PEER_ID_S             16
#define HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ_PEER_ID_GET(_var) \
    (((_var) & HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ_PEER_ID_M) >> \
#define HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ_PEER_ID_GET(word0) \
    (((word0) & HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ_PEER_ID_M) >> \
     HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ_PEER_ID_S)
#define HTT_RX_SAWF_DEF_QUEUES_MAP_REPORT_REQ_PEER_ID_SET(_var, _val) \
#define HTT_RX_SAWF_DEF_QUEUES_MAP_REPORT_REQ_PEER_ID_SET(word0, _val) \
    do { \
        HTT_CHECK_SET_VAL(HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ_PEER_ID, _val); \
        ((_var) |= ((_val) << HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ_PEER_ID_S)); \
        ((word0) |= ((_val) << HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ_PEER_ID_S)); \
    } while (0)
#define HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ_EXISTING_TIDS_ONLY_M  0x00000001
#define HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ_EXISTING_TIDS_ONLY_S  0
#define HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ_EXISTING_TIDS_ONLY_GET(word1) \
    (((word1) & HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ_EXISTING_TIDS_ONLY_M) >> \
     HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ_EXISTING_TIDS_ONLY_S)
#define HTT_RX_SAWF_DEF_QUEUES_MAP_REPORT_REQ_EXISTING_TIDS_ONLY_SET(word1, _val) \
    do { \
        HTT_CHECK_SET_VAL(HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ_EXISTING_TIDS_ONLY, _val); \
        ((word1) |= ((_val) << HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ_EXISTING_TIDS_ONLY_S)); \
    } while (0)
@@ -18030,15 +18092,15 @@ PREPACK struct htt_t2h_sawf_def_queues_map_report_conf {
 * of the newly created MSDUQ and some other identifiers to uniquely identity
 * the newly created MSDUQ
 *
 * |31    27|          24|23    16|15           11|10|9 8|7     4|3    0|
 * |------------------------------+----------------------+--------------|
 * |31    27|          24|23    16|15|14          11|10|9 8|7     4|3    0|
 * |------------------------------+------------------------+--------------|
 * |             peer ID          |         HTT qtype      |   msg type   |
 * |--------+---------------------+---------------+--+---+-------+------|
 * |reserved|               Ast Index             |FO|WC | HLOS  | remap|
 * |---------------------------------+--------------+--+---+-------+------|
 * |            reserved             |AST list index|FO|WC | HLOS  | remap|
 * |                                 |              |  |   | TID   | TID  |
 * |---------------------+----------------------------------------------|
 * |---------------------+------------------------------------------------|
 * |    reserved1        |               tgt_opaque_id                    |
 * |---------------------+----------------------------------------------|
 * |---------------------+------------------------------------------------|
 *
 * Header fields:
 *
@@ -18054,10 +18116,20 @@ PREPACK struct htt_t2h_sawf_def_queues_map_report_conf {
 *                        TCL Data Command : Beryllium
 *          b10         - flow_override (FO), as sent by host in
 *                        TCL Data Command: Beryllium
 *          b11:26      - ast_index
 *                        Dummy AST Index in case of Lithium,
 *                        Default AST Index in case of Beryllium
 *          b27:32      - reserved
 *          b11:14      - ast_list_idx
 *                        Array index into the list of extension AST entries
 *                        (not the actual AST 16-bit index).
 *                        The ast_list_idx is one-based, with the following
 *                        range of values:
 *                          - legacy targets supporting 16 user-defined
 *                            MSDU queues: 1-2
 *                          - legacy targets supporting 48 user-defined
 *                            MSDU queues: 1-6
 *                          - new targets: 0 (peer_id is used instead)
 *                        Note that since ast_list_idx is one-based,
 *                        the host will need to subtract 1 to use it as an
 *                        index into a list of extension AST entries.
 *          b15:31      - reserved
 *
 * dword2 - b'23:0      - tgt_opaque_id Opaque Tx flow number which is a
 *                        unique MSDUQ id in firmware
@@ -18072,8 +18144,8 @@ PREPACK struct htt_t2h_sawf_msduq_event {
             hlos_tid                : 4,
             who_classify_info_sel   : 2,
             flow_override           : 1,
             ast_index               :16,
             reserved                : 5;
             ast_list_idx            : 4,
             reserved                :17;
    A_UINT32 tgt_opaque_id           :24,
             reserved1               : 8;
@@ -18148,15 +18220,15 @@ PREPACK struct htt_t2h_sawf_msduq_event {
        ((_var) |= ((_val) << HTT_T2H_SAWF_MSDUQ_INFO_HTT_FLOW_OVERRIDE_S)); \
    } while (0)
#define HTT_T2H_SAWF_MSDUQ_INFO_HTT_AST_INDEX_M              0x07FFF800
#define HTT_T2H_SAWF_MSDUQ_INFO_HTT_AST_INDEX_S                      11
#define HTT_T2H_SAWF_MSDUQ_INFO_HTT_AST_INDEX_GET(_var) \
    (((_var) & HTT_T2H_SAWF_MSDUQ_INFO_HTT_AST_INDEX_M) >> \
     HTT_T2H_SAWF_MSDUQ_INFO_HTT_AST_INDEX_S)
#define HTT_T2H_SAWF_MSDUQ_INFO_HTT_AST_INDEX_SET(_var, _val) \
#define HTT_T2H_SAWF_MSDUQ_INFO_HTT_AST_LIST_IDX_M              0x00007800
#define HTT_T2H_SAWF_MSDUQ_INFO_HTT_AST_LIST_IDX_S                      11
#define HTT_T2H_SAWF_MSDUQ_INFO_HTT_AST_LIST_IDX_GET(_var) \
    (((_var) & HTT_T2H_SAWF_MSDUQ_INFO_HTT_AST_LIST_IDX_M) >> \
     HTT_T2H_SAWF_MSDUQ_INFO_HTT_AST_LIST_IDX_S)
#define HTT_T2H_SAWF_MSDUQ_INFO_HTT_AST_LIST_IDX_SET(_var, _val) \
    do { \
        HTT_CHECK_SET_VAL(HTT_T2H_SAWF_MSDUQ_INFO_HTT_AST_INDEX, _val); \
        ((_var) |= ((_val) << HTT_T2H_SAWF_MSDUQ_INFO_HTT_AST_INDEX_S)); \
        HTT_CHECK_SET_VAL(HTT_T2H_SAWF_MSDUQ_INFO_HTT_AST_LIST_IDX, _val); \
        ((_var) |= ((_val) << HTT_T2H_SAWF_MSDUQ_INFO_HTT_AST_LIST_IDX_S)); \
    } while (0)
+136 −0

File changed.

Preview size limit exceeded, changes collapsed.

+1 −1
Original line number Diff line number Diff line
@@ -145,7 +145,7 @@ typedef enum {
    GROUP_USAGE         = 0x01,
    TX_USAGE            = 0x02,     /* default Tx Key - Static WEP only */
    PMK_USAGE           = 0x04,     /* PMK cache */
    PASN_USAGE          = 0x08,     /* is PASN based key */
    LTF_USAGE           = 0x08,     /* LTF key seed */
} KEY_USAGE;
/*
 * List of Events (target to host)
+6 −1
Original line number Diff line number Diff line
/*
 * Copyright (c) 2011-2022 The Linux Foundation. All rights reserved.
 * Copyright (c) 2011-2021 The Linux Foundation. All rights reserved.
 * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
 *
 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
 *
@@ -574,6 +575,10 @@ typedef enum {
    WMI_SERVICE_MULTIPLE_PEER_GROUP_CMD_SUPPORT = 322, /* FW support for multiple peer group command */
    WMI_SERVICE_AFC_RESET_SUPPORT = 323, /* Indicates FW supports AFC reset */
    WMI_SERVICE_FP_PHY_ERR_FILTER_SUPPORT = 324, /* FW supports monitor ring configurations for filtering in PHY error packets */
    WMI_IS_RADAR_FOUND_CHAN_FREQ_IS_CENTER_FREQ = 325, /* FW Supporting radar event on the actual center frequency radar was detected */
    WMI_SERVICE_BIOS_SAR_SUPPORT = 326, /* FW support for SAR parameter stored in BIOS */
    WMI_SERVICE_REO_QREF_SUPPORT = 327, /* FW supports REO QREF */
    WMI_SERVICE_DELETE_ALL_PEER_BITMAP_SUPPORT = 328, /* target supports cmd to delete all specific peer type within a vdev */

    WMI_MAX_EXT2_SERVICE

+34 −10

File changed.

Preview size limit exceeded, changes collapsed.

Loading