Commit Graph

16684 Commits

Author SHA1 Message Date
Amith Ajith
c3bb3fb37a qcacmn: Fix incorrect 6g supported channels reported for opclass 133 & 134
API reg_get_channels_from_opclassmap populates channels from opclass map to
reg_ap_cap as supported and non-supported channels. But for 6g opclass 133
and 134, non-supported channels were also getting reported as supported
channels.

This was due to an error in the logic of reg_get_channels_from_opclassmap
API for opclass 133 and 134. The 20Mhz channels towards the end of the
channel list in the op_class_tbl were causing the issue.

To address this issue, add a logic to get the supported and non-supported
channels from the cfi list object of op_class_tbl for 6GHz in the
reg_get_channels_from_opclassmap API. Also remove the 40MHz centre channel
calculation condition for 6GHz in reg_get_chan_or_chan_center API as it is
being handled in the new API.

CRs-Fixed: 3133022
Change-Id: If6ea18f79786c8549a1c75c557adffa178dd5c71
2022-03-09 17:44:59 -08:00
Jhalak Naik
055dfbe881 qcacmn: Add Host support for Spectral FFT recapture
Add support to receive the fft_recapture arg value
from spectraltool, handle the FFT recapture config and
pass this to FW. The recapture feature must be
enabled only for spectral scan period > 52 us and
Normal Spectral scans.

Change-Id: Ied637704d25bb15bff2139a215da7481d4f80e4f
CRs-Fixed: 3140890
2022-03-09 06:51:27 -08:00
Devender Kumar
b64b200ff8 qcacmn: Fix for early free of IPA global varible
With multiple radio supporting IPA offload path, the g_ipa_config
is getting free when doing wifi unload for single radio, which is
leading to an issue of early free of g_ipa_config variable.
Fix is check if all the soc are down and then only free the
global struct for IPA.

Change-Id: If8fbc7a72c91a26e6f9e680711cd58429f8a1e99
CRs-Fixed: 3137091
2022-03-09 05:37:51 -08:00
Tallapragada Kalyan
edbfac7e2e qcacmn: prefetch nbuf data and nbuf fields for Beryllium
prefetch certain nbuf fields and nbuf data fields, this
will ensure these fields are in cacheline by the next
iteration of the rx processing loop.

CRs-Fixed: 3146589
Change-Id: I69fd9a7800c7e881cf6635f329343195d19735c5
2022-03-09 04:07:41 -08:00
Venkateswara Swamy Bandaru
6d2cd0a2b4 qcacmn: Fix RNR Overwriting issue
Fix condition check of updating RNR info.

Change-Id: I441351f2236183e304b833c59469e1278485e2dd
CRs-Fixed: 3144862
2022-03-09 04:07:35 -08:00
Madhvapathi Sriram
4cbd31b6b4 qcacmn: User MCC quota setting
Make MCC quota limits configurable

Change-Id: I61a0b8124ab193f8d2c05ec36f0e97c85a1df774
CRs-Fixed: 3106155
2022-03-09 02:45:46 -08:00
Srinivas Pitla
d6beb68484 qcacmn: Fix issue in primary umac id
This change fixes psoc id assignment in primary UMAC
selection

Change-Id: I04beaf3cdce4f9487380ac5ab84e1d0070c243dd
CRs-Fixed: 3144033
2022-03-08 23:59:30 -08:00
Pavankumar Nandeshwar
649873d3a1 qcacmn: Decrement quota for all packets in rx process
Decrement quota and num_pending for all packets in
rx process

Change-Id: I296c7bc2590cc388ce24cc75455b62656434f2af
CRs-Fixed: 3137924
2022-03-08 21:03:53 -08:00
Vivek
ab4011fd69 qcacmn: Add call for SAWF TX enqueue stats update
Add call for SAWF Tx stats enqueue update

CRs-Fixed: 3146113
Change-Id: I461d6d4fc03541d4b8fffec48264197c5ab1c97d
2022-03-08 05:37:58 -08:00
Subrat Dash
20b758944f qcacmn: Decouple FEATURE_PERPKT_INFO from MESH_MODE_SUPPORT
The per packet info feature can be enbaled to support enhanced
stats independent of mesh mode.

Change-Id: I852e7a958c520901b6f418d30deb53fa2f68fb68
CRs-Fixed: 3079000
2022-03-08 05:37:52 -08:00
Vignesh U
1f1b921796 qcacmn: Add supported 6g power types dispatcher APIS
Add the supported 6g power types dispatcher APIs to
i) get the best 6g power for a given frequency.
ii) convert input 6g ap power type to supported 6g power type enum.
iii) get the 6g ap power type from supported 6g power type enum.

Change-Id: I4b8bce5f23c7c0b95f9192ff20d90a908b3e0bd7
CRs-Fixed: 3110989
2022-03-08 04:20:07 -08:00
nakul kachhwaha
dff43f12ea qcacmn: Add support for 6ghz relaxed connection policy
Adding new API to bypass scanning and connection
restrictions to bss operating in 6GHz with different
country code.
This API is based on a cfg item which can be configured
separately from safe mode or rf test mode.

Change-Id: I47396ac8793172e94499377cb0b980f7eee0f39e
CRs-Fixed: 3135147
2022-03-08 01:19:59 -08:00
Devender Kumar
89fb12ba8a qcacmn: Fix for IPA deinit path
While Unloading WIFI ko IPA deinit path is called thrice
and leading to double free issue which is causing kernal
panic, FIX is call the IPA deinit only once for each soc/pdev.

Change-Id: I3b5bd500afabe45cb8d1062e2c82a4b338f28544
CRs-Fixed: 3130590
2022-03-07 23:46:18 -08:00
Aditya Sathish
1cebff1228 qcacmn: Use best regulatory power mode in scan manager
Due to the nature of discrete channel lists for each
power mode on the host driver, it is currently not
possible to scan 6GHz channels which are not part
of the operating regulatory power mode.

To enable scanning all 6GHz channels irrespective of the
regulatory power mode (i.e., standard, low, etc.), the
existing sanity checks for the regulatory current channel
list need to refer to the super channel list
instead.

Additionally, these sanity checks need to check the
channel state and flags for the best power mode instead
of the current power mode. This will allow the scan
manager to access all 6GHz channels irrespective
of the current regulatory power mode.

Multi-band operation (for radios operable on 2.4GHz,
5GHz and/or 6GHz) is also ensured in these sanity
checks.

CRs-Fixed: 3140935
Change-Id: If10c617834dd89f4bbd99669318fd84c63421755
2022-03-07 20:19:12 -08:00
Vivek
f8beed3fc7 qcacmn: Change search type to HAL_TX_ADDR_INDEX_SEARCH for sawf
Firmware expects search type to be 1 in
per packet path when sawf is enabled.

Change-Id: I6d7e5cae9b46f5a15eb0a53eefb9534ccb36ef64
CRs-Fixed: 3138558
2022-03-07 06:23:06 -08:00
chunquan
3407f05fb7 qcacmn: Fetch thermal_stats in array range
Since lvl_idx maybe get value large than
param_buf->num_temp_range_stats, then out
of bounds will happen when read array of
wmi_tt_stats.

Change-Id: I85b29216272952102dca41792c290baf285a8e31
CRs-Fixed: 3136333
2022-03-07 05:06:24 -08:00
Rakesh Pillai
00dcb987ed qcacmn: Fix the detection of non-ofdma packets from USIG header
Currently the detection logic for non-ofdma packets based
on the ppdu_type_comp_mode and ul_dl is incorrect.

Fix the logic to detect non-ofdma packets from USIG header.

Change-Id: Ic029a2fea948595157146e4105337d02d2e5ed43
CRs-Fixed: 3143088
2022-03-07 03:44:11 -08:00
Amir Patel
b37c8d9550 qcacmn: Handle empty, flush and truncated ppdu in RxMON
In case of empty HW descriptor, sw cookie is not valid.
Instead, HW reports ppdu_drop_cnt, mpdu_drop_cnt and
tlv_drop_cnt.
Do not process sw desc, if it's empty HW desc indication.

In case of flush and trucanted PPDU, status buffer need to be discard,
added handling for same.

Change-Id: I1219f71645072bb9e0e80ff271fa354f305c7961
CRs-Fixed: 3144525
2022-03-07 02:16:44 -08:00
Tallapragada Kalyan
7ec6dc2b01 qcacmn: Access shinfo fields only if qdf debug is enabled
Access shinfo fields only if qdf debug is enabled

CRs-Fixed: 3140011
Change-Id: Ifafeb678d7e9d469fd05da4845376a290e42c452
2022-03-06 01:26:00 -08:00
chunquan
19cc13911c qcacmn: Replace blacklist/whitelist with denylist/allowlist
Replace blacklist/whitelist with denylist/allowlist
in qca-wifi-host-cmn.

Change-Id: I1a27d025ccb9d5fcc3c573d47a84f9667a229c9b
CRs-Fixed: 3098934
2022-03-05 07:11:01 -08:00
Jhalak Naik
24174b7be8 qcacmn: Add support for Spectral FFT recapture config
Add support to handle the FFT recapture config and
pass this to FW. The recapture feature must be
enabled only for spectral scan period > 52 us and
Normal Spectral scan.

Change-Id: I6b92fcd674ae95bcd0a23892ef9ccc6ba487d6ad
CRs-Fixed: 3140890
2022-03-04 13:45:00 -08:00
Liangwei Dong
29ffc29223 qcacmn: Add MCC Quota event handler
Handle WMI event WMI_RESMGR_CHAN_TIME_QUOTA_CHANGED_EVENTID
and indicate to protocol layer.

Change-Id: Ie842998ed50a52351dd24857c0565c535a2edca1
CRs-Fixed: 3101765
2022-03-04 09:08:54 -08:00
Amruta Kulkarni
8d0d85c7e4 qcacmn: Add null check for mlo api's
When mlo_dev_ctx is not initialized, it causes NULL ptr
access causing crashes.
Add NULL check in mlo api's to avoid the issue.

Change-Id: Icd7472cab22e3ff441cc9327f0443adb939bbc05
CRs-Fixed: 3143777
2022-03-04 01:50:43 -08:00
Nandha Kishore Easwaran
758039d43d qcacmn: Legacy interrupt changes in Datapath
Add Legacy interrupt changes for QCN9224 target. Added code to calculate
hif group for DP interrupts and initialize legacy interrupts for the same.

Change-Id: I1b2f81905d3ce840fea172b13cbd192f041913d4
CRs-Fixed: 3139986
2022-03-03 17:36:53 -08:00
Pragaspathi Thilagaraj
8645804897 qcacmn: Fix invalid btm candidate TLV conditional check
The number of BTM candidate info TLV is sanitized against the
total number of candidate info in the roam stats event. But
the condition for validation is not correct. So BTM request
candidates and preferences are logged as 0.

Fix invalid btm candidate TLV conditional check in
extract_roam_trigger_stats_tlv.

Change-Id: Ib96cd8c2ba84726b23490bcaf8a934cca2c82d2c
CRs-Fixed: 3142568
2022-03-03 15:03:26 -08:00
Jia Ding
d40b388d2f qcacmn: Mark first packet after wow wakeup
Add feature support to tag first packet that wakes up HOST from WoW.

rx_pkt_tlv.rx_msdu_end.reserved_1a field is used by TARGET to meet
such request.

Change-Id: I3d37e13e8cff49bc4f622d3070a19e4c4be56417
CRs-Fixed: 3137621
2022-03-03 07:22:05 -08:00
aloksing
7148dfedf8 qcacmn: Handle enhanced stats from Rx monitor path in Waikiki
Update enhanced stats from Rx monitor path in Waikiki.
Populate mpdu_retry_cnt, sw_peer_id, mpdu_ok_byte_cnt and
mdpu_err_byte_cnt from PPDU_END_USER_STATS TLV.
Fix KW issue.

Change-Id: I055ff84f6304ba71b09a9a75b8420183ab6e9d8a
CRs-Fixed: 3134900
2022-03-03 04:56:34 -08:00
Sai Rupesh Chevuru
9e4a8f0f21 qcacmn: Enabling TX FW metadata V2
As part of TX FW metadata V2 global sequence number based
and SVC ID based support added.

Change-Id: Iefee2c47ecbebf6edfec9a687ef67e0e270bbf06
CRs-Fixed: 3136931
2022-03-03 03:38:24 -08:00
Amir Patel
193246d3d3 qcacmn: Add core Rx monitor processing
Add core Rx monitor processing

CRs-Fixed: 3074352
Change-Id: I984fff721d671de6f62d6d9e6e13bd80c543ea8e
2022-03-03 03:38:18 -08:00
Amir Patel
f78b0ccc9c qcacmn: Add workqueue infrastructure for Rx monitor processing
Add workqueue infrastructure for Rx monitor processing

CRs-Fixed: 3074291
Change-Id: I9b898c0101bf3e294e06cd2d491a0eecb47ec765
2022-03-03 03:38:12 -08:00
Amir Patel
f17d789fa6 qcacmn: Add Waikiki monitor HAL processing
Add Waikiki monitor HAL processing

CRs-Fixed: 3073467
Change-Id: I2b1768b827f34785effed6c076a099628870e2a5
2022-03-03 03:38:05 -08:00
aloksing
482fba652b qcacmn: Increment pkt type for WKK
Define DOT11_BE as per Rx tlv
Increment pkt type for WKK

CRs-Fixed: 3121279
Change-Id: Id4bf93e5dcda08cc7fccfe3f8f06b00e5b29d4e3
2022-03-03 03:37:57 -08:00
Chaithanya Garrepalli
52352f5bda qcacmn: reset is_lro_hash_configured in pdev init
Reset pdev->is_lro_hash_configured flag to default
in dp_pdev_init.

Change-Id: If4064cbf5d8f76180eb9f6ba4d7fb278418dfc67
CRs-Fixed: 3141090
2022-03-03 02:11:24 -08:00
Bapiraju Alla
49a86029a8 qcacmn: Update VDEV connected links bitmap after STA link connect
Currently, VDEV connected links bitmap is not being updated properly
for link VDEVs. Because of this, during the disconnect assoc peer
is being deleted first instead of link VDEV peer.

To address this, update VDEV connected links bitmap after STA link
connection complete.

Change-Id: Id8465948fbb3af2f063e04ec9403cb4e3a6f98d8
CRs-Fixed: 3125636
2022-03-03 02:11:18 -08:00
Neha Bisht
229317b922 qcacmn: Avoid intrabss check in Tx NAWDS path
Intrabss check for NAWDS was added as a temporary fix to resolve the
issue of selfbridge enteries present in AST table. The actual reason
is loopback pkt received with one's own bridge mac. To avoid this, add
a check for not sending out any packet with an invalid peer id in the
ast table.

Change-Id: Ia4c520bcc8b7077f0b484a0bc40c4d26db77c3f4
CRs-Fixed: 3135142
2022-03-03 02:11:13 -08:00
Linux Build Service Account
55d7ee3310 Merge "qcacmn: Fix TWT rx frames capture in packet capture mode" 2022-03-02 20:11:08 -08:00
Vulupala Shashank Reddy
f31ce2f1c1 qcacmn: Fix TWT rx frames capture in packet capture mode
Currently the TWT rx frames are dropped in
tgt_mgmt_txrx_rx_frame_handler considering them as unspecified
packets as action category for TWT is not defined.

Define TWT action category so that the TWT frames will not be
considered as unspecified frames and dropped while processing.

Change-Id: I2d9c01e89029bcbb379a5a9c77a7d101de155d6a
CRs-Fixed: 3087275
2022-03-02 18:39:50 -08:00
Linux Build Service Account
99bbed9b55 Merge "qcacmn: Add reg API to check for enable channel state" 2022-03-02 16:42:02 -08:00
Deeksha Gupta
8944151a4b qcacmn: Add reg API to check for enable channel state
Add new reg API to check if frequency is active (non-passive) 
or not from the secondary channel list.
The API checks the channel state against CHANNEL_STATE_ENABLE.

Change-Id: If41850563e680659ea815f09207ec0b854a2f040
CRs-Fixed: 3136785
2022-03-02 16:15:22 -08:00
Linux Build Service Account
ac86f3c949 Merge "qcacmn: Update gEnableSNRMonitoring to true" 2022-03-02 13:47:29 -08:00
sheenam monga
00f035dcde qcacmn: Update gEnableSNRMonitoring to true
Currently in wma_chan_info_event_handler chan info
is updated based on gEnableSNRMonitoring. By default
gEnableSNRMonitoring is set to false, due to which
chan info is not updated.

Fix is to keep gEnableSNRMonitoring enbaled, so that
chan info can be updated.

Change-Id: I77a999d64fca093c8bc50e4532e659f37a3ac593
CRs-Fixed: 3109317
2022-03-02 11:06:13 -08:00
Linux Build Service Account
03423a5af1 Merge "qcacmn: Use msdu_done_copy bit for Waikiki" 2022-03-02 10:09:50 -08:00
Linux Build Service Account
f16969fa98 Merge "qcacmn: Extend ce_name to include 16 ces for wkk" 2022-03-02 10:09:49 -08:00
Gerrit - the friendly Code Review server
3514a1cff8 Merge changes into wlan-cmn.driver.lnx.2.0 2022-03-02 09:46:45 -08:00
Pavankumar Nandeshwar
5f9a27027d qcacmn: Use msdu_done_copy bit for Waikiki
Use msdu_done_copy bit for Waikiki instead of msdu_done
bit, as access to the latter involves reading of an entire
new word, of which no other parameters are accessed.

Change-Id: I09017e53faff73aef484241f1972fe8c75585eb0
CRs-Fixed: 3132624
2022-03-02 08:15:48 -08:00
Kiran Venkatappa
6d8cb5bed5 qcacmn: Extend ce_name to include 16 ces for wkk
16 CEs are available in WKK. Extend ce_names array to include 16 CEs to
fix out-of-bound access

Change-Id: I681aee58cb189b726af9d24f3d8fc2bab4ea6f1a
CRs-Fixed: 3136045
2022-03-02 06:56:04 -08:00
Himanshu Batra
8da6f58098 qcacmn: Fix static analysis issue in MLO disconnect API
Fix static analysis issue in MLO disconnect API

Change-Id: Ibf7b82e4805a81d2d32ea2bfa82a8e1f3756867c
CRs-Fixed: 3140790
2022-03-02 05:28:55 -08:00
aloksing
97c1a168a5 qcacmn: changes for pdev stats
aggregate newly added 11BE specific stats for pdev

Change-Id: I3f25a4510b0dd60a4105befb8311f10cd6ef2ab0
CRs-Fixed: 3120318
2022-03-02 04:19:34 -08:00
Subrat Mishra
bd3eefcabd qcacmn: Update missing TX RX DP stats for pdev
Update missing TX RX Data Path stats for pdev in pdev aggregation
function.

Change-Id: I6f6311f66b6eb9271015d0debb8d1d9ccce62881
CRs-Fixed: 3133098
2022-03-02 04:19:28 -08:00
Bapiraju Alla
b88a049cb7 qcacmn: Don't unlink the BSS for ML VDEV connect failure
Currently driver is doing unlink BSS when there is a connect failure.
This will cause an issue, for 2G+5G ML connection.
  1) Connect on 5G link failed due to Auth failure
  2) Connect on next candidate (2G) is success and FW is in SMM
  3) Partner link(5G) connect will fail due to 5G scan entry won't
     be found in SMM mode.

To avoid this, don't unlink the BSS for ML VDEV connect failure.

Change-Id: Icaa8c736d9038c971b5c3d459fd4af5a833bdc80
CRs-Fixed: 3129726
2022-03-02 04:19:22 -08:00