Since MLD peer hash is the same for MPSTA and PSTA in QWRAP repeater,
skip this check for all WIN platforms.
Change-Id: I30fe7d8a6d1d24af841bcd21015e93f7bec6b2c8
CRs-Fixed: 3382276
The Tx delay computed is very large if the enqueue
timestamp is zero.
Compute Tx delay only when the enqueue timestamp is valid.
Change-Id: Ic4032a6f4a01fc661dc1155a4543cd7fc4216970
CRs-Fixed: 3354639
Currently for jumbo RX monitor MPDU, it will spread across multiple
RX buffers(N). host set length 112 bytes for (N-1) skbs(not include
the last skb), while the expected length should be (2048 - 400
- 112) = 1536 bytes for them, this lead to last skb length
calculation incorrectly, which will be total MPDU length -
112 * (N - 1), this will be over boundary of skb buffer room
easily.
Set length 1536 bytes for (N-1) skbs to fix it.
Change-Id: I4e73673887d5d8197cf64bed5da34a3751df1e33
CRs-Fixed: 3381528
The function dp_print_mlo_ast_stats() is currently a public function.
However this function is only called from within the file where it is
defined, so make it static.
Change-Id: Id83c7b3110c60ca6e3dc3263aaf87d21e9365a31
CRs-Fixed: 3374039
The original DP IPA implementation included some function prototypes
for which there were no associated function implementations. Since
these are pointless, remove these orphan prototypes:
dp_ipa_uc_set_active()
dp_ipa_remove_header()
dp_ipa_add_header_info()
dp_ipa_register_interface()
Change-Id: Ic085d456b860dc921b0e576f33702dd11550febb
CRs-Fixed: 3372067
The following functions are currently public exported functions:
dp_mlo_ctxt_attach_wifi3()
dp_mlo_ctxt_detach_wifi3()
However these functions are only accessed from within the file where
they are defined, and they are only supposed to be called via the
cdp_mlo_ops, so make them static.
Change-Id: I8db6b7be9b91972c2183d2f699ed5fb64ec60713
CRs-Fixed: 3371955
Current rx_mpdu_received and rx_mpdu_error stats reporting is incorrect.
rx_mpdu_received would be rx_mpdu_delivered + rx_mpdu_errors.
Also get combined rxdma_errors(rx_mpdu_errors) handled across host and FW.
Change-Id: Icbfeaffd7cd27d7f894df2d39add9cc7b47714be
CRs-Fixed: 3333010
The following functions are currently public functions:
dp_tx_tso_cmn_desc_pool_alloc()
dp_tx_tso_cmn_desc_pool_init()
dp_tx_tso_cmn_desc_pool_deinit()
dp_tx_tso_cmn_desc_pool_free()
However these functions are only called from within the file where
they are defined, so make them static.
Change-Id: If57b36398e0cf6a33be2b85bc00d651fe5ed9a71
CRs-Fixed: 3371860
The function dp_tx_desc_clean_up() is currently a public function.
However this function is only called from within the file where it is
defined, so make it static.
Change-Id: I23d55584453218776703101e9a5abaf9805efb03
CRs-Fixed: 3371794
Handler dp peer setup for non MLO case in BE specific
handler. This API currently deals with direct switch feature.
Change-Id: I6e26687e5e7e92108dfa0da782970f758fd1965e
CRs-Fixed: 3381234
The kernel-doc script identified a large number of documentation
issues in dp/wifi3.0/dp_types.h, so fix those issues. In addition,
there are a number of instances where public functions have their
implementation documented instead of having their interface
documented, so duplicate that documentation. The documentation at the
implementation will be removed separately.
Change-Id: Ie93b7f802926e562169e51a56e5fc83de845b310
CRs-Fixed: 3373153
Add history to record the config/control events
e.g. peer create/delete/unref-delete, vdev attach/detach
in datapath.
Change-Id: Ic3c8122fca9124e41931ec445946aec5e8863434
CRs-Fixed: 3371899
This change extracts several common code snippet and put
them into a new function. This can keep the code clean.
Change-Id: Ib13f06903db2efbf0e447436fb5abb1386cdd41d
CRs-Fixed: 3370243
Add debug logs in the MLD peer create/delete path
to help debug any issues with MLD peer leak.
Change-Id: I63126d9b86f3179a88809836371fc765d340b6d8
CRs-Fixed: 3379148
Enable intra bss fwd offload on vdev by default
by sending wmi command to firmware.
Change-Id: I5fcc828f8360c93a7adbcf8f1f2cb7cc58593a49
CRs-Fixed: 3362569
Check peer count to decide if peer filtering is required or not.
This is required to support peer filtering for full monitor mode.
Change-Id: Icb3c0fc834795dbbbfd3a7899b3b733409f5f70d
CRs-Fixed: 3372600
Currently the debug log for NULL peer, just gives
the REO error code info, which may not be relevant
if the error source is not REO.
Dump both REO and RXDMA push reason and error code
if NULL peer is encountered in WBM error handler.
Change-Id: I95dabb8c9de1bf95081ccb389805d3ef3376915a
CRs-Fixed: 3374313
Cleanup the tx desc clean up logic used in
direct switch and umac reset cases.
The excess code being removed tries to
get the next descriptor address in boundary
conditions is not useful, as the descriptor
extracted this way will be overwritten
immediately in the beginning of next iteration
of the loop.
Change-Id: Ibcd873719929b94147152ff48205774d3ed4f452
CRs-Fixed: 3371831
remove unused var and declarations in
dp/wifi3.0/monitor/2.0/dp_mon_filter_2.0.c
CRs-Fixed: 3284798
Change-Id: I602d0e1ce5a74b981f34f7d5d4a5cb83693f62db
remove unused var and declarations in
dp/wifi3.0/monitor/1.0/dp_rx_mon_status_1.0.c
CRs-Fixed: 3284798
Change-Id: Iea3f8e2213fef9d10fe20c90c2ac0017f7d17692
remove unused var and declarations in
dp/wifi3.0/monitor/1.0/dp_rx_mon_dest_1.0.c
CRs-Fixed: 3284798
Change-Id: Ibfeaca928fe43e6f0cc5b52a2114708810c09805
remove unused var and declaration in
dp/wifi3.0/monitor/1.0/dp_mon_filter_1.0.c
CRs-Fixed: 3284798
Change-Id: I289aac6ae32c22539c98d02673b9af9a48d46192
Currently in dp_peer_find_id_to_obj_add while adding peer to soc
peer_id_to_obj_map list, if peer entry is already present for the
peer_id due to no umap event for older peer, driver calls QDF_ASSERT
and returns, As QDF_ASSERT is NOP it results in older entry still present
in the table. which results in peer leak issue as while doing peer unamp
driver gets peer from soc peer_id_to_obj_map table based on peer id,
Since older entry is still there older peer will be freed and new peer
unamp will not happen.
To fix the issue call qdf_assert_always if peer entry is already present
for peer id which will always assert and add additional logs to print
peer information.
Change-Id: Ic777e9c7881fcbc67f54002bd619a8e6d52de126
CRs-Fixed: 3369736
from Beryllium onwards a single Flow Search Table
will be used across multiple radios. to ensure this
a single FST attach is called for the first SOC's
pdev and FST detach is called only during last pdev
of last SOC. the same FST instance is saved in all
pdevs of all the SOCs
CRs-Fixed: 3366409
Change-Id: I42fbdc6f09fb902021877e100a2831a1a24bc975
In error conditions(packet truncation or flush detected)
packet buffers are not freed, changes are done to
iterate over all the packet buffers and free them.
Change-Id: I48ef0022c7a9c8c6fd067d78d6b46daf84855cc8
CRs-Fixed: 3363841
Currently HTT_TX_FW2WBM_TX_STATUS_DROP and HTT_TX_FW2WBM_TX_STATUS_TTL
are mapped to HAL_TX_TQM_RR_REM_CMD_REM which results in the wrong Tx
status print in case HTT_TX_FW2WBM_TX_STATUS_TTL where No ack is received.
So to fix the status log issue map HTT_TX_FW2WBM_TX_STATUS_DROP to
HAL_TX_TQM_RR_REM_CMD_REM and HTT_TX_FW2WBM_TX_STATUS_TTL to
HAL_TX_TQM_RR_REM_CMD_TX to log correct Tx Fail Status.
Change-Id: If125313f6b831ce5ca0f7eec9e8e3f1a03229f16
CRs-Fixed: 3362679
An INI dp_tx_spl_device_limit is defined and can be used to configure the
limit of TX descriptors that can reserved on the SOC to handle
special frames like EAPOL.
CRs-Fixed: 3343207
Change-Id: Ic84a11249880a3541749a72ac6d60df548f2bc5c
An INI dp_tx_spl_desc is defined and can be used to configure the
limit of TX descriptors that can reserved on the pdev to handle
special frames like EAPOL.
CRs-Fixed: 3343209
Change-Id: I6578bddd1f4ea07528c9f66f778b113ec6fb9e61