When sending the connect for subsequent links in MLO, make sure to set
the capability bit, otherwise it will be marked as assoc link.
Change-Id: Ic0145b40e84ea440ea389200356d1f916a1ba530
CRs-fixed: 3055892
It calls spectral_process_phyerr of spectral operations without any
check. Which cause null point dereference potentially. So, check this
pointer before calling.
Change-Id: Iae246f847dd41e62b628223652a9527a65b43799
CRs-Fixed: 3055246
Take care of the MLO peer bit indication to be
concatenated with peer_id to access the peer map
object.
Change-Id: Ia603a728101e83829a8906d1b847f42389e78ca6
CRs-Fixed: 3039326
Add the handler for processing the htt
peer map/unamp v3 and MLO peer map/unmap msgs.
Change-Id: Ie2ab0b76e7aee566ca3b9637b83fd7a14718ab01
CRs-Fixed: 3039326
When performing an MLO connection, the subsequent links need data
from the original connection request. There is no easy way to
determine if the connection is MLO or not at this point, so
store the original connect request regardless of the connection
type. Also make sure all instances are freed properly.
Change-Id: Iccce376ba36a8c49127b177fc4a1bac54aafb315
CRs-fixed: 3051842
For SAE SAP, after full SAE authentication, only pmkid
will be sent down to driver, PMK len is zero.
Driver should accept the set pmksa without PMK.
Add check pmk length checking and if pmk len is zero,
driver allow the set pmksa.
Change-Id: Ic05dee4cce31233dbe6dfced05df54fe8972dd1f
CRs-Fixed: 3042899
Clear the MLO capability bit in the following scenarios:
- On a successful disconnect complete
- On a failing connect complete
- Every time we fetch a new candidate
This will ensure subsequent connections are not effected by this bit.
Change-Id: I4cbda78715450b5db5bc25cb7f6a141d636b712b
CRs-fixed: 3054192
This change includes below
1) Changes needed to increase Tx rings to 4
2) Use WBM2SW4 ring for rx error in QCN9224
3) memset srng at alloc to avoid populating RBM_id
in per packet path and enable implicit RBM
Change-Id: Icbd5ac2378273b8f3c6adc41c611e29551fff22f
Populate and expose the following 320MHz spectral capabilities.
- Agile spectral scan support for 320MHz mode.
- Number of detectors used for spectral scan in 320MHz mode.
Change-Id: Ibea77d4ec8b1d9322ef82d1d48236836ffad24ec
CRs-Fixed: 3053059
Add HIF events to track NAPI POLL exit time, this gives
information about actual time spent by wlan host in napi softirq.
Change-Id: I7548fd05f2f7db714ac9bcf79171ffb3d478e936
CRs-Fixed: 3052902
Add a QCA vendor attribute to indicate agile spectral scan support for
320MHz mode. Add another attribute to indicate the number of
detectors used for spectral scan in 320MHz mode.
CRs-Fixed: 3045445
Change-Id: I4667e93e8074af122bfe9e08bededc439811afbf
Currently the IRQ mask for tx completion near full
interrupt is not in sync with the tx completion rings
which are enabled for WCN7850.
Fix the mask for tx completion near full interrupt.
Change-Id: I1432191b260094060873406d48e04fde5b7bc35e
CRs-Fixed: 3052650
- Add support htt msg for HTT_H2T_MSG_TYPE_TX_RING_SELECTION_CFG
msg configuration
- Add support for configurable length dma
per packet type for rx monitor.
- Add support for wordmask subscription for rx monitor.
- Add support for per packet msdu/mpdu logging config.
- Add support for tx monitor tlv subscription.
- Dummy APIs for 2.0 filter configuration
Change-Id: I36b18c03eff452537c2f051b24275b81ab98ebae
CRs-Fixed: 2991330
Add APIs to allocate, free, init and deinit
sw descriptor pool for rx and tx monitor.
Change-Id: I03287cf3c590ace91825f16a7b0c5752c04fc8ed
CRs-Fixed: 3010468
- Change to allocate BE specific monitor soc
- Allocate, initialize soc and pdev level monitor rings
- HTT srng setup for source ring
- Dummy APIs to allocate, initialize sw desc pool
Change-Id: Icf90994e7bd76017cf3c83ae00449d839967321d
CRs-Fixed: 2991298
- New data structures are added for BE monitor support
- dp_mon_soc_be - to maintain soc level BE specific fields
- dp_mon_pdev_be - to maintain pdev BE specific fields
- dp_mon_desc_pool - to maintain descriptor pool
- Monitor ops are updated for 2.0 and corresponding dummy APIs
are added.
- dp_mon_filter_srng_type is enhanced for TxMON
Change-Id: I12a2fbc53e4eecc7a191b7aa925431298d0a9f54
CRs-Fixed: 2991276
- Features common to both Li and BE and
their APIs are retained files at dp/wifi3.0/monitor.
- New monitor ops are introduced if there
is a requirement for divergence of API.
- Diverged API definitions for 1.0 are captured
in this change.
All of code in below files are moved to 1.0
- dp_rx_mon_dest.c -> 1.0/dp_rx_mon_dest_1.0.c
- dp_rx_mon_status -> 1.0/dp_rx_mon_status_1.0.c
Only Li and HMT specific are moved for below file
- dp_mon_filter.c -> 1.0/dp_mon_filter_1.0.c
- dp_mon.c -> 1.0/dp_mon_1.0.c
Change-Id: I44d163b27565b86068d80e1d97ec11d0b4a081d4
CRs-Fixed: 2991248
- dp/wifi.3.0/monitor/ => directory for monitor specific code
- dp_rx_mon.c: status TLV procesing + packet buffer processing
- dp_rx_mon.h: Rx monitor header file common for Li and Be
- dp_mon_filter.c: Monitor filter configuration
- dp_mon_filter.h: Monitor filter header file common for Li and BE
- 1.0/ => directory for Lithium specific handling
- dp_rx_mon_1.0.h: Rx Monitor specific header file
- dp_rx_mon_dest_1.0.c: Packet buffer processing
- dp_rx_mon_status_1.0.c: status TLV processing
- dp_mon_filter_1.0.c: Rx Filter configuration
- dp_mon_filter_1.0.h: Rx Filter configuration header
- dp_mon_1_0.h - Li specific monitor ops
- dp_mon_1_0.c - Li monitor ops handling
- 2.0/ => directory for BE specific handling
- dp_rx_mon_2.0.h: Rx Monitor specific header file
- dp_rx_mon_2.0.c: Packet buffer processing
- dp_rx_mon_status_2.0.c: status TLV processing
- dp_tx_mon_2.0.h: Tx Monitor specific header file
- dp_tx_mon_2.0.c: Packet buffer processing
- dp_tx_mon_status_2.0.c: status TLV processing
- dp_mon_filter_2.0.c: Rx and Tx Filter configuration
- dp_mon_filter_2.0.h: Filter configuration specific header
- dp_mon_2.0.h: BE specific monitor ops and defs header file
- dp_mon_2.0.c: BE specific monitor ops handling
Change-Id: I74b5408460b5f2f4b31f73947b55d97dfe3b971e
CRs-Fixed: 2991215
Keep track of the global time stamp of the last
management frame delivered to the upper layer.
Drop all the frames older than the last delivered
frame.
CRs-Fixed: 3049671
Change-Id: Ibe0cc239f7af38da63ea8c405b3f89fc9473ea57
Add wmi support for eht vdev params
mu mode, puncturing mode, ltf config, dcm
and range extension configs.
Change-Id: I6cfc0297a4a323775614f28717c50109558dd401
CRs-Fixed: 3052104
Pass report parameters to FFT bin byte swap function instead of
FFT bin length adjustment WAR.
Change-Id: I02a280bc4e8e0839c894a70258e1f16a784c08a6
CRs-Fixed: 3051559
This change is used to provide an API for PMO module to
check whether there are pending TX frames before HOST sends
wake up indication to FW. PMO module uses this to indicate
FW whehter to discard HWDTIM.
Change-Id: Icc3271e87e376e3313fddc5f4f99e39daeaf6af7
CRs-Fixed: 3046947
Validate the SSID & cache ID if SSID length is present in the
pmksa entry, as in FILS case only SSID and cache id are filled
and BSSID is not filled.
So validate the BSSID only if the SSID is not present.
Change-Id: Ia0a31f953869f00495fad597bb564ec706425312
CRs-Fixed: 3051530
Scenario: In case of STA + STA, NB/SB issues disconnection for
vdev 0 when vdev 1 is in connecting state.
As connection is blocking serialization command and it can try
multiple candidates and can take upto 30+ sec, there is a
chance that disconnect may get timeout and is followed by
vdev delete from osif. This can lead to vdev delete sent
without vdev down/stop and bss peer delete for vdev 0.
So abort connection when trying for candidate if any of the
vdev is waiting for disconnect, to avoid disconnect timeout.
Change-Id: I7ef50b2e870317d2b095dd0385fcbe1c5b86fd20
CRs-Fixed: 3051567
TP and HP values are assigned wrongly while
printing ring history. Fixing assignment.
Change-Id: I50ea90a3b49ab4d5459a3e0ddfa259f669764433
CRs-Fixed: 3051531
In current architecture, when host receives backpressure
event from FW, it prints pdev_id, ring_id, hp and tp values
for that ring in the tasklet context.
In same context, memory to hold the information of other
rings is allocate, which then put into the list maintained
at pdev level and work is scheduled for printing this info.
In scenarios of heavy load, where the backpressure events
are continuously triggered, the list can grow to a bigger
one and printing of ring stats for all of these events can
be a heavy CPU hit.
As an optimization, restrict the depth of the list to 16
by checking the size of list when backpressure event is
received from FW. When list size reaches the max value (16),
then remove the entry from head and insert the new entry at tail.
Also in the worker thread, fetch only 1 entry from the list for
printing and schedule the work again if the list is not empty.
Change-Id: If4291b9d5ebee1e3d1eea80bbd0134faf090b2b8
CRs-Fixed: 3049635