qcacmn: Support MU in tx capture mode
Support fix for MU related data frame in tx capture mode. Change-Id: I8b63eaf320463a3a068beb589089582cafe05001 CRs-Fixed: 2656346
This commit is contained in:
@@ -1503,6 +1503,8 @@ struct cdp_tx_sojourn_stats {
|
||||
* @is_mcast: MCAST or UCAST
|
||||
* @user_pos: user position
|
||||
* @mu_group_id: mu group id
|
||||
* @ppdu_start_timestamp: 64 bits ppdu start timestamp
|
||||
* @ppdu_end_timestamp: 64 bits ppdu end timestamp
|
||||
*/
|
||||
struct cdp_delayed_tx_completion_ppdu_user {
|
||||
uint32_t frame_ctrl:16,
|
||||
@@ -1526,6 +1528,8 @@ struct cdp_delayed_tx_completion_ppdu_user {
|
||||
bool is_mcast;
|
||||
uint32_t user_pos;
|
||||
uint32_t mu_group_id;
|
||||
uint64_t ppdu_start_timestamp;
|
||||
uint64_t ppdu_end_timestamp;
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -1561,6 +1565,7 @@ struct cdp_delayed_tx_completion_ppdu_user {
|
||||
* @dcm: dcm
|
||||
* @ldpc: ldpc
|
||||
* @delayed_ba: delayed ba bit
|
||||
* @ack_ba_tlv: ack ba recv tlv bit
|
||||
* @ppdu_type: SU/MU_MIMO/MU_OFDMA/MU_MIMO_OFDMA/UL_TRIG/BURST_BCN/UL_BSR_RESP/
|
||||
* UL_BSR_TRIG/UNKNOWN
|
||||
* @ba_seq_no: Block Ack sequence number
|
||||
@@ -1584,6 +1589,11 @@ struct cdp_delayed_tx_completion_ppdu_user {
|
||||
* @sa_goodput: smart antenna tx feedback info goodput
|
||||
* @current_rate_per: Moving average per
|
||||
* @last_enq_seq: last equeue sequence number
|
||||
* @mpdu_q: queue of mpdu in a ppdu
|
||||
* @mpdus: MPDU list based on enqueue sequence bitmap
|
||||
* @pending_retries: pending MPDUs (retries)
|
||||
* @tlv_bitmap: per user tlv bitmap
|
||||
* @skip: tx capture skip flag
|
||||
*/
|
||||
struct cdp_tx_completion_ppdu_user {
|
||||
uint32_t completion_status:8,
|
||||
@@ -1620,7 +1630,8 @@ struct cdp_tx_completion_ppdu_user {
|
||||
gi:4,
|
||||
dcm:1,
|
||||
ldpc:1,
|
||||
delayed_ba:1;
|
||||
delayed_ba:1,
|
||||
ack_ba_tlv:1;
|
||||
uint32_t ba_seq_no;
|
||||
uint32_t ba_bitmap[CDP_BA_256_BIT_MAP_SIZE_DWORDS];
|
||||
uint32_t start_seq;
|
||||
@@ -1669,6 +1680,12 @@ struct cdp_tx_completion_ppdu_user {
|
||||
*/
|
||||
uint32_t current_rate_per;
|
||||
uint32_t last_enq_seq;
|
||||
|
||||
qdf_nbuf_queue_t mpdu_q;
|
||||
qdf_nbuf_t *mpdus;
|
||||
uint32_t pending_retries;
|
||||
uint32_t tlv_bitmap;
|
||||
bool skip;
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -1713,6 +1730,7 @@ struct cdp_tx_completion_ppdu_user {
|
||||
* @long_retries: long retries
|
||||
* @short_retries: short retries
|
||||
* @completion_status: completion status - OK/Filter/Abort/Timeout
|
||||
* @usr_idx: user index
|
||||
*/
|
||||
struct cdp_tx_indication_mpdu_info {
|
||||
uint32_t ppdu_id;
|
||||
@@ -1750,6 +1768,7 @@ struct cdp_tx_indication_mpdu_info {
|
||||
mprot_type:3,
|
||||
rts_success:1,
|
||||
rts_failure:1;
|
||||
uint8_t usr_idx;
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -1786,7 +1805,6 @@ struct cdp_tx_mgmt_comp_info {
|
||||
* @vdev_id: VAP Id
|
||||
* @bar_num_users: BA response user count, based on completion common TLV
|
||||
* @num_users: Number of users
|
||||
* @pending_retries: pending MPDUs (retries)
|
||||
* @drop_reason: drop reason from flush status
|
||||
* @is_flush: is_flush is set based on flush tlv
|
||||
* @flow_type: tx flow type from flush status
|
||||
@@ -1813,12 +1831,12 @@ struct cdp_tx_mgmt_comp_info {
|
||||
* @doppler: value for doppler (will be 0 most of the times)
|
||||
* @spatial_reuse: value for spatial reuse used in radiotap HE header
|
||||
* @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
|
||||
* @bar_ppdu_id: BAR ppdu_id
|
||||
* @bar_tx_duration: BAR tx duration
|
||||
* @bar_ppdu_start_timestamp: BAR start timestamp
|
||||
* @bar_ppdu_end_timestamp: BAR end timestamp
|
||||
* @tlv_bitmap: tlv_bitmap for the PPDU
|
||||
* @sched_cmdid: schedule command id
|
||||
*/
|
||||
struct cdp_tx_completion_ppdu {
|
||||
uint32_t ppdu_id;
|
||||
@@ -1827,7 +1845,6 @@ struct cdp_tx_completion_ppdu {
|
||||
uint16_t bar_num_users;
|
||||
uint32_t num_users;
|
||||
uint8_t last_usr_index;
|
||||
uint32_t pending_retries;
|
||||
uint32_t drop_reason;
|
||||
uint32_t is_flush:1,
|
||||
flow_type:8,
|
||||
@@ -1854,12 +1871,12 @@ struct cdp_tx_completion_ppdu {
|
||||
uint8_t doppler;
|
||||
uint8_t spatial_reuse;
|
||||
struct cdp_tx_completion_ppdu_user user[CDP_MU_MAX_USERS];
|
||||
qdf_nbuf_queue_t mpdu_q;
|
||||
qdf_nbuf_t *mpdus;
|
||||
uint32_t bar_ppdu_id;
|
||||
uint32_t bar_tx_duration;
|
||||
uint32_t bar_ppdu_start_timestamp;
|
||||
uint32_t bar_ppdu_end_timestamp;
|
||||
uint32_t tlv_bitmap;
|
||||
uint16_t sched_cmdid;
|
||||
};
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user