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
Currently, ML IE address update is missing while copying the beacon data.
This may result in illegal memory access when ML IE accessed from copyied
scan entry after original scan entry got freed.
To avoid this, update ML IE address in new scan entry while copying
scan entry.
Change-Id: I6161481cbd13573b8177f122f7d26d177cc07aaa
CRs-Fixed: 3052302
Do not limit the max length of RSN/WPA IE as they can contain multiple AKM
and CIPHER. We need to consider all the variables to limit the max length.
Change-Id: I204f86d7c773d0c104ad1f58b3648d6c5577af94
CRs-Fixed: 3051247
The API that takes in the input 6G AP power type and updates current
channel list, allows setting the same power type which is not needed and
is a costly operation.
Change-Id: Ia690f40a6796a0db243f0abd15f2eebc8340d1d9
CRs-Fixed: 3051502
The power event received status is set when AFC power event is received
and is reset unconditionally when AFC expiry event received.
Reset AFC power event received status only on receiving AFC expiry event
with sub-type AFC_EXPIRY_EVENT_SWITCH_TO_LPI.
Change-Id: Ib7c1d12cbc2797ddbb19d73fd38d82d100adf3d3
In case when connect req is received while ML connect is in progress,
disconnect is issued with SB_disconnect as source but sb disconnect is
not handler in join active. So, send osif_cfg_disconnect as a source
Change-Id: I9604e23193ba3aef334f0873d2460a992b1914ea
When the frequency ranges and channel frequency indices in the AFC
server response are not the same, the current channel list has
channels enabled, that are absent in the CFIs.
This is because the AFC master channel list is built by intersecting
the frequency ranges in the AFC frequency object and state of the
channels in the SP AP master channel list.
To fix this issue, build the AFC master channel list by intersecting
the frequency ranges in the AFC frequency object and state of the
channels along with the CFIs received in the AFC channel objects from
the target.
Change-Id: I12cc54f90b75b9a7be491e7dd2e9c101be6dd1f6
CRs-Fixed: 3042040
Add a CDP api to update the packet capture mode in dp_soc
when it get updated by user using vendor command.
Change-Id: Id0856aeeb5e1a77e1ce6fb23562fdbff4a2fb320
CRs-Fixed: 3048344
wma to target_if convergence code is guarded under the feature
flag ROAM_TARGET_IF_CONVERGENCE and it's is enabled currently.
Remove the flag usage and remove the deprecated code(else part)
also.
Change-Id: Id3171956028d6086f85eac73865c37498926d6cc
CRs-Fixed: 3049946
Add 11be D1.0 Mac and Phy capability defines.
Corrected lengths if the capability fields.
Change-Id: I40e2d048946857498c425ca01c3010f255081833
CRs-Fixed: 3025958
For enabling LPI/SP mode host service flag bit is expected
to be enabled. Updated the variable name appropriately to
correctly reflect interpretation of the Host service flag.
CRs-fixed: 3024535
Change-Id: Ie5fa2b4036074bf5304c17984007401f821d6d04
Add dp functionality to collect stats for sysfs buffer.
Add both host and fw stats.
Change-Id: I64f84804d36cccec9d701925d96cc7ee96943b7a
CRs-Fixed: 3035864
Currently, host allows NAN log messages from firmware upto a max
size of 200 bytes. But firmware may need to send bigger messages
than this in case of stats events as tx/rx stats message length
can go upto 350 bytes.
So, allow NAN messages upto 400 bytes to avoid splitting
the stats messages.
Change-Id: Ibb03944da81ed8d378dadbf4750013e0fe941e57
CRs-Fixed: 3049258
The "wmi_pdev_dfs_radar_detection_event" has an unused field "chan_freq".
It currently holds the value of primary 20MHz channel. With the
introduction of 11BE chipsets, this field is changed to hold the value of
the center frequency of the channel width on which the radar is found.
This new change is indicated by a wmi service
"wmi_is_radar_found_chan_freq_eq_center_freq".
For the Chipsets that support this service, the radar found frequency
can be calculated by mere addition of the fields "chan_freq" and
"freq_offset" field.
Change-Id: I8d2ce0023e2feb6e749ca8d7d5f547fafc0fdf98
Handle QCA_WLAN_VENDOR_ATTR_TWT_SETUP_WAKE_TIME_TSF attribute
in TWT setup command to provide absolute TSF value to firmware.
This helps application to start TWT session on specific TSF value.
Change-Id: Ic25b45e88599a024e6c4e6bb265ea90122405d05
CRs-Fixed: 3029020
Send responder pm mode info in twt setup event and twt
get session parameter response.
Change-Id: I1f58e0bed62f152d84cec20ff7924d05e126347f
CRs-Fixed: 3029014
The multicast echo check feature is moved to hardware in
Beryllium. Enable this hardware feature and also disable
the MEC handing code for Beryllium in the host.
Change-Id: I86d319963191f3ed77aba16dcccbc659906edd9f
Add some 11BE files inclusion under feature flag to fix
compilation error when 11BE files are removed.
Change-Id: I809c5a3e3be2b6a7db35fa420714063b730ebe1d
Spectral scan bandwidth value that is received over NL80211 socket will be
in NL80211_CHAN_WIDTH format. Convert it into phy_ch_width format before
using it in the driver. Similarly, convert the spectral scan bandwidth to
NL80211_CHAN_WIDTH format before sending over NL80211 socket.
Change-Id: Ic3b464bff6ac62a9d0c1f915118a4ca6db416252
CRs-Fixed: 3048195
When the AFC dummy server sends the frequency range with only the
UNII-6 channels, the AP still moves to SP and comes up on the
UNII-6 channel.
In reg_fill_max_psd_in_afc_chan_list, the channels are enabled in the
AFC master channel list only based on the frequency ranges present
in the AFC frequency object. There is no condition present to check
if the channels are supported by the reg_rules sent by the target
in the WMI_REG_CHAN_LIST_CC_EXT_EVENT.
To fix this issue, before enabling the channel in AFC master channel
list, check if the channel is also enabled in the SP AP master channel
list.
Change-Id: I2cbe69acf13bff57662f77eeab70e3f3a3240196
CRs-Fixed: 3042428
FW sends Spectral scan detector info TLV in WMI_PDEV_SSCAN_FW_PARAM
event to indicate the information of a detector participating in a sscan
session. FW sends one TLV of this type for each detector participating
in a spectral scan session. Add support to process the TLV and update
the spectral host data structures accordingly.
CRs-Fixed: 3044193
Change-Id: Ie17b6ea9336ada7a00e4594fa2f7f49ef3d443e5
FW sends Spectral scan chan info TLV in WMI_PDEV_SSCAN_FW_PARAM_EVENTID
event to indicate the channel information for a spectral scan session.
Add support to process the TLV and update the spectral host data structures
accordingly.
CRs-Fixed: 3044162
Change-Id: Ibbf7f6bbbb267123bbdf44bcfffa2cfb1c2926df