Ver Fonte

qcacmn: Add manual ulofdma trigger bit in rx ppdu user stats

Extract manual ulofdma trigger bit as part of rx ppdu stats per user
update process

Change-Id: I2a697f91e572f88a36f96085d15c90c679deaf0c
CRs-Fixed: 3418677
Narayan Subramhanyan há 2 anos atrás
pai
commit
4c942e661a

+ 8 - 1
dp/inc/cdp_txrx_cmn_struct.h

@@ -2496,6 +2496,7 @@ struct cdp_tx_completion_msdu {
  * @ofdma_ru_width: size of RU in units of 1(26tone)RU
  * @nss: NSS 1,2, ...8
  * @mcs: MCS index
+ * @is_manual_ulofdma_trig: manual ulofdma trig or not?
  * @user_index: user ID in multi-user case
  * @is_bss_peer: is bss peer check
  * @ast_index: ast index in multi-user case
@@ -2534,7 +2535,13 @@ struct cdp_rx_stats_ppdu_user {
 		 ofdma_ru_start_index:7,
 		 ofdma_ru_width:7,
 		 nss:4,
-		 mcs:4;
+		 mcs:4,
+#ifdef QCA_MANUAL_TRIGGERED_ULOFDMA
+		 is_manual_ulofdma_trig:1,
+		 reserved:8;
+#else
+		 reserved:9;
+#endif
 	/* user id */
 	uint8_t  user_index;
 	uint8_t is_bss_peer;

+ 20 - 0
dp/wifi3.0/monitor/dp_rx_mon.c

@@ -398,6 +398,23 @@ dp_rx_inc_rusize_cnt(struct dp_pdev *pdev,
 	return is_data;
 }
 
+#ifdef QCA_MANUAL_TRIGGERED_ULOFDMA
+static inline void
+dp_rx_update_manual_ulofdma_trig(struct mon_rx_user_status *rx_user_status,
+				 struct cdp_rx_stats_ppdu_user *user)
+{
+	user->is_manual_ulofdma_trig =
+		HTT_UL_OFDMA_USER_INFO_V0_W0_MANUAL_ULOFDMA_TRIG_GET(
+		rx_user_status->mu_ul_user_v0_word0);
+}
+#else
+static inline void
+dp_rx_update_manual_ulofdma_trig(struct mon_rx_user_status *rx_user_status,
+				 struct cdp_rx_stats_ppdu_user *user)
+{
+}
+#endif
+
 /**
  * dp_rx_populate_cdp_indication_ppdu_user() - Populate per user cdp indication
  * @pdev: pdev ctx
@@ -502,6 +519,9 @@ dp_rx_populate_cdp_indication_ppdu_user(struct dp_pdev *pdev,
 		rx_stats_peruser->vdev_id = peer->vdev->vdev_id;
 		rx_stats_peruser->mu_ul_info_valid = 0;
 
+		dp_rx_update_manual_ulofdma_trig(rx_user_status,
+						 rx_stats_peruser);
+
 		mon_ops = dp_mon_ops_get(soc);
 		if (mon_ops && mon_ops->mon_rx_populate_ppdu_usr_info)
 			mon_ops->mon_rx_populate_ppdu_usr_info(rx_user_status,

+ 1 - 1
hal/wifi3.0/be/hal_be_api_mon.h

@@ -746,7 +746,7 @@ hal_be_get_mon_dest_status(hal_soc_handle_t hal_soc,
 }
 #endif
 
-#if defined(RX_PPDU_END_USER_STATS_OFDMA_INFO_VALID_OFFSET) && \
+#if defined(RX_PPDU_END_USER_STATS_SW_RESPONSE_REFERENCE_PTR_OFFSET) && \
 defined(RX_PPDU_END_USER_STATS_SW_RESPONSE_REFERENCE_PTR_EXT_OFFSET)
 
 static inline void