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

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

Merge 9ea02420 on remote branch

Change-Id: Ic7dcb8ac967c4f4f54c474907b08769af1dbb01a
parents 53285031 9ea02420
Loading
Loading
Loading
Loading
+532 −3

File changed.

Preview size limit exceeded, changes collapsed.

+119 −19
Original line number Original line Diff line number Diff line
/*
/*
 * Copyright (c) 2017-2021 The Linux Foundation. All rights reserved.
 * Copyright (c) 2017-2021 The Linux Foundation. All rights reserved.
 * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
 * Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights reserved.
 *
 *
 * Permission to use, copy, modify, and/or distribute this software for
 * Permission to use, copy, modify, and/or distribute this software for
 * any purpose with or without fee is hereby granted, provided that the
 * any purpose with or without fee is hereby granted, provided that the
@@ -612,6 +612,58 @@ typedef enum HTT_PPDU_STATS_SPATIAL_REUSE HTT_PPDU_STATS_SPATIAL_REUSE;
            ((_var) |= ((_val) << HTT_PPDU_STATS_COMMON_TLV_BSS_COLOR_ID_S)); \
            ((_var) |= ((_val) << HTT_PPDU_STATS_COMMON_TLV_BSS_COLOR_ID_S)); \
    } while (0)
    } while (0)


#define HTT_PPDU_STATS_COMMON_TLV_BACKOFF_AC_VALID_M     0x00020000
#define HTT_PPDU_STATS_COMMON_TLV_BACKOFF_AC_VALID_S             17

#define HTT_PPDU_STATS_COMMON_TLV_BACKOFF_AC_VALID_GET(_var) \
    (((_var) & HTT_PPDU_STATS_COMMON_TLV_BACKOFF_AC_VALID_M) >> \
    HTT_PPDU_STATS_COMMON_TLV_BACKOFF_AC_VALID_S)

#define HTT_PPDU_STATS_COMMON_TLV_BACKOFF_AC_VALID_SET(_var, _val) \
    do { \
        HTT_CHECK_SET_VAL(HTT_PPDU_STATS_COMMON_TLV_BACKOFF_AC_VALID, _val); \
        ((_var) |= ((_val) << HTT_PPDU_STATS_COMMON_TLV_BACKOFF_AC_VALID_S)); \
    } while (0)

#define HTT_PPDU_STATS_COMMON_TLV_BACKOFF_AC_M     0x000c0000
#define HTT_PPDU_STATS_COMMON_TLV_BACKOFF_AC_S             18

#define HTT_PPDU_STATS_COMMON_TLV_BACKOFF_AC_GET(_var) \
    (((_var) & HTT_PPDU_STATS_COMMON_TLV_BACKOFF_AC_M) >> \
    HTT_PPDU_STATS_COMMON_TLV_BACKOFF_AC_S)

#define HTT_PPDU_STATS_COMMON_TLV_BACKOFF_AC_SET(_var, _val) \
    do { \
        HTT_CHECK_SET_VAL(HTT_PPDU_STATS_COMMON_TLV_AC_VALID, _val); \
        ((_var) |= ((_val) << HTT_PPDU_STATS_COMMON_TLV_BACKOFF_AC_S)); \
    } while (0)

#define HTT_PPDU_STATS_COMMON_TLV_NUM_UL_USER_RESPONSES_VALID_M     0x00100000
#define HTT_PPDU_STATS_COMMON_TLV_NUM_UL_USER_RESPONSES_VALID_S             20

#define HTT_PPDU_STATS_COMMON_TLV_NUM_UL_USER_RESPONSES_VALID_GET(_var) \
    (((_var) & HTT_PPDU_STATS_COMMON_TLV_NUM_UL_USER_RESPONSES_VALID_M) >> \
    HTT_PPDU_STATS_COMMON_TLV_NUM_UL_USER_RESPONSES_VALID_S)

#define HTT_PPDU_STATS_COMMON_TLV_NUM_UL_USER_RESPONSES_VALID_SET(_var, _val) \
    do { \
        HTT_CHECK_SET_VAL(HTT_PPDU_STATS_COMMON_TLV_NUM_UL_USER_RESPONSES_VALID, _val); \
        ((_var) |= ((_val) << HTT_PPDU_STATS_COMMON_TLV_NUM_UL_USER_RESPONSES_VALID_S)); \
    } while (0)

#define HTT_PPDU_STATS_COMMON_TLV_NUM_UL_USER_RESPONSES_M     0x1fe00000
#define HTT_PPDU_STATS_COMMON_TLV_NUM_UL_USER_RESPONSES_S             21

#define HTT_PPDU_STATS_COMMON_TLV_NUM_UL_USER_RESPONSES_GET(_var) \
    (((_var) & HTT_PPDU_STATS_COMMON_TLV_NUM_UL_USER_RESPONSES_M) >> \
    HTT_PPDU_STATS_COMMON_TLV_NUM_UL_USER_RESPONSES_S)

#define HTT_PPDU_STATS_COMMON_TLV_NUM_UL_USER_RESPONSES_SET(_var, _val) \
    do { \
        HTT_CHECK_SET_VAL(HTT_PPDU_STATS_COMMON_TLV_NUM_UL_USER_RESPONSES_VALID, _val); \
        ((_var) |= ((_val) << HTT_PPDU_STATS_COMMON_TLV_NUM_UL_USER_RESPONSES_S)); \
    } while (0)

#define HTT_PPDU_STATS_COMMON_TRIG_COOKIE_M    0x0000ffff
#define HTT_PPDU_STATS_COMMON_TRIG_COOKIE_M    0x0000ffff
#define HTT_PPDU_STATS_COMMON_TRIG_COOKIE_S    0
#define HTT_PPDU_STATS_COMMON_TRIG_COOKIE_S    0


@@ -760,9 +812,22 @@ typedef struct {
     *               by which SRG/Non-SRG based spatial reuse opportunity
     *               by which SRG/Non-SRG based spatial reuse opportunity
     *               was created.
     *               was created.
     * BIT [16:16] - PPDU transmitted using PSR opportunity
     * BIT [16:16] - PPDU transmitted using PSR opportunity
     * BIT [31:17] - reserved
     * BIT [17:17] - backoff_ac_valid
     * BIT [19:18] - backoff_ac: WMM ACI Value of the backoff engine used for
     *               this transmission. Only valid if backoff_ac_valid is set
     *               to 1. Typically this would match the default tid
     *               number -> AC mapping. For frames in the middle of a SIFS
     *               burst, the backoff_ac_valid will be 0.
     * BIT [20:20] - num_ul_user_responses_valid
     * BIT [21:28] - num_ul_user_responses: The number of user responses
     *               detected by the MAC layer. This value can be compared with
     *               the "num_ul_expected_users" field to see whether this frame
     *               had a complete or partial response failure. Only valid if
     *               num_ul_user_responses_valid is set to 1.
     * BIT [31:29] - reserved
     */
     */
    union {
    union {
        A_UINT32 reserved__num_ul_user_responses__num_ul_user_responses_valid__backoff_ac__backoff_ac_valid__psr_tx__aborted_obss_rssi__srg_tx__non_srg_tx__bss_color_id;
        A_UINT32 reserved__psr_tx__aborted_obss_rssi__srg_tx__non_srg_tx___bss_color_id;
        A_UINT32 reserved__psr_tx__aborted_obss_rssi__srg_tx__non_srg_tx___bss_color_id;
        A_UINT32 reserved__aborted_obss_rssi__srg_tx__non_srg_tx___bss_color_id;
        A_UINT32 reserved__aborted_obss_rssi__srg_tx__non_srg_tx___bss_color_id;
        A_UINT32 reserved__bss_color_id;
        A_UINT32 reserved__bss_color_id;
@@ -772,7 +837,11 @@ typedef struct {
                     srg_tx:                      1,
                     srg_tx:                      1,
                     aborted_obss_rssi:           8,
                     aborted_obss_rssi:           8,
                     psr_tx:                      1,
                     psr_tx:                      1,
                     reserved2:         15;
                     backoff_ac_valid:            1,
                     backoff_ac:                  2,
                     num_ul_user_responses_valid: 1,
                     num_ul_user_responses:       8,
                     reserved2:                   3;
        };
        };
    };
    };


@@ -787,16 +856,18 @@ typedef struct {
    };
    };


    /*
    /*
     * htt_seq_type field is added for backward compatibility with
     * BIT [0 : 0] - htt_seq_type field is added for backward compatibility
     * pktlog decoder, host driver or any third party tool interpreting
     *               with pktlog decoder, host driver or any third party tool
     * ppdu sequence type. If field 'htt_seq_type'is not present or is
     *               interpreting ppdu sequence type. If field 'htt_seq_type'
     * present but set to WAL_PPDU_SEQ_TYPE, decoder should interpret
     *               is not present or is present but set to WAL_PPDU_SEQ_TYPE,
     * the seq type as WAL_TXSEND_PPDU_SEQUENCE.
     *               decoder should interpret the seq type as
     *               WAL_TXSEND_PPDU_SEQUENCE.
     *               If the new field htt_seq_type is present and is set to
     *               If the new field htt_seq_type is present and is set to
     * HTT_PPDU_SEQ_TYPE then decoder should interpret the seq type as
     *               HTT_PPDU_SEQ_TYPE then decoder should interpret the
     * HTT_PPDU_STATS_SEQ_TYPE. htt_seq_type field will be set to
     *               seq type as HTT_PPDU_STATS_SEQ_TYPE.
     * HTT_PPDU_SEQ_TYPE in firmware versions where this field is
     *               htt_seq_type field will be set to HTT_PPDU_SEQ_TYPE in
     * defined.
     *               firmware versions where this field is defined.
     * BIT [31: 1] - reserved
     */
     */
    union {
    union {
        A_UINT32 reserved__htt_seq_type;
        A_UINT32 reserved__htt_seq_type;
@@ -1169,6 +1240,19 @@ typedef struct {
     * value is larger than A_INT8.
     * value is larger than A_INT8.
     */
     */
    A_UINT32 alt_tx_pwr[HTT_STATS_MAX_CHAINS / HTT_PPDU_STATS_USER_COMMON_TLV_TX_PWR_CHAINS_PER_U32];
    A_UINT32 alt_tx_pwr[HTT_STATS_MAX_CHAINS / HTT_PPDU_STATS_USER_COMMON_TLV_TX_PWR_CHAINS_PER_U32];

    /*
     * A bitmap indicating the MSDUQs that the scheduler is attempting to
     * transmit in this PPDU. Note that in some cases, the scheduler's notion
     * of what MSDUQs are being transmitted from may not be fully accurate,
     * such as when MPDUs are retried, or when some previously generated MPDUs
     * that were not attempted OTA yet are tried.
     *
     * The valid bit indices for this bitmap are defined by the HTT_MSDUQ_INDEX
     * enum (in htt.h). For example, (1 << HTT_MSDUQ_INDEX_UDP) would
     * correspond to the default UDP msduq.
     */
    A_UINT32 msduq_bitmap;
} htt_ppdu_stats_user_common_tlv;
} htt_ppdu_stats_user_common_tlv;


#define HTT_PPDU_STATS_USER_RATE_TLV_TID_NUM_M     0x000000ff
#define HTT_PPDU_STATS_USER_RATE_TLV_TID_NUM_M     0x000000ff
@@ -1712,6 +1796,19 @@ typedef enum HTT_PPDU_STATS_RESP_PPDU_TYPE HTT_PPDU_STATS_RESP_PPDU_TYPE;
        ((_var) |= ((_val) << HTT_PPDU_STATS_USER_RATE_TLV_PUNC_PATTERN_BITMAP_S)); \
        ((_var) |= ((_val) << HTT_PPDU_STATS_USER_RATE_TLV_PUNC_PATTERN_BITMAP_S)); \
    } while (0)
    } while (0)


#define HTT_PPDU_STATS_USER_RATE_TLV_EXTRA_EHT_LTF_M  0x00010000
#define HTT_PPDU_STATS_USER_RATE_TLV_EXTRA_EHT_LTF_S          16

#define HTT_PPDU_STATS_USER_RATE_TLV_EXTRA_EHT_LTF_GET(_var) \
    (((_var) & HTT_PPDU_STATS_USER_RATE_TLV_EXTRA_EHT_LTF_M) >> \
    HTT_PPDU_STATS_USER_RATE_TLV_EXTRA_EHT_LTF_S)

#define HTT_PPDU_STATS_USER_RATE_TLV_EXTRA_EHT_LTF_SET (_var , _val) \
    do { \
        HTT_CHECK_SET_VAL(HTT_PPDU_STATS_USER_RATE_TLV_EXTRA_EHT_LTF, _val); \
        ((_var) |= ((_val) << HTT_PPDU_STATS_USER_RATE_TLV_EXTRA_EHT_LTF_S)); \
    } while (0)

typedef enum HTT_PPDU_STATS_RU_SIZE {
typedef enum HTT_PPDU_STATS_RU_SIZE {
    HTT_PPDU_STATS_RU_26,
    HTT_PPDU_STATS_RU_26,
    HTT_PPDU_STATS_RU_52,
    HTT_PPDU_STATS_RU_52,
@@ -1897,9 +1994,12 @@ typedef struct {
    /*
    /*
     * BIT [15:0]  :- Punctured BW bitmap pattern to indicate which BWs are
     * BIT [15:0]  :- Punctured BW bitmap pattern to indicate which BWs are
     *                punctured.
     *                punctured.
     * BIT 16      :- flag showing whether EHT extra LTF is applied
     *                for current PPDU
     */
     */
    A_UINT32 punc_pattern_bitmap: 16,
    A_UINT32 punc_pattern_bitmap: 16,
             reserved4:           16;
             extra_eht_ltf:       1,
             reserved4:           15;
} htt_ppdu_stats_user_rate_tlv;
} htt_ppdu_stats_user_rate_tlv;


#define HTT_PPDU_STATS_USR_RATE_VALID_M     0x80000000
#define HTT_PPDU_STATS_USR_RATE_VALID_M     0x80000000
+68 −3
Original line number Original line Diff line number Diff line
/*
/*
 * Copyright (c) 2017-2021 The Linux Foundation. All rights reserved.
 * Copyright (c) 2017-2021 The Linux Foundation. All rights reserved.
 * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
 * Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights reserved.
 *
 *
 * Permission to use, copy, modify, and/or distribute this software for
 * Permission to use, copy, modify, and/or distribute this software for
 * any purpose with or without fee is hereby granted, provided that the
 * any purpose with or without fee is hereby granted, provided that the
@@ -928,6 +928,20 @@ typedef struct {
    A_UINT32      flush_errs[1]; /* HTT_TX_PDEV_MAX_FLUSH_REASON_STATS */
    A_UINT32      flush_errs[1]; /* HTT_TX_PDEV_MAX_FLUSH_REASON_STATS */
} htt_tx_pdev_stats_flush_tlv_v;
} htt_tx_pdev_stats_flush_tlv_v;


#define HTT_TX_PDEV_STATS_MLO_ABORT_TLV_SZ(_num_elems) (sizeof(A_UINT32) * (_num_elems))
/* NOTE: Variable length TLV, use length spec to infer array size */
typedef struct {
    htt_tlv_hdr_t tlv_hdr;
    A_UINT32      mlo_abort_cnt[]; /* HTT_TX_PDEV_MAX_MLO_ABORT_REASON_STATS */
} htt_tx_pdev_stats_mlo_abort_tlv_v;

#define HTT_TX_PDEV_STATS_MLO_TXOP_ABORT_TLV_SZ(_num_elems) (sizeof(A_UINT32) * (_num_elems))
/* NOTE: Variable length TLV, use length spec to infer array size */
typedef struct {
    htt_tlv_hdr_t tlv_hdr;
    A_UINT32      mlo_txop_abort_cnt[]; /* HTT_TX_PDEV_MAX_MLO_ABORT_REASON_STATS */
} htt_tx_pdev_stats_mlo_txop_abort_tlv_v;

#define HTT_TX_PDEV_STATS_SIFS_TLV_SZ(_num_elems) (sizeof(A_UINT32) * (_num_elems))
#define HTT_TX_PDEV_STATS_SIFS_TLV_SZ(_num_elems) (sizeof(A_UINT32) * (_num_elems))
/* NOTE: Variable length TLV, use length spec to infer array size */
/* NOTE: Variable length TLV, use length spec to infer array size */
typedef struct {
typedef struct {
@@ -1467,6 +1481,17 @@ typedef struct _htt_tx_tid_stats_v1_tlv {
    A_UINT32 mlo_flush_partner_info_high;
    A_UINT32 mlo_flush_partner_info_high;
    A_UINT32 mlo_flush_initator_info_low;
    A_UINT32 mlo_flush_initator_info_low;
    A_UINT32 mlo_flush_initator_info_high;
    A_UINT32 mlo_flush_initator_info_high;
    /*
     * head_msdu_tqm_timestamp_us:
     *     MSDU enqueue timestamp (TQM reference timestamp) for the MSDU
     *     at the head of the MPDU queue
     * head_msdu_tqm_latency_us:
     *     The age of the MSDU that is at the head of the MPDU queue,
     *     i.e. the delta between the current TQM time and the MSDU's
     *     enqueue timestamp.
     */
    A_UINT32 head_msdu_tqm_timestamp_us;
    A_UINT32 head_msdu_tqm_latency_us;
} htt_tx_tid_stats_v1_tlv;
} htt_tx_tid_stats_v1_tlv;


#define HTT_RX_TID_STATS_SW_PEER_ID_M 0x0000ffff
#define HTT_RX_TID_STATS_SW_PEER_ID_M 0x0000ffff
@@ -3885,6 +3910,7 @@ typedef struct {
    A_UINT32 total_get_mpdu_head_info_cmds_by_sched_algo_la_query;
    A_UINT32 total_get_mpdu_head_info_cmds_by_sched_algo_la_query;
    A_UINT32 total_get_mpdu_head_info_cmds_by_tac;
    A_UINT32 total_get_mpdu_head_info_cmds_by_tac;
    A_UINT32 total_gen_mpdu_cmds_by_sched_algo_la_query;
    A_UINT32 total_gen_mpdu_cmds_by_sched_algo_la_query;
    A_UINT32 high_prio_q_not_empty;
} htt_tx_tqm_cmn_stats_tlv;
} htt_tx_tqm_cmn_stats_tlv;


typedef struct {
typedef struct {
@@ -4965,6 +4991,8 @@ typedef struct {
    A_UINT32 ax_su_embedded_trigger_data_ppdu_err;
    A_UINT32 ax_su_embedded_trigger_data_ppdu_err;
    /** sta side trigger stats */
    /** sta side trigger stats */
    A_UINT32 trigger_type_11be[HTT_TX_PDEV_STATS_NUM_11BE_TRIGGER_TYPES];
    A_UINT32 trigger_type_11be[HTT_TX_PDEV_STATS_NUM_11BE_TRIGGER_TYPES];
    /** Stats for Extra EHT LTF */
    A_UINT32 extra_eht_ltf;
} htt_tx_pdev_rate_stats_tlv;
} htt_tx_pdev_rate_stats_tlv;


typedef struct {
typedef struct {
@@ -7360,6 +7388,11 @@ typedef struct {
#define HTT_MAX_RX_PKT_CRC_PASS_CNT 8
#define HTT_MAX_RX_PKT_CRC_PASS_CNT 8
#define HTT_MAX_PER_BLK_ERR_CNT 20
#define HTT_MAX_PER_BLK_ERR_CNT 20
#define HTT_MAX_RX_OTA_ERR_CNT 14
#define HTT_MAX_RX_OTA_ERR_CNT 14
#define HTT_MAX_RX_PKT_CNT_EXT 4
#define HTT_MAX_RX_PKT_CRC_PASS_CNT_EXT 4
#define HTT_MAX_RX_PKT_MU_CNT 14
#define HTT_MAX_TX_PKT_CNT 10
#define HTT_MAX_PHY_TX_ABORT_CNT 10


typedef enum {
typedef enum {
    HTT_STATS_CHANNEL_HALF_RATE          = 0x0001,   /* Half rate */
    HTT_STATS_CHANNEL_HALF_RATE          = 0x0001,   /* Half rate */
@@ -7474,13 +7507,13 @@ typedef struct {
    /** rx_pkt_cnt -
    /** rx_pkt_cnt -
     * Received EOP (end-of-packet) count per packet type;
     * Received EOP (end-of-packet) count per packet type;
     * [0] = 11a; [1] = 11b; [2] = 11n; [3] = 11ac; [4] = 11ax; [5] = GF
     * [0] = 11a; [1] = 11b; [2] = 11n; [3] = 11ac; [4] = 11ax; [5] = GF
     * [6-7]=RSVD
     * [6] = EHT; [7]=RSVD; [6] = Applicable only for BE
     */
     */
    A_UINT32 rx_pkt_cnt[HTT_MAX_RX_PKT_CNT];
    A_UINT32 rx_pkt_cnt[HTT_MAX_RX_PKT_CNT];
    /** rx_pkt_crc_pass_cnt -
    /** rx_pkt_crc_pass_cnt -
     * Received EOP (end-of-packet) count per packet type;
     * Received EOP (end-of-packet) count per packet type;
     * [0] = 11a; [1] = 11b; [2] = 11n; [3] = 11ac; [4] = 11ax; [5] = GF
     * [0] = 11a; [1] = 11b; [2] = 11n; [3] = 11ac; [4] = 11ax; [5] = GF
     * [6-7]=RSVD
     * [6] = EHT; [7]=RSVD; [6] = Applicable only for BE
     */
     */
    A_UINT32 rx_pkt_crc_pass_cnt[HTT_MAX_RX_PKT_CRC_PASS_CNT];
    A_UINT32 rx_pkt_crc_pass_cnt[HTT_MAX_RX_PKT_CRC_PASS_CNT];
    /** per_blk_err_cnt -
    /** per_blk_err_cnt -
@@ -7500,6 +7533,38 @@ typedef struct {
     * [9-13]=RSVD
     * [9-13]=RSVD
     */
     */
    A_UINT32 rx_ota_err_cnt[HTT_MAX_RX_OTA_ERR_CNT];
    A_UINT32 rx_ota_err_cnt[HTT_MAX_RX_OTA_ERR_CNT];
    /** rx_pkt_cnt_ext -
     * Received EOP (end-of-packet) count per packet type for BE;
     * [0] = WUR; [1] = AZ; [2-3]=RVSD
     */
    A_UINT32 rx_pkt_cnt_ext[HTT_MAX_RX_PKT_CNT_EXT];
    /** rx_pkt_crc_pass_cnt_ext -
     * Received EOP (end-of-packet) count per packet type for BE;
     * [0] = WUR; [1] = AZ; [2-3]=RVSD
     */
    A_UINT32 rx_pkt_crc_pass_cnt_ext[HTT_MAX_RX_PKT_CRC_PASS_CNT_EXT];
    /** rx_pkt_mu_cnt -
     * RX MU MIMO+OFDMA packet count per packet type for BE;
     * [0] = 11ax OFDMA; [1] = 11ax OFDMA+MUMIMO; [2] = 11be OFDMA;
     * [3] = 11be OFDMA+MUMIMO; [4] = 11ax MIMO; [5] = 11be MIMO;
     * [6] = 11ax OFDMA; [7] = 11ax OFDMA+MUMIMO; [8] = 11be OFDMA;
     * [9] = 11be OFDMA+MUMIMO; [10] = 11ax MIMO; [11] = 11be MIMO;
     * [12-13]=RSVD
     */
    A_UINT32 rx_pkt_mu_cnt[HTT_MAX_RX_PKT_MU_CNT];
    /** tx_pkt_cnt -
     * num of transfered packet count per packet type;
     * [0] = 11a; [1] = 11b; [2] = 11n; [3] = 11ac; [4] = 11ax; [5] = GF;
     * [6]= EHT; [7] = WUR; [8] = AZ; [9]=RSVD; [6-8] = Applicable only for BE
     */
    A_UINT32 tx_pkt_cnt[HTT_MAX_TX_PKT_CNT];
    /** phy_tx_abort_cnt -
     * phy tx abort after each tlv;
     * [0] = PRE-PHY desc tlv; [1] = PHY desc tlv; [2] = LSIGA tlv;
     * [3] = LSIGB tlv; [4] = Per User tlv; [5] = HESIGB tlv;
     * [6] = Service tlv; [7] = Tx Packet End tlv; [8-9]=RSVD;
     */
    A_UINT32 phy_tx_abort_cnt[HTT_MAX_PHY_TX_ABORT_CNT];
} htt_phy_counters_tlv;
} htt_phy_counters_tlv;


typedef struct {
typedef struct {
+7 −4
Original line number Original line Diff line number Diff line
/*
/*
 * Copyright (c) 2013-2016, 2018-2021 The Linux Foundation. All rights reserved.
 * Copyright (c) 2013-2016, 2018-2021 The Linux Foundation. All rights reserved.
 * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
 * Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights reserved.
 *
 *
 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
 *
 *
@@ -458,6 +458,10 @@ typedef struct {
    A_UINT32 low_5ghz_chan;
    A_UINT32 low_5ghz_chan;
    A_UINT32 high_5ghz_chan;
    A_UINT32 high_5ghz_chan;
    A_UINT32 wireless_modes_ext; /* REGDMN MODE ext */
    A_UINT32 wireless_modes_ext; /* REGDMN MODE ext */
    A_UINT32 low_2ghz_chan_ext;
    A_UINT32 high_2ghz_chan_ext;
    A_UINT32 low_5ghz_chan_ext;
    A_UINT32 high_5ghz_chan_ext;
} HAL_REG_CAPABILITIES;
} HAL_REG_CAPABILITIES;


#ifdef NUM_SPATIAL_STREAM
#ifdef NUM_SPATIAL_STREAM
@@ -972,7 +976,6 @@ struct wlan_dbg_mem_stats {
};
};


struct wlan_dbg_peer_stats {
struct wlan_dbg_peer_stats {

    A_INT32 dummy; /* REMOVE THIS ONCE REAL PEER STAT COUNTERS ARE ADDED */
    A_INT32 dummy; /* REMOVE THIS ONCE REAL PEER STAT COUNTERS ARE ADDED */
};
};


+5 −2
Original line number Original line Diff line number Diff line
/*
/*
 * Copyright (c) 2011-2021 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.
 * Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights reserved.
 *
 *
 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
 *
 *
@@ -607,7 +607,10 @@ typedef enum {
    WMI_SERVICE_RESTRICTED_TWT = 354, /* Support for R-TWT feature */
    WMI_SERVICE_RESTRICTED_TWT = 354, /* Support for R-TWT feature */
    WMI_SERVICE_SLO_SUPPORTED = 355, /* Support for Single Link 11BE */
    WMI_SERVICE_SLO_SUPPORTED = 355, /* Support for Single Link 11BE */
    WMI_SERVICE_RTT_11AZ_TB_RSTA_SUPPORT = 356, /* FW support for 11AZ trigger based ranging Responder (RSTA) role */
    WMI_SERVICE_RTT_11AZ_TB_RSTA_SUPPORT = 356, /* FW support for 11AZ trigger based ranging Responder (RSTA) role */

    WMI_SERVICE_SUPPORT_11D_FOR_HOST_SCAN = 357,
    WMI_SERVICE_DETERMINISTIC_SCHEDULER_LEVEL0 = 358, /* FW supports 12.2 level scheduler mode disable commands and stats */
    WMI_SERVICE_COORDINATED_AP_TDMA = 359, /* Support for Coordinated-AP TDMA feature */
    WMI_SERVICE_HPA_SUPPORT = 360, /* Support for Host Platform Authentication */


    WMI_MAX_EXT2_SERVICE
    WMI_MAX_EXT2_SERVICE


Loading