- Add support to compute HW Tx completion delay on WKK
- Define arch op to calculate delay
Change-Id: I82567cc781e90fe01dc5a0edfffacd4cde73f652
CRs-Fixed: 3220911
Add delta_tqm, delta_tsf2 and mlo timestamp offset for BE.
These offsets are used to calculate hardware Tx completion delay.
delta_tsf2 and delta_tqm are updated during init. mlo timestamp
offset is updated whenever target sends the update event.
Also, adding CDP ops to set the offsets.
Change-Id: I55665982798c3a795481fa96c023bb851ea17476
CRs-Fixed: 3220906
Currently the INI value for reo destination ring size
is over-written to 1024 during ini. Hence any ini change
to modify the RX ring size does not take effect.
Fix the over-write of the INI value for reo destination
ring size.
Change-Id: If4c166687a05f37b902ae1f7ed881db88436eaaa
CRs-Fixed: 3235427
Add host support to display selfgen_be_stats,
selfgen_be_err_stats and tx_sounding_stats.
Change-Id: If6b6da59be609161537f1e3b28031ac3d029328b
CRs-Fixed: 3210158
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
Changes to configure the rxdma ring for CFR. Move existing
API of legacy chipsets to dp_mon_1.0 and add Waikiki
specific API in dp_mon_2.0.
CRs-Fixed: 3231265
Change-Id: Id7276bb7bb7f58461c7e10a0695c3e78a1c39b0c
Add history to track the monitor status buffer entry.
Currently the below 3 events are added:
- Monitor status buffer reap from ring
- Buffer enqueue to a local list
- Buffer dequeue from local list for parsing.
Change-Id: I7c17070ffee25a9a9dc4af0b48bfa8808e18887d
CRs-Fixed: 3225647
Fill up the lite monitor vdev which is needed to deliver the
tx monitor frames to the configured vap.
Change-Id: I298abde095fef44e67a741f48f2f73a6998efc7a
CRs-Fixed: 3226335
Properly increment message word variable while forming rx ring
selection config htt message. Message word should point to
appropriate word before calling individual feature config funcs,
this will help to track exact message word position in calling
function.
Change-Id: Iad6c446ac91fdb5be9286f4fa076847e1728dc74
CRs-Fixed: 3219549
Remove type option from peer config as host doesn't have to track the
state of peer. State transition between associated and non-associated
peer is seamlessly taken care in FW and no host intervention is
needed.
Change-Id: If85ff68878fb2284ff28ff93320ca009377a90e6
CRs-Fixed: 3221274
RX TID HW descriptor is first allocated in setup stage. When
failure case happens, it is got freed. This change adds a
check to make sure it's valid before updating RX TIDs.
Change-Id: I1326315b2eca4c50ef9ff5fa887386de4a796eb0
CRs-Fixed: 3227483
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
a. Fix memleak issue due to RX_HDR not received for a MPDU
b. Compute appropriate packet offset for non-decapped packets
c. Add correct DMA_LEN while adding a frag to SKB.
d. Add debug stats
Change-Id: Ie946f79df94df05789220b97c159c60d608bf1b2
CRs-Fixed: 3213698
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
UMAC HW reset feature will be using the last interrupt context in each
DP interrupt combination i.e., on a system with more than 8 MSIs for DP,
UMAC HW reset will be assigned a dedicated interrupt context.
Add the necessary support for the same.
CRs-Fixed: 3163900
Change-Id: I26abd01e4261661ed95e1aa3cb2a774e78b50d9f
This change fixed compilation issue when enabled two configures -
CONFIG_WDI_EVENT_ENABLE and CONFIG_REMOVE_PKT_LOG.
Change-Id: I121ea61bd3681b834a36c0bc8017b855897023a4
CRs-Fixed: 3223552
Currently the sw_cookie is validated in RX error path
using the pool_id logic, which is not valid for KIWI target.
Kiwi target has a different logic to assign rx sw_cookie, as
compared to other legacy chipsets.
Hence this sanity of sw_cookie fails always for RX error
packets on KIWI target, and these corresponding buffers are
never released/replenished back. Eventually as more RX error
packets are received, the device runs out of buffers in the
refill ring and induces a backpressure.
Hence disable this sanity check for sw_cookie in rx error
path for KIWI target.
Change-Id: I320fcb268c1fe24695daeb4677af6cc0cbc445ed
CRs-Fixed: 3228792
Remove unused local variable mon_soc in the dp_pktlogmod_exit to
address the compiling issue when PKT log enabled.
Change-Id: I5de03433603988e6f8125285a58c141551d7a149
CRs-Fixed: 3225370
Add new QDF enum for packet type and make
changes to pass status and type to packetlog callback APIs as QDF type
Change-Id: I423839e42b316ce43feaae34e297d3d8f0dee7ba
CRs-Fixed: 3224881
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
This is a generic T2H message in which a target can specify bits and
offsets to extract a parameter from PPDU-id. Use link-id bit and offset
present in T2H message to extract hw link-id from PPDU-id on Tx completion.
Change-Id: I64b7559e88b037e30f52ba0b75ab62349e469d20
CRs-Fixed: 3195432
Usually, ADDBA frame exchange is handled by HOST. But when this
is offloaded to FW, an HTT event is reported and HOST only needs
to update RX tid parameters, no need to send addba resp frame again.
BA status update is in addba resp TX completion, so there is no chance
to update this field in ADDBA offload case. This change is used to
set ba status to active to make ba session in correct status.
Change-Id: Iae4a1974cf4b8c55b20862df51b14d5011aefd73
CRs-Fixed: 3201455
In the case of qwrap repeater, send the original packet on the
interface where it received and send the packet with dummy src
on the mcast primary interface
Change-Id: I08f64559ff2a9430b140c962117d4d71ab684b8d
CRs-Fixed: 3214360
There is a possibility where host can receive invalid SW cookie
in wbm internal error path which causes invalid rx descriptor
access.
Add a sanity check on received SW cookie to prevent the invalid
rx descriptor access. Also, add sanity check for the duplicate
rx descriptors.
Change-Id: I6400cb1fc067f4bc474f2768c18c8f7ce587fbbe
CRs-Fixed: 3220371
Currenly pool id retrieved from the sw cookie is used in rx buffer
replenish for both buffer type and link desc type in wbm internal
error handling.
In case of wbm internal error with link desc type, pool id can't be
used for rx buffers replenish because pool id notion of rx desc is
different from link desc and this could cause out of memory access
issue.
Fix this issue by using the pool id retrieved from the msdu sw cookie.
Change-Id: I7184571e1f6a67c7266335154121b345fa12b4ab
CRs-Fixed: 3214867
The telemetry agent on certain intervals needs to pull the
SAWF stats from the driver.
Add CDP ops to pull the SAWF stats from the driver.
CRs-Fixed: 3210834
Change-Id: Ibc27059ff13b33acc4e71d3174a0415756dcfc5e
In case of MLO, peer consumpiton stats are getting incremented only for
primary peer as the API was called after primary peer check.
Add fix to call the API before primary peer check so that the stats are
updated for all the link peers
Change-Id: I603e7a37564858e030d8f0f5f16792f516728f60
CRs-Fixed: 3222984
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
There is possibility of receiving invalid SW cookie
which maps to invalid rx descriptor access, to avoid such
issues validate the SW cookie before using it for fetching
rx descriptor
Change-Id: Ib90a398865c5e0afedd5804615d6df6ad5ee77f6
CRs-Fixed: 3214570
Check lite monitor condition in Tx monitor handler function
and correspondingly take action to deliver the packets.
Change-Id: Idf352bd677f00daae0c8e4325ff6661c7a4f854b
CRs-Fixed: 3219324
Add API to iterate through all modes to set setup tx monitor based
features. Also added filter setup function for tx lite monitor mode.
Made additions to filter print functions and added the fields that
were missed.
Change-Id: I20070f75d800199199195f73b1e2a13b428d5672
CRs-Fixed: 3191619
Split tx and rx monitor buffer add function so that
they can be indivudually called when lite monitor mode is enabled.
Change-Id: I9996d0261f1912237bd6fa45058d410698b9fa28
CRs-Fixed: 3206170
Enable bits in WMI_INIT command to let the FW know about host's
capability to support notify frame feature. If the feature is enabled,
host can mark certain TX frames as "notify frames" for hardware and they
need not be sent to FW. FW depends on this capability exchange to decide
whether to install HW rules for frames to be sent to HW.
Change-Id: I7158e79ae0fbdc73a2f4096ae1577337e8291246
CRs-Fixed: 3209399
Since more than one components depend on reap timer of
monitor status ring, add bitmap to record the trigger
sources of the timer and refine the APIs/calling functions
accordingly.
With this change:
When a new start request comes, if the source is
CDP_MON_REAP_SOURCE_ANY, skip bit set, and start timer
if any bit has been set in the bitmap; while for the
other sources, set the bit and start timer if the bitmap
is empty before that.
When a new stop request comes, if the source is
CDP_MON_REAP_SOURCE_ANY, skip bit clear, and stop timer
if any bit has been set in the bitmap; while for the
other sources, clear the bit and stop timer if the bitmap
is empty after that.
Change-Id: Idaa7837c4b93b247ff2236aa5072d309fa9548c2
CRs-Fixed: 3190347
For non-self sta peer (sta_self_peer is set to 0) and in error cases
like (WMA peer create failure), peer->txrx_peer is NULL which
indicates DP peer setup has not happened and therefore there are
no rx cached frames flush. Having a qdf_assert_always() if sta_self_peer
is set to 0 is incorrect. This a valid scenario.
Hence remove the irrelevant qdf_assert_always().
Change-Id: I1ab18dd681534bb9257be388a74adedc529a67cf
CRs-Fixed: 3212253
Call trace is observed in the function dp_rx_per_core_stats_update()
with the following message.
"using smp_processor_id() in preemptible"
Use qdf_get_cpu() as it takes care for disabling preemption.
CRs-Fixed: 3203385
Change-Id: I9761bf707b5ee92c7e0bb698c2825c9369efd7d5
Changes to handle CFR information from ppdu_info in
enhanced stats disabled case.
In enhanced stats enabled case, CFR info is handled in
dp_rx_handle_ppdu_stats API.
CRs-Fixed: 3214538
Change-Id: I41ea6e080f5ede661eed06764939fe2feaa6102e
This enables the option to configure when a peer's
TID queue needs to be flushed. This is required to
discard packets that are no longer useful to the application.
Change-Id: I558debff043fc0c8038e5f5f2c815b64c90e1561
CRs-Fixed: 3130422