qcacmn: Support SW retries in Tx capture

Changes to include SW retries in Tx capture.

Change-Id: I2bee277107356a6dca6f8a6cc52cded73aca6c7a
diff --git a/dp/inc/cdp_txrx_cmn_struct.h b/dp/inc/cdp_txrx_cmn_struct.h
index c1ab0fd..291448d 100644
--- a/dp/inc/cdp_txrx_cmn_struct.h
+++ b/dp/inc/cdp_txrx_cmn_struct.h
@@ -1272,6 +1272,7 @@
  * @completion_status: completion status - OK/Filter/Abort/Timeout
  * @tid: TID number
  * @peer_id: Peer ID
+ * @ba_size: Block-Ack size
  * @frame_ctrl: frame control field in 802.11 header
  * @qos_ctrl: QoS control field in 802.11 header
  * @mpdu_tried: number of mpdus tried
@@ -1321,12 +1322,14 @@
  * @sa_max_rates: smart antenna tx feedback info max rates
  * @sa_goodput: smart antenna tx feedback info goodput
  * @current_rate_per: Moving average per
+ * @last_enq_seq: last equeue sequence number
  */
 struct cdp_tx_completion_ppdu_user {
 	uint32_t completion_status:8,
 		 tid:8,
 		 peer_id:16;
 	uint8_t mac_addr[6];
+	uint16_t ba_size;
 	uint32_t frame_ctrl:16,
 		 qos_ctrl:16;
 	uint32_t mpdu_tried_ucast:16,
@@ -1404,6 +1407,7 @@
 	 * of no use. It is just for Host computation.
 	 */
 	uint32_t current_rate_per;
+	uint32_t last_enq_seq;
 };
 
 /**
@@ -1491,6 +1495,7 @@
  * @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)
  * @num_mpdu: Number of MPDUs in PPDU
  * @num_msdu: Number of MSDUs in PPDU
  * @frame_type: frame SU or MU
@@ -1504,6 +1509,7 @@
  * @delayed_ba: Delayed ba flag
  * @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
  */
 struct cdp_tx_completion_ppdu {
 	uint32_t ppdu_id;
@@ -1512,6 +1518,7 @@
 	uint16_t bar_num_users;
 	uint32_t num_users;
 	uint8_t last_usr_index;
+	uint32_t pending_retries;
 	uint32_t num_mpdu:9,
 		 num_msdu:16;
 	uint16_t frame_type;
@@ -1526,6 +1533,7 @@
 	bool delayed_ba;
 	struct cdp_tx_completion_ppdu_user user[CDP_MU_MAX_USERS];
 	qdf_nbuf_queue_t mpdu_q;
+	qdf_nbuf_t *mpdus;
 };
 
 /**
diff --git a/dp/wifi3.0/dp_htt.c b/dp/wifi3.0/dp_htt.c
index c87f4ff..b73d4bc 100644
--- a/dp/wifi3.0/dp_htt.c
+++ b/dp/wifi3.0/dp_htt.c
@@ -2500,6 +2500,7 @@
 	ppdu_user_desc->ba_seq_no = dp_stats_buf->ba_seq_no;
 	qdf_mem_copy(&ppdu_user_desc->ba_bitmap, &dp_stats_buf->ba_bitmap,
 		     sizeof(uint32_t) * CDP_BA_64_BIT_MAP_SIZE_DWORDS);
+	ppdu_user_desc->ba_size = CDP_BA_64_BIT_MAP_SIZE_DWORDS * 32;
 }
 
 /*
@@ -2540,6 +2541,7 @@
 	ppdu_user_desc->ba_seq_no = dp_stats_buf->ba_seq_no;
 	qdf_mem_copy(&ppdu_user_desc->ba_bitmap, &dp_stats_buf->ba_bitmap,
 		     sizeof(uint32_t) * CDP_BA_256_BIT_MAP_SIZE_DWORDS);
+	ppdu_user_desc->ba_size = CDP_BA_256_BIT_MAP_SIZE_DWORDS * 32;
 }
 
 /*
diff --git a/dp/wifi3.0/dp_types.h b/dp/wifi3.0/dp_types.h
index 068bdd0..d427ce6 100644
--- a/dp/wifi3.0/dp_types.h
+++ b/dp/wifi3.0/dp_types.h
@@ -1318,6 +1318,7 @@
  * @last_msdu          - last msdu indication
  * @msdu_part_of_amsdu - msdu part of amsdu
  * @transmit_cnt       - retried count
+ * @status             - transmit status
  * @tsf                - timestamp which it transmitted
  */
 struct msdu_completion_info {
@@ -1328,6 +1329,7 @@
 		last_msdu:1,
 		msdu_part_of_amsdu:1;
 	uint8_t transmit_cnt;
+	uint8_t status;
 	uint32_t tsf;
 };