qcacmn: add ppdu_desc to cdp_tx_indication_info

ppdu_desc contains more information that is relevant to radiotap.

Change-Id: Ie2d0d53027958edf0a1032b270b7a8339b849924
This commit is contained in:
Ruben Columbus
2019-11-22 11:26:25 -08:00
committed by nshrivas
parent 0e00776f45
commit 1bec34c1e4
6 changed files with 107 additions and 0 deletions

View File

@@ -154,6 +154,36 @@
#define FILTER_DATA_DATA 0x0001
#define FILTER_DATA_NULL 0x0008
/*
* Multiply rate by 2 to avoid float point
* and get rate in units of 500kbps
*/
#define CDP_11B_RATE_0MCS (11 * 2)
#define CDP_11B_RATE_1MCS (5.5 * 2)
#define CDP_11B_RATE_2MCS (2 * 2)
#define CDP_11B_RATE_3MCS (1 * 2)
#define CDP_11B_RATE_4MCS (11 * 2)
#define CDP_11B_RATE_5MCS (5.5 * 2)
#define CDP_11B_RATE_6MCS (2 * 2)
#define CDP_11A_RATE_0MCS (48 * 2)
#define CDP_11A_RATE_1MCS (24 * 2)
#define CDP_11A_RATE_2MCS (12 * 2)
#define CDP_11A_RATE_3MCS (6 * 2)
#define CDP_11A_RATE_4MCS (54 * 2)
#define CDP_11A_RATE_5MCS (36 * 2)
#define CDP_11A_RATE_6MCS (18 * 2)
#define CDP_11A_RATE_7MCS (9 * 2)
#define CDP_LEGACY_MCS0 0
#define CDP_LEGACY_MCS1 1
#define CDP_LEGACY_MCS2 2
#define CDP_LEGACY_MCS3 3
#define CDP_LEGACY_MCS4 4
#define CDP_LEGACY_MCS5 5
#define CDP_LEGACY_MCS6 6
#define CDP_LEGACY_MCS7 7
QDF_DECLARE_EWMA(tx_lag, 1024, 8)
struct cdp_stats_cookie;
@@ -166,6 +196,32 @@ enum cdp_cfg_param_type {
CDP_CFG_NUM_PARAMS
};
/*
* PPDU TYPE from FW -
* @CDP_PPDU_STATS_PPDU_TYPE_SU: single user type
* @CDP_PPDU_STATS_PPDU_TYPE_MU_MIMO: multi user mu-mimo
* @CDP_PPDU_STATS_PPDU_TYPE_MU_OFDMA: multi user ofdma
* @CDP_PPDU_STATS_PPDU_TYPE_MU_MIMO_OFDMA: multi user mu-mimo ofdma
* @CDP_PPDU_STATS_PPDU_TYPE_UL_TRIG: ul trigger ppdu
* @CDP_PPDU_STATS_PPDU_TYPE_BURST_BCN: burst beacon
* @CDP_PPDU_STATS_PPDU_TYPE_UL_BSR_RESP: bsr respond
* @CDP_PPDU_STATS_PPDU_TYPE_UL_BSR_TRIG: bsr trigger
* @CDP_PPDU_STATS_PPDU_TYPE_UL_RESP: ul response
* @CDP_PPDU_STATS_PPDU_TYPE_UNKNOWN
*/
enum CDP_PPDU_STATS_PPDU_TYPE {
CDP_PPDU_STATS_PPDU_TYPE_SU = 0,
CDP_PPDU_STATS_PPDU_TYPE_MU_MIMO = 1,
CDP_PPDU_STATS_PPDU_TYPE_MU_OFDMA = 2,
CDP_PPDU_STATS_PPDU_TYPE_MU_MIMO_OFDMA = 4,
CDP_PPDU_STATS_PPDU_TYPE_UL_TRIG = 5,
CDP_PPDU_STATS_PPDU_TYPE_BURST_BCN = 6,
CDP_PPDU_STATS_PPDU_TYPE_UL_BSR_RESP = 7,
CDP_PPDU_STATS_PPDU_TYPE_UL_BSR_TRIG = 8,
CDP_PPDU_STATS_PPDU_TYPE_UL_RESP = 9,
CDP_PPDU_STATS_PPDU_TYPE_UNKNOWN = 0x1F,
};
/*
* htt_dbg_stats_type -
* bit positions for each stats type within a stats type bitmask
@@ -1495,10 +1551,12 @@ struct cdp_tx_indication_mpdu_info {
* struct cdp_tx_indication_info - Tx capture information
* @mpdu_info: Tx MPDU completion information
* @mpdu_nbuf: reconstructed mpdu packet
* @ppdu_desc: tx completion ppdu
*/
struct cdp_tx_indication_info {
struct cdp_tx_indication_mpdu_info mpdu_info;
qdf_nbuf_t mpdu_nbuf;
struct cdp_tx_completion_ppdu *ppdu_desc;
};
/**
@@ -1545,6 +1603,8 @@ struct cdp_tx_mgmt_comp_info {
* @ppdu_end_timestamp: TSF at PPDU end
* @ack_timestamp: TSF at the reception of ACK
* @delayed_ba: Delayed ba flag
* @beam_change: beam change bit in ppdu for he-information
* @bss_color: 6 bit value for full bss color
* @user: per-User stats (array of per-user structures)
* @mpdu_q: queue of mpdu in a ppdu
* @mpdus: MPDU list based on enqueue sequence bitmap
@@ -1582,6 +1642,8 @@ struct cdp_tx_completion_ppdu {
uint64_t ppdu_end_timestamp;
uint64_t ack_timestamp;
bool delayed_ba;
uint8_t beam_change;
uint8_t bss_color;
struct cdp_tx_completion_ppdu_user user[CDP_MU_MAX_USERS];
qdf_nbuf_queue_t mpdu_q;
qdf_nbuf_t *mpdus;