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
Access peer, vdev only if peer_id in current pkt is
different from previous pkt.
CRs-Fixed: 3257844
Change-Id: If10356a01030511c7473112f67f3434d328d4586
Enable subtype filtering for all types of frames. Check the subtype
for all types of frames and drop the frames which are not requested.
Also enable PPDU level filtering by dropping the MPDUs after the first
MPDUs.
Change-Id: I94496ec278724a7023a79b50c2cd7a77b2707e74
CRs-Fixed: 3247309
Fix the mpdu logging option in htt command so that msdu/mpdu
logging is correctly written into the register.
Change-Id: I98b8a1a78cc0cfae37e91e9e3e489ac54139ff75
CRs-Fixed: 3265015
In some conditions REO error ring may have RX flood, but
there is no force break scheme for that ring process. This
leads to starvation of RX refill buffer ring and then FW
crashes due to no refill buffer. Change is aimed to force
break of ring processing and refill buffers in small batch
count.
Change-Id: I3c543ebb16bd1709e782be759c9063a356a96562
CRs-Fixed: 3262685
Previously when chains of BT and WLAN 2.4 GHz are separated,
hybrid mode will be used for BTC. Now adding fixed FDD mode
to fulfill different BTC scenarios.
Change-Id: I8f415ae65160977df478c9bd908e9429d69103c3
CRs-Fixed: 3247146
In function dp_rx_defrag_ccmp_decap(), it will remove the 8 bytes
ccmp header for each fragment, but later at the end of dp_rx_defrag(),
8 bytes ccmp header will be removed again, then actual 8 bytes packet
data will be lost, de-frag failed.
Do not remove ccmp header in dp_rx_defrag_ccmp_decap() as it is not
necessary.
Change-Id: Ibf7beca38e9979a3203d4de702716c8e24e435fe
CRs-Fixed: 3263872
Loop is continuing as chain index is getting assigned to zero inside loop.
Adding check for chain index to avoid infinite looping.
Change-Id: Ifff67c00b15d12195e5a3bf554de1529511c400f
CRs-Fixed: 3261913
Based on new requirement, driver needs to send feature set
information to fw as part of wmi init command.
With this change, fill the feature set info in feature set bitmap
and send this to fw with wmi init command.
Change-Id: Ic405c7e8e5ddd1399deacfaab240e979468c53c2
CRs-Fixed: 3262862
Based on the new requirement, add support to get requested
feature set info from different feature components.
Change-Id: I75c5a3062312b1124d21d1ae429a7c5a18d9f2d0
CRs-Fixed: 3262867
Add 6 GHz function under CONFIG_BAND_6GHZ flag to avoid
multiple definitions and function defined but not used
issues.
Change-Id: I873300b3165df2f13b3c99d5e11e388dadde1fab
CRs-Fixed: 3265134
Pool id validation should not be against MAX_PDEV_CNT because pool id
1 is valid in case of monitor status ring process. Hence, added a new
API dp_get_rx_mon_status_desc_from_cookie() which validate the pool id
against NUM_RXDMA_RINGS_PER_PDEV to get rx_desc from rx_desc_status pool.
Change-Id: I20baf8c667c1983eff08a204afe3736708d844d1
CRs-Fixed: 3262544
6 GHz SAP needs to send either a probe response or fils
discovery at configured interval. These in band
discovery frames can be disabled when lower band vdevs
are collocated with 6 GHz vdevs.
FILS disabled when lower band vdevs were up.
After vdev up send if WLAN_VDEV_FEXT_FILS_DISC_6G_SAP
is not set, host sending FILS command to enable 20TU.
Either driver or user not enabled 20TU probe response,
Host did not send the 20TU PRB RESP TMPL before sending
20TU PRB RESP enable command resulted Target assert.
Fixed this issue by adding 20TU vdev feature flag
and add appropriate check before sending command
to enable 20TU probe response.
Change-Id: Icb0ea5ef40b1fe2dd2dc6b97dc079ab7780e8cfc
CRs-Fixed: 3244471
Driver is able to get rates info per MSDU, which can
exclude special frames like ARP, DHCP, etc. This change
is to refill the rates info parsing by rateflags from FW,
including legacy rate, MCS, NSS, BW, preamble, GI, etc.
Change-Id: I043c3ba5c2a06019f3e9bd1765e6b8430174cf6b
CRs-Fixed: 3263832
Driver is able to get rates info per MSDU, which can
exclude special frames like ARP, DHCP, etc. This change
is to refill the rates info parsing by rateflags from FW,
including legacy rate, MCS, NSS, BW, preamble, GI, etc.
Change-Id: I129d5f0dc48758d1a92ac0c3622c1761cdae8286
CRs-Fixed: 3255467
In per vdev cm_id, same ids may get used across vdev's,
leading to confusion.
So add vdev id info in cm_id to avoid same cm_id across
vdev's.
How to read new id
Command_type vdev_id req_id
0c 01 0001 = 0x0c010001
=> connect on vdev 1 req_id 1
0d 00 0002 = 0x0d000002
=> disconnect on vdev 0 req_id 2
Change-Id: If526ea31a3d792a31c44ad607e1878691120dd7c
CRs-Fixed: 3263910
When nbuf allocation failure happens, there is no retry scheme.
So RX buffers in refill ring may shrink and not got enlarged.
This change is aimed to replenish more RX buffers when watermark
is less than critical low threshold.
Change-Id: I201b9e252ba08ba1bff47e0b5ec819a45f1b1ddf
CRs-Fixed: 3245915
Add HW, SW and nbuf prefetch support in Berryllium, this will
ensure we have prefetched the HW desc, SW desc and nbuf by
the time we are in the 3rd iteration of the dp_rx_be_process
first loop.
CRs-Fixed: 3218647
Change-Id: I27d371c5d1c9a37d61e4fc00d5eb03609fad589c
Features that rely on monitor status rings do not work when
num_rxdma_status_rings_per_pdev is assign to 1. This change
will fix this issue by removing this assignment statement.
Change-Id: Ic7b8b84be6fa9c34c15a86cb6ec5174cc512ddd9
CRs-Fixed: 3258392
Currently, Active command id is reset during memory release,
but a new command will become active before memory release
of serialization command, and if it try to check the active
cm_id (using cm_get_active_req_type) it will be valid, which
is incorrect.
Fix is, reset the cm id for active command before calling
release active command.
Change-Id: I6f4844c61349a00af5967f9c757844473244d737
CRs-Fixed: 3263863
In QCN9224 fetch the peer meta data from the msdu end tlv
instead of MPDU start
Change-Id: Icd9420cd83e06abe5e54e9e05cc8cbf8d8312ae1
CRs-Fixed: 3245626
Currently if both filters are added to get usable channels
i.e FILTER_CELLULAR_COEX and FILTER_WLAN_CONCURRENCY (3) then
all channels for required band are added first and then response
is updated based on cellular coex filter and invalid and avoided
channel frequencies are removed based on provided mode but for
FILTER_WLAN_CONCURRENCY pcl list is added, if frequency is not
present in response channel list and count is incremented. As
invalid frequencies are already removed from response before concurrency
check , so some pcl frequencies will not be present in the list and
count may be updated more than valid count.
Fix is to add frequencies based on concurrency filter first and then
remove invalid frequencies based on celluar coex filter to avoid
any invalid increment of channel list count.
Change-Id: I72b13c9c1f1bdfe3616d44fe893ce306634b022e
CRs-Fixed: 3262059
Update wait count as per the following formula.
new wait count = min(old wait count - packet counter delta, 0)
CRs-Fixed: 3261649
Change-Id: Ie5b2055e41518a87543b52c18c366f42291b8093
Added fix,
a. To populate response timestamp from phy timestamp.
b. Based on window type swap address1 and address2 to match the sniffer.
c. For VHT frames, increment 1 to the received nss value.
Change-Id: I68dffadb609d82e2ad2cf433fcee2a76b0be98e7
CRs-Fixed: 3235718
If radar is injected on the non-dfs segment of a DFS channel
(e.g. Operating channel is 36 HT160, center freq is 5250, freq_offset is
-20, radarfound_freq = center freq + freq = 5230 (IEEE 46) which is a
non-dfs segment) using bangradar command, radar detect event on
non-dfs channel is sent to user space.
To ensure that radar found event is indicated only for DFS channel,
send radarfound event only if the final status of the API
dfs_process_radar_ind_on_home_chan() is a success. If the API returns a
failure (eg: radar on non-dfs segment), do not send radar detect event
to user space.
CRs-Fixed: 3254309
Change-Id: Iefc277348569e1494401f0ec215bb786e4153268
After received rx packets, host should keeps in active state for some time
(500 ms by default) until next runtime suspend is triggered, If found rx
link speed change from good to poor or from poor to good, can send
to firmwware by WMI instead of QMI, QMI may block current thread for N msec
for sync mode is used.
Change-Id: I94b45ce6125a24466fbcf57e22f1a56cbdeefe9a
CRs-Fixed: 3262032
Smart Antenna retrieve Rx EVM info support for RX feedback collection.
Support is for Wikiki.
Change-Id: I0daa657efe1054dbcc58f9318e97be02701723e6
CRs-Fixed: 3255729
skb queue is not always mapped to the proper CPU
hence it is good to map the ring_id to CPU through get_cpu
API.
Change-Id: I3bf76452cc1fcb2033ef1a8640c4dd31ecba61b3
CRs-Fixed: 3255144
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
Currently the FTM rx frames are dropped in
tgt_mgmt_txrx_rx_frame_handler considering them as unspecified
packets as action category for FTM is not defined.
Define FTM action category so that the FTM frames will not be
considered as unspecified frames and dropped while processing.
Change-Id: Ieb3980978e38b3f826f42380e29798767c8f1fe2
CRs-Fixed: 3254409
Add provision to call sync prevent suspend which will wait for
system to resume and increment usage_count before returning.
Change-Id: I855e3fc2660dc7f3f78bb70f8eef6228cbef96d3
CRs-Fixed: 3253335
This function fails to register in the 6750 platform.
Since some old chips do not have l3 type field, the
callback function cannot be registered, so this change
solves it by recognizing whether the callback is NULL.
If it is NULL, then return an invalid vallue: 0xFFFF.
Change-Id: I47c8df5e54eeac9489010e45057e44eccdb2bf22
CRs-Fixed: 3258200
Currently when firmware crashes during driver load,
message queue handlers for scheduler context are not
registered. While handling the FW down event, driver
posts the message to scheduler queue. Since the queue
handler is not registered, it results in crash.
To address this issue, handle the msg gracefully and
return error in case callback is not registered.
CRs-Fixed: 3251983
Change-Id: I5dd55e701cf332153dca1f6678271506b9690f6e