Currently, we record TX musdu number and packet length, which falls into
three categories: from stack, from host and successfully transmitted. In
TSO mode, the msdu from stack will be divided into several fragments and
each of the fragment will be transmitted as an individual msdu. This change
will take TSO into account when it comes to the 3 forms of TX statstics.
Change-Id: Ie11cb7541b4e109609bf3104739a5e19f51dcc13
CRs-Fixed: 3361412
Special frames like EAPOL should not be dropped as it would cause
failure in connection. To prevent the dropping of higher priority
special frames, reserve a set of descriptors from the tx descriptor
pool.
Check the regular soc or pdev limit for the allocating tx descriptors
for the regular packets and use the reserved set of descriptors
only for the special packets.
CRs-Fixed: 3331359
Change-Id: I15532fb5e325ba6ad997090008bda8c52707a05b
The stats to indicate the packet drop for EAPOL packets increments twice
in an instance. Fix this double incrementing of stats counter.
CRs-Fixed: 3365584
Change-Id: I524fa1a196452089c94acf50b52db0b00f562317
1.Add check in Tx completion path to handle
mcast packets from all ML partner vdevs
2.Handle cases where a ML mcast vdev can be
deleted and started as NON-ML vdev and
viceversa by adding reset ML mcast conf.
3.Optimized Register configurations for Mcast
at Init/Delete and Start/Stop AP
Change-Id: Iab8a5a081e2e0377509574d362754d32c5b83df2
CRs-Fixed: 3350350
Suspect HW update WBM2SW ring HP, but the ring entry contents are
not updated accordingly which then host will fetch one stale ring entry,
this makes other TX packet are freed unexpectedlly.
Add change to detect this situation earlier, if HW cookie conversion is
done, then invalidate 2nd dword for upper 32bits of VA, so next time when
reap this ring entry contents to know if this desc is updated by
HW or not. if HW cookie conversion is not done, then compare the PA in
buff_addr_info with PA in current TX desc to check.
Change-Id: I351eb4f860216fc618ff28736d4832fcec45dcc5
CRs-Fixed: 3345935
Currently HP update can skip for few packets if the system suspend
is happening in parallel with tx. This could lead to SMMU fault if
the skipped HP update goes after tx desc force free.
Remove the tx pause check in HP updates and have the check before
calling dp_tx_send in case of intra-bss forward case. No special
handling is needed for non intra-bss case as we don't expect packets
from network stack after suspend.
Change-Id: Id4f2cefcc0a14e7c16438b9bda5cb1d55eb05050
CRs-Fixed: 3327818
buffer_timestamp in wbm2sw ring descriptor is 19 bits only with
unit 1024 us, so it can only accommodate 0x7FFF * 1024 us same as
29 bits value with unit us. but if the timestamp value is >
0x7FFF * 1024 us, then the value stored in buffer_timestamp is not
right as other higher bits bit29 ~ bit31 is lost.
restore bit29 ~bit31 value for buffer_timestamp to fix current issue.
Change-Id: Ie929f560365cc822883711133541772348775357
CRs-Fixed: 3336241
pkts from rmnet device are sent as SG, we see poor
throughput when transmitting these SG frames using
an MSDU extension descriptor. to resolve this issue
we identify if the frame is from RMNET device and if so
copy the headers from skb linear address to the frag
address and provide the frag address to HW for transmission
CRs-Fixed: 3337822
Change-Id: Ic1b7d9f861dcd4f838509772c45e47d3917fc59f
Reap mode desc from the Tx completion ring in case the number of
available entries are less than the half of the ring entries.
Change-Id: I3635b88c3e98cc8a5f30fc58cf5e353f6301d4ad
CRs-Fixed: 3325826
Add the stats to indicate the packet drop for EAPOL packets.
This will be useful for the debug of EAPOL packet drop.
CRs-Fixed: 3329895
Change-Id: I5e0abb4e574116a55de124c0012c17154c7c63da
Add support for:-
1. PPE VP entry attach and detach.
2. Per VAP PRI2TID Support
3. Dump the PPE VP HW entries.
4. Add tx completion handling for ppeds descriptors
Change-Id: I2a6d0be5bb556663a39a24d17b703877f3b5ad00
CRs-Fixed: 3276981
In case of MLO same adapter maps to both vdevs. Tx is done with
primary link vdev pool. In link switch case vdev0 flow pool is
deleted and traffic will continue to flow with same vdev0 flow_id
This is resulting in packets drops within the driver due non-availibilty
of flow pool.
Fix this by skipping flow pool deletion in case of STA MLO connection.
Change-Id: Ie56ea221f7f254484bd31ec4880f2155779fb513
CRs-Fixed: 3292979
In SAP due to intrabss forwarding, Tx ring update is going through
when WOW enable command has been sent to FW. This results in crash.
To fix this, do not update HP when apps suspend is in progress.
Change-Id: Id4176224563bdd759828397fa1cd23de1598192e
CRs-Fixed: 3294407
Sometime DP might receive a exception packet with
already deleted peer id. Added a check to avoid sending
such packets.
Change-Id: Ib43d55c7930e4ddc7550d486505a56cb48e85afe
CRs-Fixed: 3285034
Add call to API to calculate the moving average fo delay for
the following
NW Delay
Wifi SW Delay
Wifi HW Delay
Change-Id: I35afa4d83e474b0173cc1f4b9b6456b9fe2c963c
CRs-Fixed: 3286176
Add fix for double free in Reinject handler. Issue is seen when mesh vap
is present.
Change-Id: I288b1131974c8a3edb83c1b3b2a7a856c4ccbcbf
CRs-Fixed: 3276670
Currently the history recording for any debug purpose
is done using a contiguous memory chunk. For certain
history like tx_hw_ring, tx desc or tx completion desc
history, the amount of contiguous memory required is
very huge (order 7 or 8 allocation), which have a
higher probability of failing.
In order to mitigate the above scenario, introduce the
support for recording debug history into fragmented
chunks of memory, thereby reducing the requirement of
contiguous memory.
Change-Id: Iac4fb38b6d4b095766520899853e68b4c2b83afc
CRs-Fixed: 3282269
Compilation is failing when Monitor support is disabled
Moved monitor related API and structure to monitor header files.
CRs-Fixed: 3257872
Change-Id: Ie1b3dc16b38c88bfd73fc89aaa395d4b57a61e5c
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
Based on traffic end indication marked packet coming
from network stack, send indication packet to fw via
exception path to terminate ongoing SP.
Change-Id: Ia2be60d485be4b05665cf6b1684af9258417ffb1
CRs-Fixed: 3207392
Throughput based RTPM logic of ring access may fail and
lead to NOC error in some corner cases. Change is aimed
to add additional link states check to prevent invalid SRNG
access.
Change-Id: I7e7edbadfd21b4857efa4faff0ada6d94d682f2c
CRs-Fixed: 3256702
Added fix for two leak,
a) During wifi unload, buffer used in init need to be free during deinit.
b) Before buffer free, unmap is required for the buffer mapped to DMA.
Change-Id: I4e5a63b0c2aabb69367365e74961a63194144057
CRs-Fixed: 3157424
Packet logging buffer is only 2048 bytes, if copy non-linear
TX packet with skb->len (like TSO) which is likely > 2048,
this will lead to skb panic as packet logging buffer can not
accommodate it.
Only support TX packet logging with single linear buffer.
Change-Id: I1d15f9ab80fcc1720fdb3f7fe8c89e7f5e3c0a79
CRs-Fixed: 3242090
Currently 11be msdu rate statistic is not supported yet.
Another issue is: HW reported pkt type value 6, while host
SW defined 11be type DOT11_BE (value 5), they are not matching.
DOT11_BE value 5 is referred in monitor mode and otherwhere,
so do map and conversion in host sw side.
Change-Id: Ic5c2dd2a35cbe0ecd6430f007b6e7e02ece40998
CRs-Fixed: 3230900
1. Remove prints in per packet path
2. Add prefecth for skb shinfo
3. Avoid qdf_get_cpu() in DP tx
Change-Id: I86d196cc7865a2d5b3a5a6098f6f7d84397a60d0
CRs-Fixed: 3227568
Currently, bandwidth and corresponding MPDU retry threshold was
taken from tx packet status in per packet to update peer stats.
With this change, set bandwidth and MPDU retry threshold
during peer registration.
Change-Id: Iffd06968246d0b86b26716ae6672e2cd23360c67
CRs-Fixed: 3225479
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
Use CONFIG_SAWF macro to prevent linking dp_set_delta_tsf in
low memory profile.
Change-Id: I07b75f893e6d043839225d9b7288823b6ef2f823
CRs-Fixed: 3211426
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