In the dp_tx_desc_set_ktimestamp() return false case,
tx_desc->timestamp will not be updated, instead,
tx_desc->timestamp_tick used. So it will cause
dp_tx_comp_delay_check() always return false when
timestamp equal zero. Need to move the tx desc
timestamp check to correct place.
Change-Id: Ic1d5f1035784dcc3f240d832ac1e8820bc24f782
CRs-Fixed: 3331251
Only 8 RX data TIDs are used, so HW stats query only needs to update
these TIDs info to save command executing time. Change is aimed to
reduce the TID number and use only one REO flush command for overall
REO cache flush.
Change-Id: Ib642451b9f07f62198126c45644742e1908280cd
CRs-Fixed: 3325964
Retain ds ring indices across wifi restart to avoid
edma hang. Fetch the indices from ds module and set
the corresponding ds ring indices.
Change-Id: Ia299a7006166aef096c7d2c1f65f6bef65415a37
CRs-Fixed: 3332152
In force teardown case disable the interrupts before
going down. As target may be still active, we may
still continue to receive traffic. Disabling
interrupts to nsure we dont process interrupts while
cleaning up partner SOC
Change-Id: I7092d398c039302234206cb72f7453b6dc0cbcb7
CRs-Fixed: 3332961
Add support and ops for initialization and
deinitialization of Direct Link refill ring.
Change-Id: I2c7018c4f8411fb7a590cfbb8b991f9152b22397
CRs-Fixed: 3316656
MSI vector number is defined in platform driver, so use platform
driver API to check whether it is in one MSI mode or not.
In case of one MSI vector, interrupt migration needs to be disabled.
This is because when interrupt migration happens, the MSI data may
change. However, MSI data is already programmed to rings during initial
phase and there is no way to know that MSI data is changed during run
time and reprogram again.
If it is in one MSI mode, disable interrupt migration by adding IRQ
flag IRQF_NOBALANCING.
Change-Id: I54579dfe1e658c1a2c395be93875d013d6e6affd
CRs-Fixed: 3290829
Add MAC ID to which the Spatial Reuse stats is requested from.
Pass this MAC ID to FW to get the respective Spatial Reuse stats.
Change-Id: Ief2434bf1f2fc82d9339ee38933effbd580088af
CRs-Fixed: 3328686
FISA update may come when target in suspend state, then
UMAC force wake may return failure and lead to system timeout
crash. Change is used to defer the update when resume happens.
Change-Id: If033bed692dccf2d27e9c76825ab2063a3f56841
CRs-Fixed: 3324926
Currently vdev id is passed from nbuf cb
but vdev_id is not being updated in nbuf cb
which is resulting in passing wrong vdev id to the
packet logging function.
So to fix issue pass vdev id from tx descriptor instead
of nbuf cb and also rate limit the error log in vdev NULL
case.
Change-Id: I69f568b7da52f1c96f208a220c6c4a7f6d98e082
CRs-Fixed: 3327359
Typecast vdev->ref_cnt, from qdf_atomic_t to int,
using qdf_atomic_read() when logging as an
integer value.
Change-Id: I3432f5b8247a3031f1896d8964529a568fc3af19
CRs-Fixed: 3326096
Add support to read TSF2 and TQM scratch regitser in the HAL layer
for WKK v1 and v2 board.
Change-Id: I0ef5e8cf4e06c0b5c98169252a81f70989285d2d
CRs-Fixed: 3321782
Currently the monitor mode processing assumes the
rx pkt tlv to be consisting of RX_PACKET_HEADER tlv.
This assumption is incorrect in case of sta+monitor
mode, where the RX_PACKET_HDR tlv has not been subscribed.
Due to the above incorrect assumption, a certain portion
of the actual payload is being discarded, when the
rx_pkt_hdr tlvs are stripped off from the received buffer.
To mitigate this issue, use the rx_pkt_tlv length based
on the tlvs which are enabled, and configured to the
rxdma for reception.
Change-Id: I8f29db85bbd50316e3c2073ae9a2e79fd724be05
CRs-Fixed: 3318038
Tx completions can be received after 30seconds, this is causing
race condition as there is a forceful freeing of tx descriptors
after 30seconds. This race condition corrupted tx desc pool's
freelist pointer which contains list of all free tx descriptors.
Increasing the threshold from 30seconds to 60seconds. Display
id for which tx descriptor is freed.
Change-Id: I5e0c78283747028de558f9c5db99f7089ffb7e97
CRs-Fixed: 3322566
Currently, when tx completions are pending for more than 60
seconds, assert is generated in defconfig builds.
Force free leaking tx buffers in defconfig builds so system
can go to suspend in defconfig builds.
Change-Id: Ie66506d58e85176320c7aa35d49059f808be0054
CRs-Fixed: 3318409
In MLO mode, there are 2 link peers and 1 MLD peer. TX/RX stats
is kept in txrx_peer, which only exists in MLD peer. This change
aims at fixing HDD failing to get rx stats info when in MLO mode.
Change-Id: I046003018c72ca3c9129e3b9e5abca4a46a024ca
CRs-Fixed: 3298344
Add ini param "dp_disable_rx_buf_low_threshold" to disable
low threshold interrupts on regular rx refill ring. Default
it is enabled.
Change-Id: Ie471a4dc6862cbfe8b1eafe7c7d2ce2e0a7fcb7a
CRs-Fixed: 3313885
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
Currently we cannot track vdev ref_cnt change with
peer creation and deletion. This change will help track
the vdev ref_cnt and detect if any pending unreference is
causing inactive vdevs.
Change-Id: I5548667b0f1541efb583f912f6b7ef8a88853f5b
CRs-Fixed: 3303571
Add cfg command to enable umac reset skeleton debug, which
when enabled will skip post reset procedure handling.
Change-Id: Ieca393e6292660bb3ada40408fd6e71ac78d0a1f
CRs-Fixed: 3296960
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
In MLO mode, there are 2 link peers and 1 MLD peer. TX/RX stats
is kept in txrx_peer, which only exists in MLD peer. This change
aims at fixing HDD failing to get rx rates info when in MLO mode.
Change-Id: If476216a6b0d1c006fbc0d45a3cbfbb0be79efd3
CRs-Fixed: 3287090
Add cdp function to get the peer extended rate and link stats.
This change is to support user level command to flush mld/link
peer extended link and rate stats.
cfg80211tool wifiX get_peer_extd_rate_link_stats <mac_addr>
Change-Id: I20cd2b38b242008b95aedc5f9914088a149093dd
CRs-Fixed: 3278042
When AP vap disconnect aburputly or by doing channel switch then for WDS
node, client disconnect event is not sent to IPA driver, hence IPA is
not aware of any new wds client coming behind that peer as the previous
delete event is not handled properly
Fix is to send wds client disconnect event when ast entry are flushed.
CRs-Fixed: 3271481
Change-Id: Id507f543c8f4cb8f69e26ba6ca3a23787af21ed7
Change to avoid processing of extended features
based of Fast RX flag
Also add changes to enable or disable this flag
based on feature settings
Change-Id: I8064780a271f8bdcf396bb9e2e2c14998f195535
CRs-Fixed: 3268842
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
currently rx_mon_ring and REO are part of the same
interrupt group, due to which in case of mission
mode when IRQ is received from REO, even the lmac
rings are processed in the same context.
This results in dp_mon_reap_timer_handler and
dp_process_lmac_rings calling dp_rx_mon_status_process_tlv()
in different context and access global list at the same time,
which may lead to skb double free issue.
To fix the issue if current mode is not monitor mode
do not set rx_mon_ring_mask MSI interrupt mask.
Change-Id: Icc64455824f919e17d3daa741be1cbdafd6fe88f
CRs-Fixed: 3274531