Commit Graph

13028 Commits

Author SHA1 Message Date
Kiran Venkatappa
8b5f8ef911 qcacmn: Add WMI MLO params for peer assoc command
New TLVs for MLO flags are introduced in peer assoc WMI
command. Add WMI changes to add these TLV in the peer assoc
command.

Change-Id: I366a96c973c3bedda03e4c370099ff809e0bd83d
CRs-Fixed: 2958851
2021-06-22 01:38:37 -07:00
Kiran Venkatappa
9b1509ec99 qcacmn: Add WMI MLO params for peer create command
New TLVs for MLO flags are introduced in peer create WMI
command. Add WMI changes to add these TLV in the peer create
command.

Change-Id: I38a129b30b366b6e3939231699f210d1bac362a1
CRs-Fixed: 2958849
2021-06-22 01:38:32 -07:00
Yu Wang
dcd269c55a qcacmn: enhance crypto api to install key synchronously
Add parameter 'bool sync' for wlan_cfg80211_crypto_add_key()
to indicate whether or not to add key synchronously.
If it's set to true, wait until install key complete event
is received.

Change-Id: I9a69d486665fb3f65a5720ccfbfb638c09329418
CRs-Fixed: 2865832
2021-06-21 23:14:27 -07:00
Aditya Kodukula
45daa78c52 qcacmn: Add credit history into the minidump
As part of minidump enhancement feature, incorporate
credit_history data structure into the minidump.

Change-Id: I66a899f6d4054677f25453e87ebf672a575e1b9a
CRs-Fixed: 2946301
2021-06-21 23:14:21 -07:00
Aditya Kodukula
9e1d64a55f qcacmn: Add WMI Tx completed logs into the minidump
As part of minidump enhancement feature, incorporate
wmi_command_tx_cmp_log_buffer data structure into the minidump.

Change-Id: I323971cc397b3ec710152c774462c85900acc603
CRs-Fixed: 2950790
2021-06-21 23:14:16 -07:00
Abhishek Singh
f162bb1a8a qcacmn: Don't send MLO params in vdev restart request
Current FW implementation is not expecting MLO and partner link params
in vdev restart request. But host is sending these params as part of
vdev restart request. This is resulting in TLV count mismatch for vdev
restart request.

To resolve this, Don't send MLO and partner link params in vdev
restart request command.

Change-Id: Ied4572722c701ad7f53ac12727228a383e570433
CRs-Fixed: 2973256
2021-06-21 23:14:11 -07:00
bings
0e0155eb0d qcacmn: Add mlo link id support
Add mlo link id in struct wlan_objmgr_vdev_mlme

Change-Id: Ib5579bdb85116738714a86c14de6e3bdd46d6271
CRs-Fixed: 2958793
2021-06-21 17:10:13 -07:00
Linux Build Service Account
c7fc526e20 Merge "qcacmn: Add cdp api to flush frags of a peer" 2021-06-21 12:09:44 -07:00
Varsha Mishra
91662e68f5 qcacmn: Drop packets in wbm release ring on cce match
When cce rule gets matched, drop packets in wbm error ring.

Change-Id: Ie9ca88492e3f34156a33747a9043e13c6cde66c0
2021-06-21 07:03:36 -07:00
Priyadarshnee Srinivasan
70279dce34 qcacmn: Redefine conditions to skip CAC
Find out if a VAP is going through restart transition and skip CAC.
All other cases, do not skip CAC based on subset logic.
Also, if the channel is non-DFS, do not do CAC.

CRs-Fixed: 2945741
Change-Id: I5a9de47a879eb8d294dfed126a77970c52b2b546
2021-06-21 01:17:33 -07:00
Shikha Bakshi
e6a26ac369 qcacmn: Add cdp api to flush frags of a peer
Add cdp API to flush frags for a peer.
Change-Id: I796d68dd1e547cb67f7e9262b9f6ac124271f15c

Change-Id: I671419d44f8db5100cb4fc567d2cf52de9ca7beb
2021-06-20 00:31:13 -07:00
Varsha Mishra
b9eedc9d3b qcacmn: Flush fragment cache when peer reaches unauth state
Fragment cache needs to be flushed when peer is unauthorized.

Change-Id: Ia13ccbbcc90ae3f0b2f23d10468304633a86a965
2021-06-19 19:04:32 -07:00
Shikha Bakshi
c54818eb36 qcacmn: Add peer_unauth_rx_drop stat in cdp_pdev_stats
Add the stat to count the numer of packets dropped
when peer is unauthorized.

Change-Id: I7d73f55541b0be4b172893221bb2c7ac8cf7b72e
2021-06-19 11:12:17 -07:00
Abhishek Singh
ce5d191d80 qcacmn: Refactor CM command timeouts and flush req list before deinit
Refactor connection manager command timeouts to handled unexpected
timeouts in VDEV/PEER SM.

Also flush the req list before deinit to avoid memleaks due to these
timout, if SM is not handled properly.

Change-Id: I6cd1857464691838c75b1ceda32f94ad4cda46a2
CRs-Fixed: 2971466
2021-06-18 17:06:18 -07:00
Basamma Yakkanahalli
00bcc8cbd3 qcacmn: Initial changes for ipq9574 target compilation
Added device ID and target type checks for ipq9574 traget
compilation.

Change-Id: Ie337d1256f828987ed469a609c8fb74de2180dca
2021-06-18 11:07:50 -07:00
Srinivas Dasari
1db04afdb1 qcacmn: Allow PMKID only entries also to pmksa cache
In SAP case, external authentication(offloaded SAE authentication
to userspace) status event carries only PMKID to allow/disallow
peers to do PMKID+open auth based connection once the peers are
already SAE authenticated.
A check is added on the PMK length with the below change,
change: Ic41c2044e70f8d375130ef9e0af9fe4b83027c26. It rejects the
PMKID update to the pmk cache if the PMK length is 0. It's not
allowing to cache PMKID derived as part of SAE authentication.

There is no need to cache the PMK in SAE case as it won't be
used internally by driver or won't even be sent to firmware.
So, don't add any check and allow PMKID only entries also to
facilitate PMK caching mechanism in SAE SAP.

Change-Id: Ibd72975e91d93af9665c392b4e7a708a5f9c336a
CRs-Fixed: 2967752
2021-06-18 11:07:45 -07:00
Liangwei Dong
baa0309eaf qcacmn: Add QCA vendor definitions for DFS radar history
Introduce definitions for QCA vendor specific subcommands and
attributes to report DFS radar history.

Change-Id: I2140f636a42978b564fa0800484d3dc89865c2a0
CRs-Fixed: 2958699
2021-06-18 08:57:39 -07:00
narayan
12a1e5c7fd qcacmn: Add component for Repeater feature
Add component id for Repeater feature.
Move the feature specific flgas to Repeater component.

Change-Id: I1615ce0023a0b0f7a3fffa206d6fa5f320a18ed3
CRs-Fixed: 2936326
2021-06-18 06:04:15 -07:00
Devender Kumar
49575512a7 qcacmn: Fix the datatype from uint_8 to uint_16
When Vlan_id is set to 256, AP cannot ping to STA.
This is due to the dataype assigned to vlan_id in
cdp_peer_set_vlan_id API which is using uint_8
instead of uint_16.
Fix to change the data type to uint_16

Change-Id: I6cea467398a032f4afacb76289d4f853bf63c2f8
2021-06-18 03:22:39 -07:00
Alan Chen
5d539e6876 qcacmn: Add debug log for prevent suspend
Add debug log to get more detail when PCIe link suspend is not allowed.

Change-Id: Ia16f34a88d2d264c703d4fa068bec8b954466cf7
CRs-Fixed: 2963989
2021-06-18 01:02:01 -07:00
Vinay Adella
48fde3c3bb qcacmn: Enable CE interrupts after all process
Some latency stats need to do book keeping before interrupts are
enabled to avoid the counters being overwirtten by ISRs.
Also include latency stats in the case when rx is still pending.

Change-Id: Icff6f7876cd5db103693c6d38a396f1571b1d0aa
CRs-Fixed: 2965601
2021-06-18 01:01:56 -07:00
Kiran Venkatappa
18a1a3d4a5 qcacmn: Add WMI MLO params for vdev start
New TLVs for MLO flags and partner link info are introduced in vdev
start WMI command. Add WMI changes to add these TLV in the vdev start
command.

Change-Id: Ic7d54c406f69346a6eedb43b1ebcf7266c448bd8
CRs-Fixed: 2958843
2021-06-17 20:09:45 -07:00
Kiran Venkatappa
923cd4dea9 qcacmn: Add WMI vdev create params for MLO
WMI vdev create is changed to incude mlo macdress as one of TLV.
Add changes in WMI vdev create send API to include this new TLV.

Change-Id: Ia13bdb8fbfc9f68d1e4c0209201f9acc4f575387
CRs-Fixed: 2958839
2021-06-17 20:09:40 -07:00
Sajini R
ffc4a9de53 qcacmn: Add option to configure H-T-C pipe ready message timeout
Add INI option to configure Host-Target communication pipe ready
message timeout for debug.

Change-Id: I0b29ced69b67debcc4059b3ffb6578f3e808bf5c
2021-06-17 11:14:19 -07:00
Vignesh Mohan
dcd62f697c qcacmn: Remove redundant DFS APIs
Remove the redundant DFS APIs dfs_mlme_get_dfs_channels_for_freq and
dfs_nol_timeout.

Change-Id: I9c93c27c3d575228a2e8102660b395beb040dcce
2021-06-17 07:19:45 -07:00
Vignesh Mohan
767f8e8c65 qcacmn: Add ht40 intolerance flags to reg chan
Add HT40 intolerance flags to regulatory channel structure.

Change-Id: I1e72ea9d27b4531877bc8727f1bc57cd29a60faa
2021-06-17 07:19:39 -07:00
Vignesh Mohan
4a37eb222f qcacmn: Update the max_bw of the reg chan only during CC change
Update the max bandwidth value of a channel in the regulatory
channel current channel list only during the country change and not
during every current channel list update. This is to avoid updating
the max bandwidth value of a channel that has been disabled by NOL
temporarily.

Change-Id: I36fb19f727c62bc86d61d81494ca1791a33cf99e
2021-06-17 07:19:35 -07:00
Lincoln Tran
0722a9b4cb qcacmn: Add MLO specific function definitions
Define the following functions for MLO operation:
Peer create and delete
STA/SAP up and down
VDEV create and delete
Is MLD AP or STA

Change-Id: I5c9b3276b8dbb4b2a3f055480cab4a865b8af946
CRs-fixed: 2935769
2021-06-17 07:19:31 -07:00
Sandeep Puligilla
a64d8a0dbe qcacmn: MLO manager init/de-init
-Add MLO manager global init/de-init
-Add MLO manager vdev create/destroy handlers

Change-Id: I376a52ef7cae28616965bda72b5803155159eb6f
CRs-Fixed: 2947789
2021-06-17 00:12:27 -07:00
Yu Tian
b504eee423 qcacmn: Add function handler of get PN number
PN number get function handler is not initialized,
This lead to CFI assert. Add correct handlers for
differnt chipsets.

Change-Id: Ib8836af0d69380da597822d1755bb5dd2309c95f
CRs-Fixed: 2968223
2021-06-16 19:13:37 -07:00
Kiran Venkatappa
b871b5e200 qcacmn: Update MSI mapping for CE interrupts for QCN9224
Four new CEs are introduced in QCN9224. Update MSI mapping
for 16 CEs in QCN9224.

Change-Id: I781e2b42453a4ec4f31f4076be1f5813d3637eff
CRs-Fixed: 2969994
2021-06-16 19:13:33 -07:00
Shwetha G K
dc84b3c88f qcacmn: Add mcs, gi and sig info to metadata
Add MCS, gI, and other SU sig information to CFR metadata

CRs-Fixed: 2966860

Change-Id: I541fe9ba12c8a01ea6817ec1dda0c9a436d2d76a
2021-06-16 16:51:22 -07:00
Shwetha G K
54f6e60a7c qcacmn: Add mcs, gI & sig info to cfr metadata
Add mcs rate, gI type and other SU sig info to cfr metadata.
For Tx based capture mcs rate & gI type is applicable
MCS For legacy mode
      0: 48 Mbps
      1: 24 Mbps
      2: 12 Mbps
      3: 6 Mbps
      4: 54 Mbps
      5: 36 Mbps
      6: 18 Mbps
      7: 9 Mbps
      8: invalid entry
MCS for HT, 0-7: MCS0-MCS7,
MCS for VHT, 0-9: MCS0-MCS9,
MCS for HE, 0-11 MCS0-MCS11, 12-13: 4096QAM
GI:
     0: 0.8 us
     1: 0.4 us
     2: 1.6 us
     3: 3.2 us
ltf_size:
     0: he_ltf_1_x
     1: he_ltf_2_x
     2: he_ltf_4_x
dcm: Indicates if DCM set
     0: No DCM
     1: DCM
sgi: Indicates if short gI used
     0: No short gI
     1: short gI
beamformed: Is packet beamformed
     0: non-beamformed
     1: beamformed
stbc: Indicates if stbc applied
     0: No STBC
     1: STBC
Coding:
     0: BCC
     1: LDPC

Change-Id: If6ab4b4878ab24406aba0e890ec08a2dae2b4634
2021-06-16 16:51:17 -07:00
Shwetha G K
e0b5142fdc qcacmn: Cleanup CFR meta version structures
Cleanup CFR metadata version structures to avoid redundant
& unused definitions

Change-Id: Ia8b8234a38455f8c976600ef40c0a56c7bf66a53
2021-06-16 16:51:12 -07:00
Shwetha G K
e015d42c1c qcacmn: Cleanup CFR meta version structures
Cleanup CFR metadata version structures to avoid redundant
& unused definitions

CRs-Fixed: 2966842
Change-Id: I81a4f780ffc70be266fbcaa43ff739c544a49c02
2021-06-16 16:51:08 -07:00
Chaithanya Garrepalli
9988a35c3f qcacmn: do not process tx comp after quota is exhausted
If number of entries available in tx comp ring are more
than quota then process number of entries as per quota

Change-Id: I6345cb6f7cee62c343d152f42beb15460ce02ef1
2021-06-16 16:51:03 -07:00
Shwetha G K
224f008ca3 qcacmn: Add sig info parameters to cfr info
Add sig info parameters like dcm, stbc, coding etc
to cfr_info

CRs-Fixed: 2966868

Change-Id: If0c36f58d93c631c75ecfbe47fa1f8cafa84dfaf
2021-06-16 08:48:29 -07:00
Shwetha G K
403d510e5e qcacmn: Populate mcs & gI parameters to cfr_info
Populate mcs rate & gI type parameters to cfr_info

CRs-Fixed: 2966865

Change-Id: Id9cc720a12d2aa3840620bde97fa44ede66d86c6
2021-06-16 08:47:35 -07:00
Hariharan Basuthkar
ea1b24f9e5 qcacmn: Implement the Regulatory Update #35
Update the Host regdb with QCA regulatory database version 35:

1) Create FCC17_FCCA, FCC17_World, FCC17_ETSIC (identical to FCC3
   without UNII-4 channels). Change ~50 countries to FCC17 for 5G.
2) Create FCC18_ETSIC (identical to FCC8 without UNII-4 channels).
3) Change Brazil to FCC18_ETSIC.
4) Add new 2 countries: Congo and Congo Democratic Republic.
5) Add FCC UNII-4 Frequencies To World SKUs  (0X69, 0X6A, 0X6C).
6) Add Indoor Flag to FCC3/8/15/16 RD's for U-NII4 band.
7) Change Bolivia and Brunei from FCC8 to FCC17_World.
8) Add 11ax support for Russia & Ukraine.
9) Change Azerbaijan to ETSI8_World.
10) Change ETSI12 Power values inline with ETSI1.
11) Change Morocco to ETSI14.
12) Change Armenia to APL4_World.
13) Change Guatemala 2/5GHz to APL19_ETSIC.

Change-Id: I66ac03e343b8c4b38ac891e14476f3b441d25744
CRs-fixed: 2957816
2021-06-16 05:51:39 -07:00
Shwetha G K
e875fdf64e qcacmn: Extract mcs & gI info from peer tx event
Changes to extract mcs rate and gI from cfr peer tx
capture event.

Change-Id: Ia64807aed4559466dc25f20928ed8c43ae77be62
2021-06-15 08:02:40 -07:00
nakul kachhwaha
b8f59509d0 qcacmn: Add runtime pm support for PNO
NLO complete events were not received as
host is in runtime pm suspend state and thus
scan results were not sent to supplicant to
trigger re-connection. Add code to prevent
runtime pm suspend on receiving NLO match event
and resume Runtime PM on receiving NLO complete
event from firmware.

Change-Id: Iab91fb88fff3394ce5629be1eb6adc911a673b58
CRs-Fixed: 2954994
2021-06-14 09:12:17 -07:00
Sandeep Puligilla
00198937f7 qcacmn: MLO object manager
- Add MLO manager global objects
- Update Object manager structs for MLO
- Add VDEV mlo sta link feature capability

Change-Id: I9ddcde3f9473425a8c0ddf61024e028aaec9dc14
CRs-Fixed: 2937177
2021-06-14 06:28:25 -07:00
Jia Ding
2f7b7dbabf qcacmn: Set max EHT rate set to 4
802.11BE D1.0 9.4.2.295c.4 Supported EHT-MCS And NSS Set
field specifies maximum 4 optional EHT MCS map, which are
20 MHz-Only STA, BW <= 80 MHz except 20 MHz-Only STA,
BW = 160MHz and BW = 320 MHz.

Therefore set WMI_HOST_MAX_EHT_RATE_SET to 4.

Also add a debug message to log peer_flags_ext.

Change-Id: I3d56998bf0de381ef147d6c0551dcdb7fd935f60
CRs-Fixed: 2963536
2021-06-14 06:28:20 -07:00
Kiran Kumar Lokere
fba32a06f6 qcacmn: Fix the channel validity check for beacon/probe response
Fix the channel validity check for DS param IE in beacon or probe
response frames in scan.

Change-Id: I17132d3d406b2953ad31dc6ab40b0158e21bc5c4
CRs-Fixed: 2960334
2021-06-14 06:28:16 -07:00
Amit Mehta
ad4cb6357b qcacmn: Add NULL check for dp_pev
Currently, no NULL check is made for the value of dp_pev.
Adding a NULL check to avoid NULL dereference.

Change-Id: I2712b7e2fd53ba3a346878e73d2eedac161c5935
CRs-Fixed: 2955365
2021-06-10 13:02:39 -07:00
sheenam monga
d7adec6324 qcacmn: Don't mark ie invalid based on HT IE
Currently, host comapres HT Ie with htcap_cmn_ie
structure size but returns err in case ie len
is different from structure len which may break
the iteration and can lead to scan entry creation
failure.

Fix is not to break the loop and perform action
based on other Ie to avoid Ie parse failure which
leads to scan entry creation failure.

Change-Id: I93f0d67ae0f7ea8bb5dbeabc895b5c3d1ae43a73
CRs-Fixed: 2965729
2021-06-10 08:17:51 -07:00
Basamma Yakkanahalli
182d12abbe qcacmn: Add qca9574 target register structures
Add register structures for qca9574 target.

Change-Id: Ie3f6a3a4fa7d395a3805e404030be938f0c25acd
2021-06-10 06:17:02 -07:00
nobelj
8a11583471 qcacmn: Add field to return Lmac ring start ID
Return LMAC start id also as part of hal_get_meminfo API.
This field is added to hal_mem_info struct.

Change-Id: I013d357cf4337702c06a91ed15e8337469865270
2021-06-10 06:16:57 -07:00
sheenam monga
971db896f1 qcacmn: Consider dfs master mode for sap and p2p iface
Currently, reg curr channel list contains dfs channels
but sap and p2p go can't enable on dfs channels if
dfs_master_mode ini is disabled. So, usable channel list
may contain some invalid channels in case of p2p go and sap.

Fix is to check dfs_master_mode ini and include/exculde sap and
p2p go channels based on dfs_master_mode.

Change-Id: If82d2feda78315ab53c5c7ed75f743c14186da98
CRs-Fixed: 2961435
2021-06-10 01:42:08 -07:00
Mohit Khanna
c9bcf7e494 qcacmn: Handle BUF_ADDR ring desc in dp_rx_err
Currently dp_rx_err_process expects ring descriptor to be only
LINK_DESC_TYPE. In certain cases BUF_ADDR_TYPE ring descriptor is
observed in reo_exception ring. Add logic to handle the same.

Change-Id: I5baecc3f8eafc0830672b91bc9d9607b568a6cda
CRs-Fixed: 2954653
2021-06-09 23:38:08 -07:00