for a PPDU monitor status can be split across multiple status buffers,
If status buffer continuation is carried in next NAPI budget,
store ppdu status buffers to process in next reap context.
Change-Id: Id00646fa4edb55f3540e23ad327952bf0f5d9889
CRs-Fixed: 3147113
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
prefetch certain nbuf fields and nbuf data fields, this
will ensure these fields are in cacheline by the next
iteration of the rx processing loop.
CRs-Fixed: 3146589
Change-Id: I69fd9a7800c7e881cf6635f329343195d19735c5
The per packet info feature can be enbaled to support enhanced
stats independent of mesh mode.
Change-Id: I852e7a958c520901b6f418d30deb53fa2f68fb68
CRs-Fixed: 3079000
In case of empty HW descriptor, sw cookie is not valid.
Instead, HW reports ppdu_drop_cnt, mpdu_drop_cnt and
tlv_drop_cnt.
Do not process sw desc, if it's empty HW desc indication.
In case of flush and trucanted PPDU, status buffer need to be discard,
added handling for same.
Change-Id: I1219f71645072bb9e0e80ff271fa354f305c7961
CRs-Fixed: 3144525
Add Legacy interrupt changes for QCN9224 target. Added code to calculate
hif group for DP interrupts and initialize legacy interrupts for the same.
Change-Id: I1b2f81905d3ce840fea172b13cbd192f041913d4
CRs-Fixed: 3139986
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
As part of TX FW metadata V2 global sequence number based
and SVC ID based support added.
Change-Id: Iefee2c47ecbebf6edfec9a687ef67e0e270bbf06
CRs-Fixed: 3136931
Intrabss check for NAWDS was added as a temporary fix to resolve the
issue of selfbridge enteries present in AST table. The actual reason
is loopback pkt received with one's own bridge mac. To avoid this, add
a check for not sending out any packet with an invalid peer id in the
ast table.
Change-Id: Ia4c520bcc8b7077f0b484a0bc40c4d26db77c3f4
CRs-Fixed: 3135142
There is a possible race condition that target_start can be
called during load unload leading to htt_srng_setup being
called before monitor srngs are initialized. This check will
prevent the srng_setup_call from soc_start. The rings will
subsequently be initialized when monitor modle is loaded.
Change-Id: Ie697b45425e38e6d709b7466bb495a20bef4f820
CRs-Fixed: 3125255
The qcacld driver does not register ol_if_ops callbacks
to handle wds AST request.
Call target if APIs directly to add, delete, and update
the AST entries for the WDS stations.
Change-Id: Ib4d5e1fdd6598e3390dbd2be0f24a72ccf01f202
CRs-Fixed: 3133839
Calls to Rx-tlv functions,in per packet path and called from arch
specific code,are made static inline instead of hal_soc->ops
function calls.This will improve speed by avoiding the function
call overhead.
Change-Id: I1fd4f0a416b71b4ed460852cb6da2f1d7434f2b4
CRs-Fixed: 3130314
1. Drop the received undecoded frame if error code
abort reason not matched with configured error mask.
2. Reset phy error mask during undecoded capture mode reset.
Change-Id: I162ac1b60ceb5a4b5a87ff2d2186f2e67815f580
CRs-Fixed: 3134562
Display phyrx aborted undecoded frame count and the aborted
reason statistics as part of pdev rx mon stats.
Change-Id: Ia86074e62af3179855734b47801715abd1899fe1
CRs-Fixed: 3123540
Add support,
1. Deferred tx monitor processing
2. update radiotap headers and
3. skeleton flow for tx monitor to send each mpdu per user to
stack.
Change-Id: I0809a2fe06a9dc001f6da20a5c4a689244bf9a85
CRs-Fixed: 3115608
As part of debug enhancement Print ring information in
htt srng init and htt srng cfg
Change-Id: I59a7831b6ded1028b3a8f246656e982ae7de5b86
CRs-Fixed: 3133836
Update enhanced Tx stats from Tx HTT PPDU completion path in WKK.
Define and use function pointers for architecture specific
functionality.
Change-Id: I4ba443647dbd81c83e899c0f88c5d9a4cc695e14
CRs-Fixed: 3132255
Rate statistics are updated at both peer and vdev level in Tx HTT
and Rx monitor path.
As per peer optimization changes, macro DP_UPDATE_EXTD_STATS is used
for aggregation of extended stats and this macro is used for both peer
and vdev stats query.
With this approach, when user requests for vdev stats, then rate stats
for vdev are updated with the rate values of the last peer present in
peer list of vdev and this results in wrong output.
In order to fix this, add an API to update the rate stats for vdev
separately.
Change-Id: I546a130e84f7fd577b80ace24e1dbb71000c0698
CRs-Fixed: 3132195
During undecoded mode capture reset expected to reset
only phy error filter flags. But disabled monitor mode
capture filters as well. This resulted a backpressure
in monitor mode destination ring.
Added an appropriate check to disable only phy error
filter without disturbing monitor mode filter setting.
Change-Id: If3ef8e9f41f32dff30773aeb939256920c515800
CRs-Fixed: 3137636
Define API to get the link peer_id using peer_id and lmac_id.
This is required in Rx monitor path for stats updation as Rx
monitor provides MLD peer id, whereas stats updation is done
for link peer.
Change-Id: Ib1c9e2729ccaea2e28272b7d175b3ef7fba9fd7a
CRs-Fixed: 3133003
Enable usage of delta_tsf for SAWF. This will be used to compute tx
delay. Also, add support to update sawf stats in tx completion.
Change-Id: Idab7fbd5217175167ecdeee21cf5dc9daf1415d6
CRs-Fixed: 3135773
dp_is_hw_dbs_enable() is checking DBS and update number of
MAC rings value, current function name makes confusion.
rename it to dp_update_num_mac_rings_for_dbs().
Change-Id: I82540a943445560a99e27067e58d59035147208b
CRs-Fixed: 3131546
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
check null pointer for soc return val and
check array index input for out of bound access.
Change-Id: Ib1d52f70128eaf9ba24e9024440490e470fec3d4
CRs-Fixed: 3127451
Currently pn-check logic for OOR frames does not take into account
the security mode. For open mode case, BE hardware does not populate
current and previous pn_numbers. Hence a PN-check comparison may yield
incorrect results.
Check for secure mode, before checking for PN numbers.
Change-Id: I398872d467058bc1ee1d04c811818ea20c5aec7e
CRs-Fixed: 3129986
Bifurcate the hal_get_reo_qdesc_size to corresponding lithium
or Berillium platforms.
This can handle difference, if any between them and later enhance
to set the qdesc size based on peer negotiation.
Currently for NON_QOS_TID, the BA window size is hardcoded as
256 for Li and 1024 for Be.
Also modify hal_reo_cmd_update_queue_params to accommodate higher
Block-Ack Window size. For this steal bits from pn_size and use
pn_size values as macros PN_SIZE_XX which is only 3 bits,
instead of 8bits.
Change-Id: If310175da579aa3a47a8b031a1774c6c8982d4b2
CRs-Fixed: 3125986