Adding MLO timestamp offset reported from firmware to tsf time for
radiotap header.
Change-Id: I2947dacf6c37214e60d70fcb3df4a5f9897356ac
CRs-Fixed: 3211179
Add sanity check to avoid out of bound memory access
for protocol and flow tag update in monitor ring
CRs-Fixed: 3206715
Change-Id: Ie326137db8a6c9c1ee1faab69627ecd5eb51ad3e
Add cdp api to get accumulated pdev tid stats along with per tid
total tid rx and tx stats.
Change-Id: I7862c4265f199d0588d8865c5ed97e06010dd79f
CRs-Fixed: 3207499
Add support to get per pkt stats from MLD peer for primary link peer
only when user requests for link peer stats.
Change-Id: I6df0daa4a175cc5869012538294ed41ae2443e48
CRs-Fixed: 3203506
Currently, for kiwi, the tlv parsing from monitor
status buffer stops when it encounters MPDU_START
tlv. This happens since the return value after the
parsing of MPDU_START is not one amongst the allowed
return values for the tlv parsing to be continued.
Add MPDU_START tlv parsing return value to the allowed
return values, in order to continue the parsing of tlvs
from monitor status buffers.
Change-Id: I51cfecb7df8d8055a37e1b898419ec322dad63db
CRs-Fixed: 3203708
Add WAR to skip multiple ring entries in case if DMA is not
done for more than one entry in monitor status ring
CRs-Fixed: 3206692
Change-Id: Id24deb18d173e521efda38716244f375a409d7f5
In case Multi chip MLO configure same hash key for
all SOCs in MLO. This change is needed to avoid
same flow traffic distributed to multiple REOs.
Change-Id: Ib6cde4ae32e58ef2d45c02d640c133458f5bfac5
CRs-Fixed: 3201978
Fix below errors when the item DISABLE_MON_CONFIG is defined:
No return value for below two APIs:
dp_tx_mon_buf_refill() and dp_rx_mon_buf_refill()
CRs-Fixed: 3205083
Change-Id: If449616e30e75c23c7b25fb449a0ad8e501529aa
Change tx monitor ring sizes and make minor fix when getting the
number of entries.
Change-Id: Iec458d88948556f7007d4fa33bf082c8ee089064
CRs-Fixed: 3206170
Limit the desc pools such that the max ppt entries
do not cross limit for the hardware cookie conversion.
Change-Id: I9149b20bea0d72b466ef8c3e2ee9c0b536ffe24e
CRs-Fixed: 3201792
Add support to move FISA FST from DDR to CMEM, enable it for Kiwi
Adding CMEM support for FISA FST includes
1) Reserving CMEM memory space FISA FST
2) Add HAL macros for CMEM flow search entry
Change-Id: I45fc91a86c1ac89d3d95b246e26ea981314425a8
CRs-Fixed: 3199250
Define a new function to calculate HW delay so that same logic
can be used to calculate delay by other modules.
Change-Id: Id3740bcaa2cd558b89ab02d8e88d5947eb5997b1
CRs-Fixed: 3198305
There is init failure about monitor status ring after started CFR
capture. So extend num_rxdma_status_rings_per_pdev to 2 for KIWI
which is same to HSP.
Change-Id: Ic24d732957dc1991a3fca350aebe5f57d9b02577
CRs-Fixed: 3203678
HW Tx delay to be calculated in microseconds based on the timestamp
provided by HW. A new type of hist bucket is added for this delay.
Change-Id: I3cae5e78459f675b5ac7f670bdec950f9a62c78f
CRs-Fixed: 3202312
Rate limit the log in non-TQM Tx completion path and add a counter
to increment whenever Tx completion status is received and release source
is non-TQM.
Change-Id: I8968ccc7a499577bd4fdfaef78e6520b00c12503
CRs-Fixed: 3201403
In the case of NAWDS set the host inspected bit for
GSN based packets to avoid the FW reinjection.
Change-Id: Iee1653e9bebcd1ce6ef283a61d9c10a25b911a26
CRs-Fixed: 3203093
The original BA window size given from CP might > max DP supported,
add sanity check based on HAL target allowed.
Change-Id: Ibadaddeffe65165a89d580d8a5cbf5f7c724c809
CRs-Fixed: 3193852
Initially, 2K buffers (default) are allocated and Rx monitor ring fill
level is set to 2K at monitor soc attach and these buffers are used for
enhanced stats.
On monitor vap creation, additional 6K buffers are allocated and monitor
ring fill level is set to 8K.
On execution of wifi command after this, fill level is still set to 8K
and this results in monitor vap to operate with only 2K buffers.
Therefore add functionality to set the fill level to 2K (default) at
monitor soc init instead of monitor soc attach and also add sanity check
for num_req_buffers in the API dp_mon_buffers_replenish.
Change-Id: I0f4b269ab4ed05ed1f0223e3dc83d8675dab4860
CRs-Fixed: 3201411
-Some of the lite monitor enums can be used outside of
lite monitor feature, make such enums generic.
-Some enums are redundant, remove such enums and make use
of existing ones
Change-Id: I5125384ac5c4c55a57998fb5be5ee1ecb3e61147
CRs-Fixed: 3190754
Fetch the SAWF service_id and queue_id from per packet
metadata and populate on transmit descriptor.
Change-Id: Iba652c271b5b701e8af875805e59f0f224ace691
CRs-Fixed: 3194921
For reo_cmd ring, in current implementation, we call hal_srng_access_end
in case a descriptor is not available before baling out. This may cause
a write to the shadow register for the reo_cmd ring. In case we are in
the middle of WOW, this can be problematic.
Modify existing implementation to use hal_srng_access_end_reap, which
will not schedule a write to the register and simply return.
Change-Id: Ifb83d904e39b3d749522cd246a5ab3fe51a3104e
CRs-Fixed: 3194289
Add support to display tx/rx htt stats
related to SU Puncturing. The new stats
are su_punctured_modes, bw_ext
and mcs_ext_2.
Change-Id: I0260f7ea5fffa9206fff1052ef18b414c5de384b
CRs-Fixed: 3198040
During frequent channel changes in corner case we observe
that mpdu ppdu id does not match dest ring curring ppdu id.
Such mpdus are dropped. Add stats to count such dropped mpdus.
Change-Id: If52e81f4e718ce0d7f83a41f4f0121394525b9df
CRs-Fixed: 3144784
Fix the tx desc and mcuc buffer leak issue in case of
hw enqueue failure with ME5 enabled.
Change-Id: Ibd8f924e66a9d828940c6f599584763f1dfc59a6
CRs-Fixed: 3194095
Add fix for tx monitor double free and other minor fixes like updating
channel frequency and channel number if it wasn't fetched properly,
fetch protection address only if it is valid.
Change-Id: I184e08080a47b903176b9df0a192f0b5eb0b2750
CRs-Fixed: 3184727
Set per_tid_basize_max_tid so that BA size is configured per TID.
Accordingly fix dp_check_ba_buffersize to ba_window_size to incoming
buffer_size. Assert for any BA window size above 1024.
Change-Id: I40cb2aac012c50e253c3ef22d44cf5db3abfb7bb
CRs-Fixed: 3182601
Use microsecond timestamping for the tx descriptors
for capturing the latencies more accurately. It will help
to determine the appropriate bucket.
Change-Id: I216e083a7c89b01b6f2f384c1c0a85ca323d3a3e
CRs-Fixed: 3165153
With MLO enabled, Rx monitor receives the sw_peer_id in the following
format in MPDU_START_TLV:
+---------------------------------------------------------------------+
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
+---------------------------------------------------------------------+
| CHIP ID | ML | PEER ID |
+---------------------------------------------------------------------+
For MLO station, sw_peer_id received in MPDU_START_TLV corresponds
to MLD peer. But for Rx monitor framework, link peer makes relevance.
Therefore, fetch and update the sw_peer_id with link peer_id in the
received ppdu in Rx monitor.
Change-Id: I8ffc32856fd364edbcec2d98c3f9e1f0643d40d1
CRs-Fixed: 3190668
In VoIP cases, no or minimal packet drop is expected during
roaming. Currently, data packets are dropped in host if they
are received after roam sync indication from firmware and before
peer map indication is received due to invalid peer.
This change allows rx UDP data packets during roaming before
peer map indication is received from FW if peer's auth_status
received in roam_sync_indication from FW is authorised.
Change-Id: Ic518b7cd0aef48a2b0f8c923a2e20838b07f3d1f
CRs-Fixed: 3168603
add tags straight from ppdu_info to headrom for mpdu
tags are positioned per msdu_index within mpdu headroom.
Change-Id: I4863a7929ffd2e0a5d7f91f31ab6059f2b882de4
CRs-Fixed: 3183692
In QCN9224, when 11v DMS feature is enabled use
FW based DMS support instead of SW based WAR.
Change-Id: Icc5b9740f71bd00862e06950e4fe49c663d513b4
CRs-Fixed: 3182547
Currently, in case where AP advertizes BA window size
which is different than our max supported BA window size,
the HW gets configured for BA window size advertized by
the AP, whereas the ADDBA response indicates the window
size of the STA, which is less than the AP.
This mismatch leads to the BA bitmap to be incorrect.
Fix this by exposing an API from datapath for the update
of the final BA window size which is populated in the
ADDBA response.
Change-Id: I81a039f47a775990b426e9aca1daaaa9bdb6e88f
CRs-Fixed: 3187941
This is a WAR to match the TX_DESC_POOL size
to maximum number of VDEVs allowed.
Change-Id: I646a67ef2b611bea1ca5a6e2bf781a9454d409ed
CRs-Fixed: 3168359
In the case of target recovery avoid accessing of HW registers
during the VAP down.
Change-Id: I4061d75ec0c153710aaa99ab7414a96136ff22f5
CRs-Fixed: 3190730
For KIWI, STA AST index lookup search is enabled and remote
AP peer's AST index will be stored in STA Vdev if receive
AP peer htt peer map msg. but if STA TDLS connection happened,
host will receive another peer map msg for remote TDLS STA peer,
this remote TDLS STA peer's AST index will overwrite original AP's
AST index. if TDLS disconnected, STA vdev will still use remote
TDLS STA's AST index for TX, then TX to AP might fail.
Add is_tdls_peer flag in dp peer and configure this value by
cdp_peer_set_peer_as_tdls() from control path right after TDLS peer
created. if is_tdls_peer is true, do not store this TDLS peer's
AST index to STA Vdev, skip bss_peer flag setting as well.
Change-Id: I7b5df1caca6a0b5305a6e867cd92099b5f6a4890
CRs-Fixed: 3151035
Update TLV length in peer map handler to correctly point to the next TLV
header.
Change-Id: Ie60c62040cb35b60a3bfbd302a176294903c94e6
CRs-Fixed: 3183057