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

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

Merge 14e14792 on remote branch

Change-Id: I1e3812454afb6a1951367ea62dc5f8f62e7a76c3
parents 0b34a2e6 14e14792
Loading
Loading
Loading
Loading
+162 −57
Original line number Diff line number Diff line
@@ -234,9 +234,12 @@
 * 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.109 Add HTT_T2H RX_ADDBA_EXTN,RX_DELBA_EXTN defs.
 * 3.110 Add more word_mask fields in htt_tx_monitor_cfg_t.
 * 3.111 Add RXPCU filter enable flag in RX_RING_SELECTION_CFG msg.
 * 3.112 Add logical_link_id field in rx_peer_metadata_v1.
 */
#define HTT_CURRENT_VERSION_MAJOR 3
#define HTT_CURRENT_VERSION_MINOR 109
#define HTT_CURRENT_VERSION_MINOR 112
#define HTT_NUM_TX_FRAG_DESC  1024
@@ -420,7 +423,7 @@ PREPACK struct htt_option_tlv_ll_bus_addr_size_t {
 * downloads over the host --> target bus are as slow as or slower than
 * the transmissions over the WLAN PHY.  For cases where the bus is faster
 * than the WLAN PHY, the target will transmit relatively large A-MPDUs,
 * and consquently will send one TX_COMPL_IND message that covers several
 * and consequently will send one TX_COMPL_IND message that covers several
 * tx frames.  For cases where the WLAN PHY is faster than the bus,
 * the target will end up transmitting very short A-MPDUs, and consequently
 * sending many TX_COMPL_IND messages, which each cover a very small number
@@ -463,7 +466,7 @@ PREPACK struct htt_option_tlv_hl_suppress_tx_compl_ind_t {
 * The MAX_TX_QUEUE_GROUPS TLV can be sent from the target to the host as
 * a suffix to the VERSION_CONF message.  If the host has specified in the
 * VER_REQ message a limit on the number of tx queue groups the host can
 * supprt, the target shall limit its specification of the maximum tx groups
 * support, the target shall limit its specification of the maximum tx groups
 * to be no larger than this host-specified limit.
 *
 * If the target does not provide a MAX_TX_QUEUE_GROUPS TLV, then the host
@@ -760,6 +763,9 @@ typedef enum {
    HTT_STATS_LATENCY_PROF_CAL_STATS_TAG           = 168, /* htt_latency_prof_cal_stats_tlv */
    HTT_STATS_TX_PDEV_MUEDCA_PARAMS_STATS_TAG      = 169, /* htt_tx_pdev_muedca_params_stats_tlv_v */
    HTT_STATS_PDEV_BW_MGR_STATS_TAG                = 170, /* htt_pdev_bw_mgr_stats_tlv */
    HTT_STATS_TX_PDEV_AP_EDCA_PARAMS_STATS_TAG     = 171, /* htt_tx_pdev_ap_edca_params_stats_tlv_v */
    HTT_STATS_TXBF_OFDMA_AX_STEER_MPDU_STATS_TAG   = 172, /* htt_txbf_ofdma_ax_steer_mpdu_stats_tlv */
    HTT_STATS_TXBF_OFDMA_BE_STEER_MPDU_STATS_TAG   = 173, /* htt_txbf_ofdma_be_steer_mpdu_stats_tlv */
    HTT_STATS_MAX_TAG,
@@ -1131,7 +1137,7 @@ PREPACK struct htt_tx_msdu_desc ## _paddr_bits_ ## _t \
        A_UINT16 chanfreq;                                                     \
                                                                               \
        /* Reason reserved is commented is increasing the htt structure size   \
         * leads to some wierd issues. Contact Raj/Kyeyoon for more info       \
         * leads to some weird issues.                                         \
         * A_UINT32 reserved_dword3_bits0_31;                                  \
         */                                                                    \
} POSTPACK
@@ -2716,7 +2722,7 @@ typedef enum {
/**
 * @brief HTT TX WBM Completion from firmware to host
 * @details
 *  This structure is passed from firmware to host overlayed on wbm_release_ring
 *  This structure is passed from firmware to host overlaid on wbm_release_ring
 *  DWORD 3 and 4 for software based completions (Exception frames and
 *  TQM bypass frames)
 *  For software based completions, wbm_release_ring->release_source_module will
@@ -2809,7 +2815,7 @@ PREPACK struct htt_tx_wbm_completion {
 * @details
 *  This structure applies only to WLAN chips that contain WLAN Buffer Mgmt
 *  (WBM) offload HW.
 *  This structure is passed from firmware to host overlayed on wbm_release_ring
 *  This structure is passed from firmware to host overlaid on wbm_release_ring
 *  For software based completions, release_source_module will
 *  be set to WIFIRELEASE_SOURCE_FW_E. Host SW is expected to inspect using
 *  struct wbm_release_ring and then switch to this after looking at
@@ -2888,7 +2894,7 @@ PREPACK struct htt_tx_wbm_completion_v2 {
 * @details
 *  This structure applies only to WLAN chips that contain WLAN Buffer Mgmt
 *  (WBM) offload HW.
 *  This structure is passed from firmware to host overlayed on wbm_release_ring
 *  This structure is passed from firmware to host overlaid on wbm_release_ring
 *  For software based completions, release_source_module will
 *  be set to WIFIRELEASE_SOURCE_FW_E. Host SW is expected to inspect using
 *  struct wbm_release_ring and then switch to this after looking at
@@ -2975,7 +2981,7 @@ typedef enum {
 * @details
 *  This structure applies only to WLAN chips that contain WLAN Buffer Mgmt
 *  (WBM) offload HW.
 *  This structure is passed from firmware to host overlayed on wbm_release_ring.
 *  This structure is passed from firmware to host overlaid on wbm_release_ring.
 *  used only if tx_status is HTT_TX_FW2WBM_TX_STATUS_OK or HTT_TX_FW2WBM_TX_STATUS_DROP
 *  or HTT_TX_FW2WBM_TX_STATUS_TTL
 */
@@ -3106,7 +3112,7 @@ PREPACK struct htt_tx_wbm_transmit_status {
 * @details
 *  This structure applies only to WLAN chips that contain WLAN Buffer Mgmt
 *  (WBM) offload HW.
 *  This structure is passed from firmware to host overlayed on wbm_release_ring.
 *  This structure is passed from firmware to host overlaid on wbm_release_ring.
 *  used only if tx_status is HTT_TX_FW2WBM_TX_STATUS_REINJECT.
 */
PREPACK struct htt_tx_wbm_reinject_status {
@@ -3123,7 +3129,7 @@ PREPACK struct htt_tx_wbm_reinject_status {
 * @details
 *  This structure applies only to WLAN chips that contain WLAN Buffer Mgmt
 *  (WBM) offload HW.
 *  This structure is passed from firmware to host overlayed on wbm_release_ring.
 *  This structure is passed from firmware to host overlaid on wbm_release_ring.
 *  used only if tx_status is HTT_TX_FW2WBM_TX_STATUS_MEC_NOTIFY.
 *  FW sends SA addresses to host for all multicast/broadcast packets received on
 *  STA side.
@@ -5130,7 +5136,7 @@ enum htt_msi_setup_type {
 *                     3'b010: 4 usec
 *                     3'b011: 8 usec (default)
 *                     3'b100: 16 usec
 *                     Others: Reserverd
 *                     Others: Reserved
 *           b'19    - response_required:
 *                     Host needs HTT_T2H_MSG_TYPE_SRING_SETUP_DONE as response
 *           b'20    - ipa_drop_flag:
@@ -5531,38 +5537,43 @@ enum htt_srng_ring_id {
 *
 *    The message would appear as follows:
 *
 *    |31 28|27|26|25|24|23            16|15  | 11| 10|9 8|7             0|
 *    |-----+--+--+--+--+----------------+----+---+---+---+---------------|
 *    |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   |
 *    |-------------------------------------------------------------------|
 *    |              rsvd2               |           ring_buffer_size     |
 *    |-------------------------------------------------------------------|
 *    |-----------------------+-----+-----+--------------------------------|
 *    |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
 *     CLM = config_length_mgmt
 *     CLC = config_length_ctrl
 *     CLD = config_length_data
 *     RXHDL = rx_hdr_len
 *     RX = rxpcu_filter_enable_flag
 * The message is interpreted as follows:
 * dword0 - b'0:7   - msg_type: This will be set to
 *                    0xc (HTT_H2T_MSG_TYPE_RX_RING_SELECTION_CFG)
@@ -5616,7 +5627,15 @@ enum htt_srng_ring_id {
 *                    10 - 128bytes
 *                    11 - 256bytes
 *                    default - 128 bytes
 *          b'27:31 - rsvd2: Reserved for future use
 *          b'27    - rxpcu_filter_enable_flag
 *                    For Scan Radio Host CPU utilization is very high.
 *                    In order to reduce CPU utilization we need to filter out
 *                    certain configured MAC frames.
 *                    To filter out configured MAC address frames, RxPCU should
 *                    be zero which means allow all frames for MD at RxOLE
 *                    host wil fiter out frames.
 *                    RxPCU (Filter IN) -> RxOLE (Filter In/Filter Out)
 *          b'28:31 - rsvd2: Reserved for future use
 * dword2 - b'0:31  - packet_type_enable_flags_0:
 *                    Enable MGMT packet from 0b0000 to 0b1001
 *                    bits from low to high: FP, MD, MO - 3 bits
@@ -5755,7 +5774,8 @@ PREPACK struct htt_rx_ring_selection_cfg_t {
             config_length_ctrl:3,
             config_length_data:3,
             rx_hdr_len:        2,
             rsvd2:             5;
             rxpcu_filter_enable_flag:1,
             rsvd2:             4;
    A_UINT32 packet_type_enable_flags_0;
    A_UINT32 packet_type_enable_flags_1;
    A_UINT32 packet_type_enable_flags_2;
@@ -5929,6 +5949,17 @@ PREPACK struct htt_rx_ring_selection_cfg_t {
                ((_var) |= ((_val) << HTT_RX_RING_SELECTION_CFG_RX_HDR_LEN_S));\
            } while(0)
#define HTT_RX_RING_SELECTION_CFG_RXPCU_FILTER_M               0x08000000
#define HTT_RX_RING_SELECTION_CFG_RXPXU_FILTER_S               27
#define HTT_RX_RING_SELECTION_CFG_RXPCU_FILTER_GET(_var) \
    (((_var) & HTT_RX_RING_SELECTION_CFG_RXPCU_FILTER_M) >> \
        HTT_RX_RING_SELECTION_CFG_RXPXU_FILTER_S)
#define HTT_RX_RING_SELECTION_CFG_RXPCU_FILTER_SET(_var, _val) \
    do { \
        HTT_CHECK_SET_VAL( HTT_RX_RING_SELECTION_CFG_RXPCU_FILTER, _val); \
        ((_var) |= ((_val) << HTT_RX_RING_SELECTION_CFG_RXPXU_FILTER_S));\
    } while(0)
#define HTT_RX_RING_SELECTION_CFG_PKT_TYPE_ENABLE_FLAG_0_M     0xffffffff
#define HTT_RX_RING_SELECTION_CFG_PKT_TYPE_ENABLE_FLAG_0_S     0
#define HTT_RX_RING_SELECTION_CFG_PKT_TYPE_ENABLE_FLAG_0_GET(_var) \
@@ -6961,6 +6992,13 @@ PREPACK struct htt_tx_monitor_cfg_t {
             dma_mpdu_ctrl:                          1,
             dma_mpdu_data:                          1,
             rsvd4:                                 10;
    A_UINT32 tx_queue_ext_v2_word_mask:             12,
             tx_peer_entry_v2_word_mask:            12,
             rsvd5:                                 10;
    A_UINT32 fes_status_end_word_mask:              16,
             response_end_status_word_mask:         16;
    A_UINT32 fes_status_prot_word_mask:             11,
             rsvd6:                                 21;
} POSTPACK;
#define HTT_TX_MONITOR_CFG_SZ    (sizeof(struct htt_tx_monitor_cfg_t))
@@ -7339,6 +7377,61 @@ PREPACK struct htt_tx_monitor_cfg_t {
                ((_var) |= ((_val) << HTT_TX_MONITOR_CFG_DMA_MPDU_DATA_S)); \
            } while (0)
#define HTT_TX_MONITOR_CFG_TX_QUEUE_EXT_V2_WORD_MASK_M          0x00000fff
#define HTT_TX_MONITOR_CFG_TX_QUEUE_EXT_V2_WORD_MASK_S          0
#define HTT_TX_MONITOR_CFG_TX_QUEUE_EXT_V2_WORD_MASK_GET(_var) \
            (((_var) & HTT_TX_MONITOR_CFG_TX_QUEUE_EXT_V2_WORD_MASK_M) >> \
                    HTT_TX_MONITOR_CFG_TX_QUEUE_EXT_V2_WORD_MASK_S)
#define HTT_TX_MONITOR_CFG_TX_QUEUE_EXT_V2_WORD_MASK_SET(_var, _val) \
            do { \
                HTT_CHECK_SET_VAL(HTT_TX_MONITOR_CFG_TX_QUEUE_EXT_V2_WORD_MASK, _val); \
                ((_var) |= ((_val) << HTT_TX_MONITOR_CFG_TX_QUEUE_EXT_V2_WORD_MASK_S)); \
            } while (0)
#define HTT_TX_MONITOR_CFG_TX_PEER_ENTRY_V2_WORD_MASK_M         0x00fff000
#define HTT_TX_MONITOR_CFG_TX_PEER_ENTRY_V2_WORD_MASK_S         12
#define HTT_TX_MONITOR_CFG_TX_PEER_ENTRY_V2_WORD_MASK_GET(_var) \
            (((_var) & HTT_TX_MONITOR_CFG_TX_PEER_ENTRY_V2_WORD_MASK_M) >> \
                    HTT_TX_MONITOR_CFG_TX_PEER_ENTRY_V2_WORD_MASK_S)
#define HTT_TX_MONITOR_CFG_TX_PEER_ENTRY_V2_WORD_MASK_SET(_var, _val) \
            do { \
                HTT_CHECK_SET_VAL(HTT_TX_MONITOR_CFG_TX_PEER_ENTRY_V2_WORD_MASK, _val); \
                ((_var) |= ((_val) << HTT_TX_MONITOR_CFG_TX_PEER_ENTRY_V2_WORD_MASK_S)); \
            } while (0)
#define HTT_TX_MONITOR_CFG_FES_STATUS_END_WORD_MASK_M           0x0000ffff
#define HTT_TX_MONITOR_CFG_FES_STATUS_END_WORD_MASK_S           0
#define HTT_TX_MONITOR_CFG_FES_STATUS_END_WORD_MASK_GET(_var) \
            (((_var) & HTT_TX_MONITOR_CFG_FES_STATUS_END_WORD_MASK_M) >> \
                    HTT_TX_MONITOR_CFG_FES_STATUS_END_WORD_MASK_S)
#define HTT_TX_MONITOR_CFG_FES_STATUS_END_WORD_MASK_SET(_var, _val) \
            do { \
                HTT_CHECK_SET_VAL(HTT_TX_MONITOR_CFG_FES_STATUS_END_WORD_MASK, _val); \
                ((_var) |= ((_val) << HTT_TX_MONITOR_CFG_FES_STATUS_END_WORD_MASK_S)); \
            } while (0)
#define HTT_TX_MONITOR_CFG_RESPONSE_END_STATUS_WORD_MASK_M      0xffff0000
#define HTT_TX_MONITOR_CFG_RESPONSE_END_STATUS_WORD_MASK_S      16
#define HTT_TX_MONITOR_CFG_RESPONSE_END_STATUS_WORD_MASK_GET(_var) \
            (((_var) & HTT_TX_MONITOR_CFG_RESPONSE_END_STATUS_WORD_MASK_M) >> \
                    HTT_TX_MONITOR_CFG_RESPONSE_END_STATUS_WORD_MASK_S)
#define HTT_TX_MONITOR_CFG_RESPONSE_END_STATUS_WORD_MASK_SET(_var, _val) \
            do { \
                HTT_CHECK_SET_VAL(HTT_TX_MONITOR_CFG_RESPONSE_END_STATUS_WORD_MASK, _val); \
                ((_var) |= ((_val) << HTT_TX_MONITOR_CFG_RESPONSE_END_STATUS_WORD_MASK_S)); \
            } while (0)
#define HTT_TX_MONITOR_CFG_FES_STATUS_PROT_WORD_MASK_M          0x000007ff
#define HTT_TX_MONITOR_CFG_FES_STATUS_PROT_WORD_MASK_S          0
#define HTT_TX_MONITOR_CFG_FES_STATUS_PROT_WORD_MASK_GET(_var) \
            (((_var) & HTT_TX_MONITOR_CFG_FES_STATUS_PROT_WORD_MASK_M) >> \
                    HTT_TX_MONITOR_CFG_FES_STATUS_PROT_WORD_MASK_S)
#define HTT_TX_MONITOR_CFG_FES_STATUS_PROT_WORD_MASK_SET(_var, _val) \
            do { \
                HTT_CHECK_SET_VAL(HTT_TX_MONITOR_CFG_FES_STATUS_PROT_WORD_MASK, _val); \
                ((_var) |= ((_val) << HTT_TX_MONITOR_CFG_FES_STATUS_PROT_WORD_MASK_S)); \
            } while (0)
/*
 * pkt_type_enable_flags
 */
@@ -8251,7 +8344,7 @@ enum htt_ip_da_sa_prefix {
 *          b'9     - DISABLE_TA_CHECK: 1- Disable TA check for MPDU Sequence
 *                    num jump
 *          b'10    - DISABLE_QOS_CHECK: 1- Disable checking if qos/nonqos
 *            data type switch has happend for MPDU Sequence num jump
 *            data type switch has happened for MPDU Sequence num jump
 *          b'11    - DISABLE_RAW_CHECK: 1- Disable checking for raw packet type
 *            for MPDU Sequence num jump
 *          b'12    - DISABLE_DECRYPT_ERR_CHECK: 1- Disable fisa cache commands
@@ -12046,7 +12139,7 @@ PREPACK struct htt_tx_offload_deliver_ind_hdr_t
 * In certain generations of chips, the peer map message also contains
 * a HW peer ID.  This HW peer ID is used during rx --> tx frame forwarding
 * to identify which peer the frame needs to be forwarded to (i.e. the
 * peer assocated with the Destination MAC Address within the packet),
 * peer associated with the Destination MAC Address within the packet),
 * and particularly which vdev needs to transmit the frame (for cases
 * of inter-vdev rx --> tx forwarding). The HW peer id here is the same
 * meaning as AST_INDEX_0.
@@ -12189,7 +12282,7 @@ PREPACK struct htt_tx_offload_deliver_ind_hdr_t
 *
 * The peer map v2 message also contains a HW peer ID.  This HW peer ID
 * is used during rx --> tx frame forwarding to identify which peer the
 * frame needs to be forwarded to (i.e. the peer assocated with the
 * frame needs to be forwarded to (i.e. the peer associated with the
 * Destination MAC Address within the packet), and particularly which vdev
 * needs to transmit the frame (for cases of inter-vdev rx --> tx forwarding).
 * This DA-based peer ID that is provided for certain rx frames
@@ -13825,7 +13918,7 @@ PREPACK struct htt_txq_group {
 *   Purpose: Indicate whether data ACK RSSI is appended for each MSDU in
 *            TX_COMP_IND message.  The order of the per-MSDU ACK RSSI report
 *            matches the order of the MSDU IDs.  Although the ACK RSSI is the
 *            same for all MSDUs witin a single PPDU, the RSSI is duplicated
 *            same for all MSDUs within a single PPDU, the RSSI is duplicated
 *            for each MSDU, for convenience.
 *            The ACK RSSI values are valid when status is COMPLETE_OK (and
 *            this append2 bit is set).
@@ -14460,7 +14553,7 @@ typedef struct {
 *     Purpose: indicate how many 32-bit integers follow the message header
 *   - NUM_CHARS
 *     Bits 31:16
 *     Purpose: indicate how many 8-bit charaters follow the series of integers
 *     Purpose: indicate how many 8-bit characters follow the series of integers
 */
#define HTT_RX_TEST_NUM_INTS_M   0xff00
#define HTT_RX_TEST_NUM_INTS_S   8
@@ -14663,7 +14756,7 @@ struct rx_reorder_stats {
    A_UINT32 rxdesc_bmc_msdus_inv_peer;
    /* Number of MSDUs dropped due to no first MSDU flag */
    A_UINT32 rxdesc_no_1st_msdu;
    /* Number of MSDUs droped due to ring overflow */
    /* Number of MSDUs dropped due to ring overflow */
    A_UINT32 msdu_drop_ring_ov;
    /* Number of MSDUs dropped due to FC mismatch */
    A_UINT32 msdu_drop_fc_mismatch;
@@ -16612,7 +16705,7 @@ typedef enum {
 *
 *  b'0:15  - flow pool ID: Existing flow pool ID
 *
 *  b'16:31 - flow pool new size: new pool size for exisiting flow pool ID
 *  b'16:31 - flow pool new size: new pool size for existing flow pool ID
 *
 */
@@ -17241,7 +17334,7 @@ PREPACK struct htt_cfr_dump_compl_ind {
 *  subsequent period (100 ms) as long as the backpressure remains unabated.
 *  This message indicates the ring id along with current head and tail index
 *  locations (i.e. write and read indices).
 *  The backpressure time indicates the time in ms for which continous
 *  The backpressure time indicates the time in ms for which continuous
 *  backpressure has been observed in the ring.
 *
 *  The message format is as follows:
@@ -17260,11 +17353,12 @@ PREPACK struct htt_cfr_dump_compl_ind {
 *                               (HTT_T2H_MSG_TYPE_BKPRESSURE_EVENT_IND)
 *           b'8:15  - pdev_id:  0 indicates msg is for UMAC ring.
 *                               1, 2, 3 indicates pdev_id 0,1,2 and
                                 the msg is for LMAC ring.
 *                               the msg is for LMAC ring.
 *           b'16:23 - ring_type: Refer to enum htt_backpressure_ring_type.
 *           b'24:31 - ring_id:  Refer enum htt_backpressure_umac_ring_id/
 *                               htt_backpressure_lmac_ring_id. This represents
 *                               the ring id for which continous backpressure is seen
 *                               the ring id for which continuous backpressure
 *                               is seen
 *
 *  dword1 - b'0:15  - head_idx: This indicates the current head index of
 *                               the ring indicated by the ring_id
@@ -17272,7 +17366,7 @@ PREPACK struct htt_cfr_dump_compl_ind {
 *  dword1 - b'16:31 - tail_idx: This indicates the current tail index of
 *                               the ring indicated by the ring id
 *
 *  dword2 - b'0:31  - backpressure_time_ms: Indicates how long continous
 *  dword2 - b'0:31  - backpressure_time_ms: Indicates how long continuous
 *                               backpressure has been seen in the ring
 *                               indicated by the ring_id.
 *                               Units = milliseconds
@@ -17780,7 +17874,7 @@ enum HTT_UL_OFDMA_TRIG_TYPE {
 *     Bits 31:16
 *     Purpose: indicates the secondary channel center frequency,
 *              only for 11acvht 80plus80 mode
 *     Value:  secondary channel center frequeny, in MHz units, if applicable
 *     Value:  secondary channel center frequency, in MHz units, if applicable
 *
 * checksum field
 *   - CHECK_SUM
@@ -18133,15 +18227,15 @@ PREPACK struct htt_rx_peer_metadata_v0 {
 * The following diagram shows the format of the RX PEER METADATA V1 format.
 *
 * |31 29|28   26|25   24|23   16|15           14|   13  |12                  0|
 * |-----------------------------------------------------------------------|
 * |Rsvd2|CHIP ID|LMAC ID|  VDEV ID   |Rsvd1|ML PEER| SW PEER ID/ML PEER ID|
 * |-----------------------------------------------------------------------|
 * |---------------------------------------------------------------------------|
 * |Rsvd2|CHIP ID|LMAC ID|VDEV ID|logical_link_id|ML PEER|SW PEER ID/ML PEER ID|
 * |---------------------------------------------------------------------------|
 */
PREPACK struct htt_rx_peer_metadata_v1 {
    A_UINT32
        peer_id:         13,
        ml_peer_valid:   1,
        reserved1:       2,
        logical_link_id: 2,
        vdev_id:         8,
        lmac_id:         2,
        chip_id:         3,
@@ -18175,6 +18269,17 @@ PREPACK struct htt_rx_peer_metadata_v1 {
#define HTT_RX_PEER_META_DATA_V1_VDEV_ID_GET(_var) \
    (((_var) & HTT_RX_PEER_META_DATA_V1_VDEV_ID_M) >> HTT_RX_PEER_META_DATA_V1_VDEV_ID_S)
#define HTT_RX_PEER_META_DATA_V1_LOGICAL_LINK_ID_S    14
#define HTT_RX_PEER_META_DATA_V1_LOGICAL_LINK_ID_M    0x0000c000
#define HTT_RX_PEER_META_DATA_V1_LOGICAL_LINK_ID_GET(_var) \
    (((_var) & HTT_RX_PEER_META_DATA_V1_LOGICAL_LINK_ID_M) >> HTT_RX_PEER_META_DATA_V1_LOGICAL_LINK_ID_S)
#define HTT_RX_PEER_META_DATA_V1_LOGICAL_LINK_ID_SET(_var, _val) \
    do {                                             \
        HTT_CHECK_SET_VAL(HTT_RX_PEER_META_DATA_V1_LOGICAL_LINK_ID, _val);  \
        ((_var) |= ((_val) << HTT_RX_PEER_META_DATA_V1_LOGICAL_LINK_ID_S)); \
    } while (0)
#define HTT_RX_PEER_META_DATA_V1_VDEV_ID_SET(_var, _val) \
    do {                                             \
        HTT_CHECK_SET_VAL(HTT_RX_PEER_META_DATA_V1_VDEV_ID, _val);  \
+2 −1
Original line number Diff line number Diff line
/*
 * Copyright (c) 2012-2016, 2020 The Linux Foundation. All rights reserved.
 * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
 *
 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
 *
@@ -62,7 +63,7 @@ enum htt_rx_ind_mpdu_status {
    HTT_RX_IND_MPDU_STATUS_ERR_INV_PEER,
    HTT_RX_IND_MPDU_STATUS_UNAUTH_PEER, /* only accept EAPOL frames */
    HTT_RX_IND_MPDU_STATUS_OUT_OF_SYNC,
    HTT_RX_IND_MPDU_STATUS_MGMT_CTRL, /* Non-data in promiscous mode */
    HTT_RX_IND_MPDU_STATUS_MGMT_CTRL, /* Non-data in promiscuous mode */
    HTT_RX_IND_MPDU_STATUS_TKIP_MIC_ERR,
    HTT_RX_IND_MPDU_STATUS_DECRYPT_ERR,
    HTT_RX_IND_MPDU_STATUS_MPDU_LENGTH_ERR,
+2 −1
Original line number Diff line number Diff line
/*
 * Copyright (c) 2012-2014 The Linux Foundation. All rights reserved.
 * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
 *
 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
 *
@@ -237,7 +238,7 @@ enum {
 *   - RMF_ENABLED (R)
 *     Bit 6
 *     Purpose: specify whether the peer in question has enable robust
 *         management frames, to encrypt certain managment frames
 *         management frames, to encrypt certain management frames
 *     Value: HTT_ISOC_RMF enum
 *     Value: HTT_ISOC_NON_QOS or HTT_ISOC_QOS
 *   - VDEV_ID
+2 −2
Original line number Diff line number Diff line
@@ -2732,7 +2732,7 @@ typedef struct {
     * The size of the actual mgmt payload (in bytes) can be obtained from
     * the frame_length field.
     * The size of entire payload including the padding for alignment
     * (in bytes) can be derived from the length in tlv parametes,
     * (in bytes) can be derived from the length in tlv parameters,
     * minus the 12 bytes of the above fields.
     */
    A_UINT32 payload[1];
@@ -2774,7 +2774,7 @@ typedef struct {
     * The size of the actual mgmt payload (in bytes) can be obtained from
     * the frame_length field.
     * The size of entire payload including the padding for alignment
     * (in bytes) can be derived from the length in tlv parametes,
     * (in bytes) can be derived from the length in tlv parameters,
     * minus the 12 bytes of the above fields.
     */
    A_UINT32 payload[1];
+88 −32

File changed.

Preview size limit exceeded, changes collapsed.

Loading