Add ring id info in TX HW descriptor event history,
this helps to map history event to corresponding HW TX
ring in multi TX queue enabled case.
Change-Id: I82dcece76b1342f4086d489ba489da7c20ea6cad
CRs-Fixed: 3294177
Compilation is failing when Monitor support is disabled
Moved monitor related API and structure to monitor header files.
CRs-Fixed: 3257872
Change-Id: Ie1b3dc16b38c88bfd73fc89aaa395d4b57a61e5c
Add framework to use different RX hash values and ring masks
for ML and non-ML peers
Change-Id: I098cb50b8873eb137ce096011d01a5c21aaf854f
CRs-Fixed: 3269916
This is a new FAST TX API which avoids various checks.
This API will be called when SFE tags a pkt as fast_forwarded
and vap's fast_tx flag is set.
avoid additional re-checks in the wifi TX function
CRs-Fixed: 3218650
Change-Id: Iba17ede59652a1ff2af553f57de21dc58946298e
Use WLAN_CONFIG_TX_DELAY to enable HW Tx delay for both
SAWF and non-SAWF stats.
Change-Id: I6db7d386c0e3654f53398dcba1db7c5568544b0c
CRs-Fixed: 3262425
Currently while sending nbuf to rx fate logs
we are not removing rx tlv before sending nbuf
to logger which is causing issue of incorrect
packet type issue.
To Fix issue make changes to make sure that
rx tlv is removed and nbuf length is set
Change-Id: Ib56c8e009398b3410c43be910feb4048bfb06b54
CRs-Fixed: 3241828
Duplicate X times of RX packet before delivering to stack, if OTA
RX T-put is 100 Mbps and try to simulate 200 Mbps RX T-put,
duplicate extra 1 time RX packets, this is aimed to test
driver/stack RX capability.
Change-Id: Iaf4db05d0ec0e0cda5fac19fa63b9d3133270847
CRs-Fixed: 3132743
There is a possibility where host can receive invalid SW cookie
from Rx rel ring which causes invalid rx descriptor access in
dp_rx_wbm_err_process().
Add a sanity check on received SW cookie to prevent the invalid
rx descriptor access.
Change-Id: I7818290466a2a8cea9938577fbf869d1fc30d5e3
CRs-Fixed: 3240038
- Add support to compute HW Tx completion delay on WKK
- Define arch op to calculate delay
Change-Id: I82567cc781e90fe01dc5a0edfffacd4cde73f652
CRs-Fixed: 3220911
Add packet logging support by registering
Rx and Tx callback functions for packet logging of
initial 32 Tx and Rx packets.
Change-Id: I91b59b7c5f65f505e3ee730c497347be28955128
CRs-Fixed: 3224881
With restructuring in HIF runtime PM module, modules are
required to register with the HIF runtime PM module. Also,
changes are done in functions of allowing and preventing
runtime PM suspend as part of restructuring.
This change registers DP, HTC and HAL internal modules
with runtime PM module and update HIF runtime PM function
calls with the restructured code of HIF runtime PM module.
Change-Id: I8899a1d3b92a90a05c5eaf4df7609f4008f739f8
CRs-Fixed: 3169372
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
When TX completion is released from FW, dp_tx_notify_completion()
will not be invoked, then TX DCHP ACK will miss
hdd_softap_notify_tx_compl_cbk() which then
WMI_PEER_CRIT_PROTO_HINT_ENABLED with value 0 will not send to FW.
(1) move dp_tx_notify_completion() from dp_tx_comp_process_desc_list()
to dp_tx_comp_process_tx_status(), so that both TX completion release
source FW or TQM case will call it.
(2) clear TX notify flag for intra-bss forwarding BC/MC to avoid
unnecessary TX completion notify.
(3) Set ts.status for release source FW case otherwise it will be value
0 always.
Change-Id: I2bf9900a3d16ba162a83b061f0b96e7d2f79423a
CRs-Fixed: 3178423
This feature can be enabled runtime using sysfs interface.
Support is added to dump and clear the histogram stats.
The lower delay regions has to be more granular to indicate any
medium related issues for time sensitive XR applications.
Change-Id: I0a44a54d12d92ce016de349810cb2bedebaf9a58
CRs-Fixed: 2981006
get_log_timestamp API is being called unconditionally when passed as
an argument to dp_pkt_add_timestamp (even for empty calls) from
dp_tx_hw_enqueue_li. This adds significant load on CPU, hence avoid
get_log_timestamp call by using preprocessor directive.
Change-Id: I1d988597e28b755a767a267d1b578b2bcedc324e
CRs-Fixed: 3150795
Add support to change the tx_desc value to 65536. Some changes
to make the function argument as u32 type us made
Change-Id: I7cbde1b7ed4ab4e278c25c1ecfa94b7f673197f2
CRs-Fixed: 3130833
Currently HW TX queue HP value is updated for every TSO segment enqueue,
as a part of optimization update HP only for the last segment.
Change-Id: Ibe349a1e6f55932bf780e1f755f13841078a493f
CRs-Fixed: 3138142
Add feature support to tag first packet that wakes up HOST from WoW.
rx_pkt_tlv.rx_msdu_end.reserved_1a field is used by TARGET to meet
such request.
Change-Id: I3d37e13e8cff49bc4f622d3070a19e4c4be56417
CRs-Fixed: 3137621
Ageout flush does not happen for WBM2SW4 if there
is only one TX completion pending in FIFO and all the
other WBM release rings are not active. This is due to
an issue in HW and this prevents suspend to happen due
to pending tx completions.
Fix is to avoid using WBM2SW4 release ring and instead
reuse WBM2SW0.
Change-Id: I250d8c9d460895449939212ebdb7abd62edb0234
CRs-Fixed: 3124733
Initialize txrx_ref_handle for whunt bypass,
Which is complaining use of uninitialized txrx_ref_handle,
as it is not able to detect that txrx_ref_handle is
populated from another API.
Change-Id: I0f69cf4c8442a5655559622a5825d7af35b9ae5e
CRs-Fixed: 3127788
Move the stats parameters from the dp_peer which are used
in per packet path to txrx_peer
Change-Id: Ieb68b6950740791b37bbd2bfdc4815c3d7bc4834
CRs-Fixed: 3095637
Add support to update tsf timestamp on driver entry and
exit in data packet. This helps debug latency issue in
XR usecases
Change-Id: I9c966c1b8cb09dc5eab6104fdad36c19a1d68045
CRs-Fixed: 3090108
simple Alloc is being used in RX path which avoids
certain debug logic. during free of nbuf we should
avoid this debug logic else it will report it as
double free, this will be triggered only when debug
is enabled
Change-Id: Iadb40071fb733cc4de3291784df5075d5a099a8e
In WIN BE chipsets, replace the REO tid
queue programming in FW via WMI with writing to a
Host managed table shared by HW and SW. REO HW will
pick the tid queue address from the table indexed by
peer id and tid number.
Change-Id: I8107ca5116425538329b11ae3519f02b32573bac
Enable the 4th Tx. completion ring to save CPU load
Initialization and interrupt handling for 4th completion ring
is done here.
Change-Id: I2db27218a3c3e14d719d012f03454a6a7aa647fe
1. avoid accessing CFG parameter in per pkt path.
2. Access peer, vdev and pdev only when current peer_id
is different from previous peer_id.
3. Avoid HKv1 and v2 checks in WDS learning path.
Change-Id: Id7fb7a29c642480f8ca58738dbb0c92130e44ecd
Tx descriptor is not being freed and put back in tx desc
pool for a long time. As a result, system is not going
into suspended state.
To find this descriptor, during dp_bus_suspend and
dp_runtime_suspend, parse through the descriptor pool to
check for any descriptors not freed for a long and trigger
self recovery when found.
Change-Id: Id97c5c8537c9bec922f4e254b5bf094505ee61ff
CRs-Fixed: 3109868
use dma_inv_range call instead of dma map and unmap
APIs during replenish and reap. This complete code is
under a compile time macro.
before change: 4160Mbps @ 96.5% (core 3)
after change: 4160Mbps @ 90.5% (core 3)
Change-Id: I61bca349a369ace06cd86f353880108cee013cb1
The following issues are fixed with this change-
1. Sojourn stats were printing incorrect values
2. RSSI values were junk numbers
Change-Id: Ibed73cf370a309bf9db5baad37a0e8261c58463b