Browse Source

qcacmn: SAWF changes for waikiki

Fetch the SAWF service_id and queue_id from per packet
metadata and populate on transmit descriptor.

Change-Id: Iba652c271b5b701e8af875805e59f0f224ace691
CRs-Fixed: 3194921
syed touqeer pasha 3 years ago
parent
commit
7740da08ad
2 changed files with 16 additions and 6 deletions
  1. 7 6
      dp/wifi3.0/be/dp_be_tx.c
  2. 9 0
      dp/wifi3.0/be/dp_be_tx.h

+ 7 - 6
dp/wifi3.0/be/dp_be_tx.c

@@ -525,7 +525,7 @@ void dp_sawf_config_be(struct dp_soc *soc, uint32_t *hal_tx_desc_cached,
 {
 	uint8_t q_id = 0;
 
-	if (wlan_cfg_get_sawf_config(soc->wlan_cfg_ctx))
+	if (!wlan_cfg_get_sawf_config(soc->wlan_cfg_ctx))
 		return;
 
 	dp_sawf_tcl_cmd(fw_metadata, nbuf);
@@ -533,12 +533,13 @@ void dp_sawf_config_be(struct dp_soc *soc, uint32_t *hal_tx_desc_cached,
 
 	if (q_id == DP_SAWF_DEFAULT_Q_INVALID)
 		return;
-
-	hal_tx_desc_set_hlos_tid(hal_tx_desc_cached, (q_id & 0x0e) >> 1);
-	hal_tx_desc_set_flow_override_enable(hal_tx_desc_cached, 1);
-	hal_tx_desc_set_flow_override(hal_tx_desc_cached, q_id & 0x1);
+	hal_tx_desc_set_hlos_tid(hal_tx_desc_cached, DP_TX_HLOS_TID_GET(q_id));
+	hal_tx_desc_set_flow_override_enable(hal_tx_desc_cached,
+					     DP_TX_FLOW_OVERRIDE_ENABLE);
+	hal_tx_desc_set_flow_override(hal_tx_desc_cached,
+				      DP_TX_FLOW_OVERRIDE_GET(q_id));
 	hal_tx_desc_set_who_classify_info_sel(hal_tx_desc_cached,
-					      (q_id & 0x30) >> 4);
+					      DP_TX_WHO_CLFY_INF_SEL_GET(q_id));
 }
 
 #else

+ 9 - 0
dp/wifi3.0/be/dp_be_tx.h

@@ -37,6 +37,15 @@ struct __attribute__((__packed__)) dp_tx_comp_peer_id {
 /* Invalid TX Bank ID value */
 #define DP_BE_INVALID_BANK_ID -1
 
+/* Extraction of msdu queue information from per packet sawf metadata */
+#define DP_TX_HLOS_TID_GET(_var) \
+	(((_var) & 0x0e) >> 1)
+#define DP_TX_FLOW_OVERRIDE_GET(_var) \
+	((_var) & 0x1)
+#define DP_TX_WHO_CLFY_INF_SEL_GET(_var) \
+	(((_var) & 0x30) >> 4)
+#define DP_TX_FLOW_OVERRIDE_ENABLE 0x1
+
 /**
  * dp_tx_hw_enqueue_be() - Enqueue to TCL HW for transmit for BE target
  * @soc: DP Soc Handle