qcacmn: optimization changes to improve RX KPI for WIN

done the following changes to improve the RX path KPI
	1. remove the extra invalidate in RX path as
	we no longer dirty the RX TLV cache lines.
	we now store the rx error codes in nbuf cb instead
	of RX TLVs reserved memory bytes.

	2. with features like flow tag and wds extended mode
	enabled by default, the rx_fast_flag is always set
       	to false, this resulted	in lot more instructions
       	being executed in RX path.
	Now we ensured this flag is at least set for other
	features which are not enabled by default.

Change-Id: I04c6bdc52a2b3f1248b822a108d8bd1a70abcc7c
CRs-Fixed: 3406505
Šī revīzija ir iekļauta:
Tallapragada Kalyan
2023-03-19 18:08:18 +05:30
revīziju iesūtīja Madan Koyyalamudi
vecāks 45da3822ae
revīzija e4798ea69b
6 mainīti faili ar 60 papildinājumiem un 53 dzēšanām

Parādīt failu

@@ -1329,13 +1329,8 @@ void dp_pdev_update_fast_rx_flag(struct dp_soc *soc, struct dp_pdev *pdev)
struct dp_vdev *vdev = NULL;
uint8_t rx_fast_flag = true;
if (wlan_cfg_is_rx_flow_tag_enabled(soc->wlan_cfg_ctx)) {
rx_fast_flag = false;
goto update_flag;
}
/* Check if protocol tagging enable */
if (pdev->is_rx_protocol_tagging_enabled) {
if (pdev->is_rx_protocol_tagging_enabled && !pdev->enhanced_stats_en) {
rx_fast_flag = false;
goto update_flag;
}
@@ -1359,12 +1354,6 @@ void dp_pdev_update_fast_rx_flag(struct dp_soc *soc, struct dp_pdev *pdev)
rx_fast_flag = false;
break;
}
/* Check if any VDEV has WDS ext enabled */
if (dp_vdev_is_wds_ext_enabled(vdev)) {
rx_fast_flag = false;
break;
}
}
qdf_spin_unlock_bh(&pdev->vdev_list_lock);