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
This commit is contained in:
syed touqeer pasha
2022-03-25 13:03:28 +05:30
committed by Madan Koyyalamudi
parent 751084e7f8
commit 7740da08ad
2 changed files with 16 additions and 6 deletions

View File

@@ -525,7 +525,7 @@ void dp_sawf_config_be(struct dp_soc *soc, uint32_t *hal_tx_desc_cached,
{ {
uint8_t q_id = 0; 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; return;
dp_sawf_tcl_cmd(fw_metadata, nbuf); 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) if (q_id == DP_SAWF_DEFAULT_Q_INVALID)
return; return;
hal_tx_desc_set_hlos_tid(hal_tx_desc_cached, DP_TX_HLOS_TID_GET(q_id));
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,
hal_tx_desc_set_flow_override_enable(hal_tx_desc_cached, 1); DP_TX_FLOW_OVERRIDE_ENABLE);
hal_tx_desc_set_flow_override(hal_tx_desc_cached, q_id & 0x1); 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, 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 #else

View File

@@ -37,6 +37,15 @@ struct __attribute__((__packed__)) dp_tx_comp_peer_id {
/* Invalid TX Bank ID value */ /* Invalid TX Bank ID value */
#define DP_BE_INVALID_BANK_ID -1 #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 * dp_tx_hw_enqueue_be() - Enqueue to TCL HW for transmit for BE target
* @soc: DP Soc Handle * @soc: DP Soc Handle