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

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

Merge 51d4f3fb on remote branch

Change-Id: I591fb9da017323291d15111add27897e54384d7e
parents 581e29a1 51d4f3fb
Loading
Loading
Loading
Loading
+2018 −247

File changed.

Preview size limit exceeded, changes collapsed.

+12 −1
Original line number Diff line number Diff line
@@ -876,6 +876,11 @@ typedef struct {
                     reserved3:     31;
        };
    };
    /* is_manual_ulofdma_trigger:
     * Flag to indicate if a given UL OFDMA trigger is manually triggered
     * from the Host
     */
    A_UINT32 is_manual_ulofdma_trigger;
} htt_ppdu_stats_common_tlv;

#define HTT_PPDU_STATS_USER_COMMON_TLV_TID_NUM_M     0x000000ff
@@ -2442,7 +2447,7 @@ typedef struct {

    /*
     * Max rates configured per BW:
     * for BW supported by Smart Antenna - 20MHZ, 40MHZ and 80MHZ and 160MHZ
     * for BW supported by Smart Antenna - 20MHZ, 40MHZ, 80MHZ and 160MHZ
     * (Note: 160 MHz is currently not supported by Smart Antenna)
     */
    A_UINT32 max_rates[HTT_STATS_NUM_SUPPORTED_BW_SMART_ANTENNA];
@@ -2463,6 +2468,12 @@ typedef struct {
             sw_rts_failure:    1,
             cts_rcvd_diff_bw:  1,
             reserved2:        28;

    /*
     * Max rates configured per BW:
     * for BW supported by Smart Antenna - 320 MHZ
     */
    A_UINT32 max_rates_ext;
} htt_ppdu_stats_user_cmpltn_common_tlv;

#define HTT_PPDU_STATS_USER_CMPLTN_BA_BITMAP_TLV_TID_NUM_M     0x000000ff
+85 −1
Original line number Diff line number Diff line
@@ -148,6 +148,7 @@ enum htt_dbg_ext_stats_type {
     *           6 bit htt_msdu_flow_stats_tlv
     *           7 bit htt_peer_sched_stats_tlv
     *           8 bit htt_peer_ax_ofdma_stats_tlv
     *           9 bit htt_peer_be_ofdma_stats_tlv
     *   - config_param2: [Bit31 : Bit0] mac_addr31to0
     *   - config_param3: [Bit15 : Bit0] mac_addr47to32
     *                    [Bit 16] If this bit is set, reset per peer stats
@@ -519,6 +520,14 @@ enum htt_dbg_ext_stats_type {
     */
    HTT_DBG_PDEV_MBSSID_CTRL_FRAME_STATS = 54,

    /** HTT_DBG_SOC_SSR_STATS
     * PARAMS:
     *    - No Params
     * RESP MSG:
     *    - htt_umac_ssr_stats_tlv
     */
    HTT_DBG_SOC_SSR_STATS = 55,


    /* keep this last */
    HTT_DBG_NUM_EXT_STATS = 256,
@@ -1858,6 +1867,7 @@ typedef enum {
    HTT_MSDU_FLOW_STATS_TLV     = 6,
    HTT_PEER_SCHED_STATS_TLV    = 7,
    HTT_PEER_AX_OFDMA_STATS_TLV = 8,
    HTT_PEER_BE_OFDMA_STATS_TLV = 9,

    HTT_PEER_STATS_MAX_TLV      = 31,
} htt_peer_stats_tlv_enum;
@@ -1901,8 +1911,20 @@ typedef struct {
    /* Last updated value of DL and UL queue depths for each peer per AC */
    A_UINT32 last_updated_dl_qdepth[HTT_NUM_AC_WMM];
    A_UINT32 last_updated_ul_qdepth[HTT_NUM_AC_WMM];
    /* Per peer Manual 11ax UL OFDMA trigger and trigger error counts */
    A_UINT32 ax_manual_ulofdma_trig_count;
    A_UINT32 ax_manual_ulofdma_trig_err_count;
} htt_peer_ax_ofdma_stats_tlv;

typedef struct {
    htt_tlv_hdr_t tlv_hdr;
    A_UINT32 peer_id;
    /* Per peer Manual 11be UL OFDMA trigger and trigger error counts */
    A_UINT32 be_manual_ulofdma_trig_count;
    A_UINT32 be_manual_ulofdma_trig_err_count;
} htt_peer_be_ofdma_stats_tlv;


/* config_param0 */

#define HTT_DBG_EXT_PEER_CTRL_PATH_TXRX_STATS_IS_MAC_ADDR_M 0x00000001
@@ -1992,6 +2014,7 @@ typedef struct _htt_peer_stats {
    htt_tx_tid_stats_v1_tlv    tx_tid_stats_v1[1];
    htt_peer_sched_stats_tlv   peer_sched_stats;
    htt_peer_ax_ofdma_stats_tlv ax_ofdma_stats;
    htt_peer_be_ofdma_stats_tlv be_ofdma_stats;
} htt_peer_stats_t;

/* =========== ACTIVE PEER LIST ========== */
@@ -2510,6 +2533,14 @@ typedef struct {
    A_UINT32 standalone_ax_bsr_trigger_tried[HTT_NUM_AC_WMM];
    /** 11AX HE MU Standalone Freq. BSRP Trigger completed with error(s) */
    A_UINT32 standalone_ax_bsr_trigger_err[HTT_NUM_AC_WMM];
    /** 11AX HE Manual Single-User UL OFDMA Trigger frame sent over the air */
    A_UINT32 manual_ax_su_ulofdma_basic_trigger[HTT_NUM_AC_WMM];
    /** 11AX HE Manual Single-User UL OFDMA Trigger completed with error(s) */
    A_UINT32 manual_ax_su_ulofdma_basic_trigger_err[HTT_NUM_AC_WMM];
    /** 11AX HE Manual Multi-User UL OFDMA Trigger frame sent over the air */
    A_UINT32 manual_ax_mu_ulofdma_basic_trigger[HTT_NUM_AC_WMM];
    /** 11AX HE Manual Multi-User UL OFDMA Trigger completed with error(s) */
    A_UINT32 manual_ax_mu_ulofdma_basic_trigger_err[HTT_NUM_AC_WMM];
} htt_tx_selfgen_ax_stats_tlv;

typedef struct {
@@ -2557,6 +2588,14 @@ typedef struct {
    A_UINT32 standalone_be_bsr_trigger_tried[HTT_NUM_AC_WMM];
    /** 11BE EHT MU Standalone Freq. BSRP Trigger completed with error(s) */
    A_UINT32 standalone_be_bsr_trigger_err[HTT_NUM_AC_WMM];
    /** 11BE EHT Manual Single-User UL OFDMA Trigger frame sent over the air */
    A_UINT32 manual_be_su_ulofdma_basic_trigger[HTT_NUM_AC_WMM];
    /** 11BE EHT Manual Single-User UL OFDMA Trigger completed with error(s) */
    A_UINT32 manual_be_su_ulofdma_basic_trigger_err[HTT_NUM_AC_WMM];
    /** 11BE EHT Manual Multi-User UL OFDMA Trigger frame sent over the air */
    A_UINT32 manual_be_mu_ulofdma_basic_trigger[HTT_NUM_AC_WMM];
    /** 11BE EHT Manual Multi-User UL OFDMA Trigger completed with error(s) */
    A_UINT32 manual_be_mu_ulofdma_basic_trigger_err[HTT_NUM_AC_WMM];
} htt_tx_selfgen_be_stats_tlv;

typedef struct { /* DEPRECATED */
@@ -6245,9 +6284,12 @@ typedef struct {
     */
} htt_pdev_cca_stats_hist_v1_tlv;

#define HTT_TWT_SESSION_FLAG_FLOW_ID_M 0x0000ffff
#define HTT_TWT_SESSION_FLAG_FLOW_ID_M 0x0000000f
#define HTT_TWT_SESSION_FLAG_FLOW_ID_S 0

#define HTT_TWT_SESSION_FLAG_BTWT_PEER_CNT_M 0x0000fff0
#define HTT_TWT_SESSION_FLAG_BTWT_PEER_CNT_S 4

#define HTT_TWT_SESSION_FLAG_BCAST_TWT_M 0x00010000
#define HTT_TWT_SESSION_FLAG_BCAST_TWT_S 16

@@ -6267,6 +6309,16 @@ typedef struct {
        ((_var) |= ((_val) << HTT_TWT_SESSION_FLAG_FLOW_ID_S)); \
    } while (0)

#define HTT_TWT_SESSION_FLAG_BTWT_PEER_CNT_GET(_var) \
    (((_var) & HTT_TWT_SESSION_FLAG_BTWT_PEER_CNT_M) >> \
     HTT_TWT_SESSION_FLAG_BTWT_PEER_CNT_S)

#define HTT_TWT_SESSION_FLAG_BTWT_PEER_CNT_SET(_var, _val) \
    do { \
        HTT_CHECK_SET_VAL(HTT_TWT_SESSION_FLAG_BTWT_PEER_CNT, _val); \
        ((_var) |= ((_val) << HTT_TWT_SESSION_FLAG_BTWT_PEER_CNT_S)); \
    } while (0)

#define HTT_TWT_SESSION_FLAG_BCAST_TWT_GET(_var) \
    (((_var) & HTT_TWT_SESSION_FLAG_BCAST_TWT_M) >> \
     HTT_TWT_SESSION_FLAG_BCAST_TWT_S)
@@ -6972,6 +7024,7 @@ typedef enum {
    HTT_STATS_RC_MODE_DLMUMIMO = 1,
    HTT_STATS_RC_MODE_DLOFDMA  = 2,
    HTT_STATS_RC_MODE_ULMUMIMO = 3,
    HTT_STATS_RC_MODE_ULOFDMA  = 4,
} htt_stats_rc_mode;

typedef struct {
@@ -8820,5 +8873,36 @@ typedef struct {
    htt_pdev_bw_mgr_stats_tlv bw_mgr_tlv;
} htt_pdev_bw_mgr_stats_t;

typedef struct {
    A_UINT32 total_done;
    A_UINT32 trigger_requests_count;
    A_UINT32 total_trig_dropped;
    A_UINT32 umac_disengaged_count;
    A_UINT32 umac_soft_reset_count;
    A_UINT32 umac_engaged_count;
    A_UINT32 last_trigger_request_ms;
    A_UINT32 last_start_ms;
    A_UINT32 last_start_disengage_umac_ms;
    A_UINT32 last_enter_ssr_platform_thread_ms;
    A_UINT32 last_exit_ssr_platform_thread_ms;
    A_UINT32 last_start_engage_umac_ms;
    A_UINT32 last_done_successful_ms;
    A_UINT32 last_e2e_delta_ms;
    A_UINT32 max_e2e_delta_ms;
    A_UINT32 trigger_count_for_umac_hang;
    A_UINT32 trigger_count_for_mlo_quick_ssr;
    A_UINT32 trigger_count_for_unknown_signature;
    A_UINT32 post_reset_tqm_sync_cmd_completion_ms;
    A_UINT32 htt_sync_mlo_initiate_umac_recovery_ms;
    A_UINT32 htt_sync_do_pre_reset_ms;
    A_UINT32 htt_sync_do_post_reset_start_ms;
    A_UINT32 htt_sync_do_post_reset_complete_ms;
} htt_umac_ssr_stats_t;

typedef struct {
    htt_tlv_hdr_t tlv_hdr;
    htt_umac_ssr_stats_t stats;
} htt_umac_ssr_stats_tlv;


#endif /* __HTT_STATS_H__ */
+24 −7
Original line number Diff line number Diff line
@@ -149,7 +149,7 @@ typedef enum {
    MODE_11AX_HE80_2G = 23,
#endif

#if defined(SUPPORT_11BE) && SUPPORT_11BE
#if (defined(SUPPORT_11BE) && SUPPORT_11BE) || defined(SUPPORT_11BE_ROM)
    MODE_11BE_EHT20 = 24,
    MODE_11BE_EHT40 = 25,
    MODE_11BE_EHT80 = 26,
@@ -248,7 +248,7 @@ typedef enum {
        ((mode) == MODE_11AX_HE80_2G))
#endif /* SUPPORT_11AX */

#if defined(SUPPORT_11BE) && SUPPORT_11BE
#if (defined(SUPPORT_11BE) && SUPPORT_11BE) || defined(SUPPORT_11BE_ROM)
#define IS_MODE_EHT(mode) (((mode) == MODE_11BE_EHT20) || \
        ((mode) == MODE_11BE_EHT40)     || \
        ((mode) == MODE_11BE_EHT80)     || \
@@ -1763,11 +1763,17 @@ A_COMPILE_TIME_ASSERT(check_mlo_glb_per_chip_crash_info,
        (((sizeof(mlo_glb_per_chip_crash_info) % sizeof(A_UINT64) == 0x0))));

/** Helper macro for params GET/SET of mlo_glb_chip_crash_info */
#define MLO_SHMEM_CHIP_CRASH_INFO_PARAM_NO_OF_CHIPS_GET(chip_info) MLO_SHMEM_GET_BITS(chip_info, 0, 2)
#define MLO_SHMEM_CHIP_CRASH_INFO_PARAM_NO_OF_CHIPS_SET(chip_info, value) MLO_SHMEM_SET_BITS(chip_info, 0, 2, value)
#define MLO_SHMEM_CHIP_CRASH_INFO_PARAM_NO_OF_CHIPS_GET(chip_info) \
    (MLO_SHMEM_GET_BITS(chip_info, 0, 2) + \
     (MLO_SHMEM_GET_BITS(chip_info, 12, 4) << 2))
#define MLO_SHMEM_CHIP_CRASH_INFO_PARAM_NO_OF_CHIPS_SET(chip_info, value) \
    do { \
       MLO_SHMEM_SET_BITS(chip_info, 0, 2, ((value) & 0x03)); \
       MLO_SHMEM_SET_BITS(chip_info, 12, 4, ((value) >> 2)); \
} while (0)

#define MLO_SHMEM_CHIP_CRASH_INFO_PARAM_VALID_CHIP_BMAP_GET(chip_info) MLO_SHMEM_GET_BITS(chip_info, 2, 3)
#define MLO_SHMEM_CHIP_CRASH_INFO_PARAM_VALID_CHIP_BMAP_SET(chip_info, value) MLO_SHMEM_SET_BITS(chip_info, 2, 3, value)
#define MLO_SHMEM_CHIP_CRASH_INFO_PARAM_VALID_CHIP_BMAP_GET(chip_info) MLO_SHMEM_GET_BITS(chip_info, 2, 8)
#define MLO_SHMEM_CHIP_CRASH_INFO_PARAM_VALID_CHIP_BMAP_SET(chip_info, value) MLO_SHMEM_SET_BITS(chip_info, 2, 8, value)

typedef struct {
    /* TLV tag and len; tag equals MLO_SHMEM_TLV_STRUCT_MLO_GLB_CHIP_CRASH_INFO */
@@ -1778,7 +1784,18 @@ typedef struct {
     *
     * [1:0]:  no_of_chips
     * [4:2]:  valid_chip_bmap
     * [31:6]: reserved
     * For number of chips beyond 3, extension fields are added.
     * To maintain backward compatibility, with 3 chip board and
     * old host driver, valid chip bmap is extended in continuation from
     * existing bit 4 onwards, while extending no_of_chips information
     * would overlap with old valid_chip_bmap, hence extended from
     * bit 12:15. Now no_of_chip will have two parts, lower 2 bits from 0-1 and
     * upper 4 bits from 12-15. SET-GET macros are modified accordingly.
     * This helps in no change in respective processing files and don't need
     * to maintain two copy of information for backward compatibility.
     * [9:5]:  valid_chip_bmap_ext
     * [15:12]: no_of_chips_ext
     * [31:16]: reserved
     */
    A_UINT32 chip_info;
    /*  This TLV is followed by array of mlo_glb_per_chip_crash_info:
+1 −0
Original line number Diff line number Diff line
@@ -151,6 +151,7 @@ typedef enum {
  WLAN_MODULE_SCHED_ALGO_SAWF,          /* 0x6f */
  WLAN_MODULE_BAR,                      /* 0x70 */
  WLAN_MODULE_SMART_TX,                 /* 0x71 */
  WLAN_MODULE_BRIDGE_PEER,              /* 0x72 */


  WLAN_MODULE_ID_MAX,
Loading