提交線圖

18145 次程式碼提交

作者 SHA1 備註 日期
Shiva Krishna Pittala
11fa724d8a qcacmn: Add support to extract link removal TLVs from MGMT Rx event
To assist the Host in ML reconfiguration element construction for probe
responses, FW sends MLO link removal information as part of the MGMT Rx
event containing the corresponding probe request. This information is an
array of TLVs, one TLV for each link that is undergoing link removal from
the MLD for which this probe request is intended. The TLV carries the link
removal TBTT countdown value maintained by the FW for that link.
Add support to extract the same.

CRs-Fixed: 3335361
Change-Id: I16c6791a443ddb166da596d404a52ff2a38da291
2022-12-11 23:52:12 -08:00
Shiva Krishna Pittala
22be442546 qcacmn: Add supoprt to process WMI_MLO_LINK_REMOVAL_EVENTID
WMI_MLO_LINK_REMOVAL_EVENTID will be sent by FW to update the Host on the
progress of the link removal operation. Add support to process this event.

Change-Id: I0c4d5b047cf062b421380f85717fac5a9bdea9c2
CRs-Fixed: 3334950
2022-12-11 23:52:04 -08:00
Shiva Krishna Pittala
11dccd8fac qcacmn: Add support to extract wmi_mlo_link_removal_tbtt_update TLV
WMI_MLO_LINK_REMOVAL_EVENTID will be sent by FW to update the Host with the
progress of the link delete operation. Add support to extract the TBTT
update TLV sent in this event.

Change-Id: I01ce710d282f16e7a7cf4fb767279661558d129f
CRs-Fixed: 3322714
2022-12-11 23:51:54 -08:00
Shiva Krishna Pittala
b24b3a7e25 qcacmn: Add support to extract wmi_mlo_link_removal_evt_fixed_param TLV
WMI_MLO_LINK_REMOVAL_EVENTID will be sent by FW to update the Host with the
progress of the link delete operation. Add support to extract the fixed
params TLV sent in this event.

Change-Id: Ic42a822339363b1347ae174926a4dac19eef3f99
CRs-Fixed: 3318005
2022-12-11 23:51:45 -08:00
Shiva Krishna Pittala
c1231d0824 qcacmn: Add support to populate and send WMI_MLO_LINK_REMOVAL_CMDID
WMI_MLO_LINK_REMOVAL_CMDID is to be sent by the Host to initiate the
removal procedure for a given link from its MLD. This command will be sent
on the impacted link only. Add support to populate and send this command.

Change-Id: I8485d8c8897bb2bb891d50546d5fbfac2a69a4ce
CRs-Fixed: 3314430
2022-12-11 23:51:35 -08:00
Manish Verma
9dd62d04b6 qcacmn: Consume DS WLAN Tx complete packets as list
Batch consume the FAST Flag set buffers

Change-Id: I01c5d3285b6847858703ad5170fd165a2b6d5bb5
CRs-Fixed: 3276981
2022-12-11 21:58:24 -08:00
Chaoli Zhou
c0d40ef91a qcacmn: Fix 'struct wifi_pos_osif_ops' will not be visible issue
Fix the compile error: "declaration of 'struct wifi_pos_osif_ops'
will not be visible outside of wifi_pos_register_osif_callbacks"
when enable CONFIG_WIFI_POS_CONVERGED but disable the macro
WLAN_FEATURE_RTT_11AZ_SUPPORT.

Change-Id: Ib0043a109244d25368b7508b67b5b7b5c26cd3bf
CRs-Fixed: 3338198
2022-12-11 12:54:10 -08:00
Edayilliam Jayadev
7385e3c88a qcacmn: Enhance the snapshot invalidation logic
Enhance the snapshot invalidation by adding following conditions.

1. (FW consumed snapshot's time stamp, packet counter >= Host snapshot's
   time stamp, packet counter) || (FW consumed snapshot's time stamp,
   packet counter < Host snapshot's time stamp, packet counter).
2. (FW forwarded snapshot's time stamp, packet counter >= Host snapshot's
   time stamp, packet counter) || (FW forwarded snapshot's time stamp,
   packet counter < Host snapshot's time stamp, packet counter).

CRs-Fixed: 3341353
Change-Id: I2ddb715ded8c830b2bdbe702ce6dbfd1facec97e
2022-12-11 11:02:23 -08:00
Jianmin Zhu
2b43c860f6 qcacmn: Validate AP ML IE length before parse it
One bad AP Multi-Link IE length is 5, have no MLD addr, BSS peer MLD
addr is set as zero, connect fails, and bss peer leak happens.
DUT STA can't connect other AP any more if bss peer leak happen 2 times.
At last, if wifi is disabled, vdev delete fails for ref count leak, assert
happens.

To fix it, validate AP ML IE length before parse it, if it's actual length
is less than expected length, set ML IE as NULL, downgrade the AP to legacy
mode.

Change-Id: I7d6b27f0816f3169c8802f67b64e5561ffdde6ed
CRs-Fixed: 3351189
2022-12-09 15:50:51 -08:00
Surya Prakash Sivaraj
68c9e15c31 qcacmn: Increase PMK max length to 64bytes
For SAE-EXT-KEY AKM with group-21 pwe, the PMK
length is 64bytes. Therefore, increase the max
size of the PMK to 64bytes in host to facilitate
PMK storage and PMK offloads.

Change-Id: I049cd14c1c71e1809b394199862409780a16371d
CRs-Fixed: 3353114
2022-12-09 09:36:15 -08:00
Aditya Kodukula
89af1dd476 qcacmn: Move feature flags to avoid compilation failures
Move the functions wmi_get_tlv_length_for_mlo_stats and
wmi_update_tlv_headers_for_mlo_stats defined under
WLAN_FEATURE_11BE_MLO inside the feature flag
FEATURE_CLUB_LL_STATS_AND_GET_STATION to avoid compilation failures.

Change-Id: I7c5a273797c692d2f0303dd547d2917c2261e8f7
CRs-Fixed: 3354430
2022-12-09 09:36:04 -08:00
Jeff Johnson
f616a334ae qcacmn: Fix cdp_txrx_cmn_struct.h documentation
The kernel-doc script identified numerous documentation issues in
cdp_txrx_cmn_struct.h, so fix them.

Change-Id: I22081088f4665818563093c3875a0f0b36482e4e
CRs-Fixed: 3352634
2022-12-09 09:35:52 -08:00
Surya Prakash Sivaraj
dda3f7844b qcacmn: Add support for AKM 24
Add support for AKM 24

Change-Id: I7bd483afbe1659c56b6708085f0bfd1e1d5dd261
CRs-Fixed: 3299891
2022-12-09 07:32:52 -08:00
Surya Prakash Sivaraj
2be3e823e2 qcacmn: Add service bit for wpa3 sha384 roam
Add the service bit wmi_service_wpa3_sha384_roam_support
used by firmware to indicate the roaming support for
WPA3 SHA384.

Change-Id: I4bb4f9fd83085c48c646818124265486bae62c0c
CRs-Fixed: 3334343
2022-12-09 07:32:42 -08:00
Vijay Raj
af28913edf qcacmn: Modify KEK and KCK length in WMI_GTK_OFFLOAD_CMDID for AKM24
In order to support AKM24, the max length of KCK is modified to
24 bytes and KEK max length is modified to 32 bytes for
cmd WMI_GTK_OFFLOAD_CMDID.

Change-Id: Ia504a1ce92c80793fc1302fdf03b8d93471d9322
CRs-Fixed: 3305317
2022-12-09 07:32:32 -08:00
Jeff Johnson
03abb0b8e4 qcacmn: Fix wlan_cfg documentation
The kernel-doc script identified a multitude of documentation issues
in the wlan_cfg folder, so fix them.

Change-Id: Id6bfb397608de6b858e448a867a3c21dffc9a178
CRs-Fixed: 3352408
2022-12-09 05:05:50 -08:00
Rakesh Pillai
2670c2a674 qcacmn: Additional logs in datapath init
Add extra logs during the datapath vdev/peer
init-deinit path.

Change-Id: I406b2925b61e9c06cda623bca5943c400dc391a9
CRs-Fixed: 3352874
2022-12-09 05:05:40 -08:00
Pragaspathi Thilagaraj
489c00957c qcacmn: Fix FILS realm scan filter implementation
The FILS realm scan filter validates the fils realm
provided in connect request against the realm present in the
fils indication element. But according to the 802.11 standard
the AP can advertise the realm count as 0 and choose not
to advertise any realm ID. So the connection to that AP
fails as the BSSID gets filtered from scan results during
candidate selection due to realm mismatch.

Allow connection with FILS AP when the AP doesn't advertise
realm

Change-Id: I7fbaf27a9ba346e105af44d77318c485f55a74ab
CRs-Fixed: 3341993
2022-12-09 01:06:56 -08:00
Pavankumar Nandeshwar
926eefc710 qcacmn: Set interrupt timer threshold for ppe2tcl ring as 30 us
Change interrupt timer threshold for ppe2tcl ring to 30 us
from existing default timer threshold.

Change-Id: Id6a2625c086af6c4c49188c0abdc8d24fb8bdfe5
CRs-Fixed: 3355208
2022-12-08 11:01:18 -08:00
Amruta Kulkarni
8759cf1c1e qcacmn: Add support for T2LM timer handling
Adds api's to handle t2lm timer functionality.
Api's added are timer initialize, start, stop, expiry handler.

Change-Id: If52453135921067d04f8349ece64c33cd524af00
CRs-Fixed: 3342822
2022-12-08 11:01:09 -08:00
Srikanth Marepalli
93e8977721 qcacmn: Roam control configuration for 6 GHz in full scan only on prior discovery
During the roam scan, if there are no desired APs found in the partial
frequency list, an immediate full scan on all the supported frequencies
is initiated as a fallback. This would include the 6 GHz PSC
frequencies. Define an attribute to allow that behavior to be modified
to include PSCs only if 6 GHz use has been detected.

Change-Id: I81eb9b20c2953e6b0dbf4138b31547db82d7397f
CRs-Fixed: 3351706
2022-12-08 02:49:02 -08:00
Kenvish Butani
069ca18f58 qcacmn: MLO Mcast Support for ML-Reconfig
1.Add check in Tx completion path to handle
mcast packets from all ML partner vdevs
2.Handle cases where a ML mcast vdev can be
deleted and started as NON-ML vdev and
viceversa by adding reset ML mcast conf.
3.Optimized Register configurations for Mcast
at Init/Delete and Start/Stop AP

Change-Id: Iab8a5a081e2e0377509574d362754d32c5b83df2
CRs-Fixed: 3350350
2022-12-07 23:45:21 -08:00
Srinivas Pitla
3bae1f975c qcacmn: add MLME changes for ML reconfig
1) add op flags to indicate Link removal in progress
2) update API to include link removal check for ML peer create
3) add API to check whether all link peers to be deleted.

CRs-Fixed: 3341256
Change-Id: I8fabd19d3321315eb13d874a7e9b2e93392a7886
2022-12-07 16:19:21 -08:00
Deeksha Gupta
9c289d3485 qcacmn: Handle default case in send_mlo_link_set_active_cmd_tlv()
Handle default force_mode case in send_mlo_link_set_active_cmd_tlv()
to avoid compilation issue

Change-Id: I9d269ce906f560decbab8bce0af1c7cc7aad35fc
CRs-Fixed: 3354134
2022-12-07 14:29:38 -08:00
Chaoli Zhou
79aef5290e qcacmn: Change kmsg log debug log
Change qdf_print to wmi_info to print out
log with info level not error level.

Change-Id: I9da34693292bee2405e0bf5fbfe857eac1dfcfb3
CRs-Fixed: 3352909
2022-12-07 09:47:19 -08:00
Jinwei Chen
1bf08f3566 qcacmn: Add TX completion ring desc sanity check
Suspect HW update WBM2SW ring HP, but the ring entry contents are
not updated accordingly which then host will fetch one stale ring entry,
this makes other TX packet are freed unexpectedlly.

Add change to detect this situation earlier, if HW cookie conversion is
done, then invalidate 2nd dword for upper 32bits of VA, so next time when
reap this ring entry contents to know if this desc is updated by
HW or not. if HW cookie conversion is not done, then compare the PA in
buff_addr_info with PA in current TX desc to check.

Change-Id: I351eb4f860216fc618ff28736d4832fcec45dcc5
CRs-Fixed: 3345935
2022-12-07 09:47:10 -08:00
Ashish Kumar Dhanotiya
0456b0a11e qcacmn: Add a new QCA vendor attribute to configure wifi calling (wfc) state
Add QCA_WLAN_VENDOR_ATTR_CONFIG_WFC_STATE vendor attribute,
Userspace uses this attribute to configure wfc state to
Driver/Firmware. Driver/Firmware uses this information to
optimize power savings, rate adaption, roaming, etc.

Change-Id: If58bd1e64216de81af6cf82eaabd740b85729eac
CRs-Fixed: 3343034
2022-12-07 05:50:37 -08:00
Amir Patel
2725ca7035 qcacmn: Adjust low watermark refill for RxMON Source ring
Adjust low watermark refill for RxMON Source ring based on
ring_fill_level.
ring_fill_level varies based on use case of monitor like
enhanced_stats, full monitor.

CRs-Fixed: 3353181
Change-Id: I4e17eecbbd7f74071283d2c5615904310a3d7c77
2022-12-07 05:50:28 -08:00
Amruta Kulkarni
52bd685515 qcacmn: TID to Link IE scan db changes
Change done to parse TID to Link IE in scan database.

Change-Id: I391c2f9939b43fd6bb21cd713e323ddb04e4bb79
CRs-Fixed: 3344664
2022-12-07 02:24:30 -08:00
Vinod Kumar Pirla
a780b76595 qcacmn: Introduce API to find ML peer with same MAC
Introduce an API which iterates on each MLD dev context in the
global MLO device manager and the ML peers in each dev context,
the API returns true if any entity's MLD address matches with
the MAC address received or else returns false.

Change-Id: If98fb9667b797d7d2fcfe40f66afb2a44daf4874
CRs-Fixed: 3349575
2022-12-07 00:20:30 -08:00
Shashikala Prabhu
2f56148a95 qcacmn: Remove 11be compile flag
Remove 11be compile flag from T2LM data
structure definitions.

Change-Id: If444d6f8b48da5b091b0af6b91055677e34c86dd
CRs-Fixed: 3352003
2022-12-06 22:19:46 -08:00
Vinod Kumar Pirla
7e4e27202d qcacmn: Clear crypto keys for link vdev before connect send
Supplicant will send add key once EAPOL exchange is successful
on assoc link. The keys added for the partner link will get
cleared if connect active event on partner link is not received
but add key is received on that link.

To avoid a race condition, for MLO assoc vdev clear the
existing crypto keys in connect active state and for link vdev
clear the crypto keys before sending to connect.

Change-Id: I0f40a4d00bea7d8829b1a3b4b90cdb59234b97c4
CRs-Fixed: 3345714
2022-12-06 17:45:22 -08:00
Chaoli Zhou
c8be2fb926 qcacmn: Change log level for reg_is_fcc_regdmn
Change the log level to limit log output that is
similar as reg_is_etsi13_regdmn() did.

Change-Id: Iae797b4966cce4abae3c59572a9a8e815fe19a58
CRs-Fixed: 3352930
2022-12-06 17:45:13 -08:00
Deeksha Gupta
730d9abd4d qcacmn: Add API to find Multi-Link element based on variant
Based on the ML IE variant, add new API to find the first
Multi-Link element or the start of the first Multi-Link
element fragment sequence in a given buffer containing
elements, if a Multi-Link element or element fragment
sequence exists in the given buffer.

Change-Id: I89535f67aeb012c872216c8971b29f5afa359d07
CRs-Fixed: 3326673
2022-12-06 11:26:18 -08:00
Nandha Kishore Easwaran
bbe3f3466f qcacmn: Add wmask functions for QCA5332
Add wmask based functions for QCA5332

Change-Id: I77cfa590d898d9db294e42f699dd2f6bda22932c
CRs-Fixed: 3343967
2022-12-06 09:32:27 -08:00
Amit Mehta
a9e2233d1d qcacmn: Add change to clear per MAC OBSS stats
Add change to pass mac_id for which clear OBSS
request was received.

Change-Id: I715f57018c162c3ba7bfea8d709a888538f8f4ce
CRs-Fixed: 3346387
2022-12-06 00:00:22 -08:00
Venkateswara Naralasetty
cdbbb3ed59 qcacmn: Remove skip HP update logic during tx pause flag is set
Currently HP update can skip for few packets if the system suspend
is happening in parallel with tx. This could lead to SMMU fault if
the skipped HP update goes after tx desc force free.

Remove the tx pause check in HP updates and have the check before
calling dp_tx_send in case of intra-bss forward case. No special
handling is needed for non intra-bss case as we don't expect packets
from network stack after suspend.

Change-Id: Id4f2cefcc0a14e7c16438b9bda5cb1d55eb05050
CRs-Fixed: 3327818
2022-12-05 18:42:35 -08:00
Chaoli Zhou
b9b7e87a10 qcacmn: Fix compile error for ROME IPA
Fix compile error for ROME IPA in the kernel-5.4.

Change-Id: I2e8a3d5f4b08ab4802c7d0d229747c389b055a69
CRs-Fixed: 3345160
2022-12-05 16:47:55 -08:00
KARTHIK KUMAR T
72332cbe67 qcacmn: Add ast_idx and ast_hash in dp_peer
Add ast_idx and ast_hash values in dp_peer

Change-Id: Ib68a25f6ea6b07cd46f4ec995436625cb3f28a58
CRs-Fixed: 3344867
2022-12-05 14:59:51 -08:00
Yu Tian
d39e5eeaaa qcacmn: Change HIF latency print level
The HIF latency log is outputted to kernel message buffer, which
slows down the efficiency and may introduce process stuck. Change
is aimed to use info high log level to let the log output to
driver log.

Change-Id: I0be4a3f904484305e6c11127f82bb1ea77b33cd9
CRs-Fixed: 3342422
2022-12-05 13:04:06 -08:00
Ripan Deuri
86a74c11bf qcacmn: Set SAWF Tx metadata based on the queue
Set SAWF Tx metadata based on the host queue id.

Change-Id: I8d759b239fff32da5d84d89468431b54aab63f3c
CRs-Fixed: 3349695
2022-12-05 13:03:56 -08:00
Shashikala Prabhu
952dd4de06 qcacmn: Add API to parse the T2LM event ID
Add API to parse the TID-to-link mapping event ID for the AP vaps.
As part of this event,
	 - Update the mapping switch time TSF value in host data structures.
	 - When mapping switch time or expected duration expires in the FW,
	   update the host data structure.

Change-Id: I93232429fe5c2aa12dc4bf9f6a2f014761b7df15
CRs-Fixed: 3350697
2022-12-05 13:03:47 -08:00
Pavankumar Nandeshwar
1f137636fa qcacmn: Handle mlo case for ppe ds peer setup
Handle mlo case for ppe ds peer setup by
making sure the src_info is always extracted from
primary vdev.

Change-Id: Ie4b0d8f475966e8c4264cea5cf32f0dc95e76c4a
CRs-Fixed: 3346074
2022-12-05 11:12:18 -08:00
Sai Pratyusha Magam
a76b886ed4 qcacmn: Check for WMI_RXERR_MIC status flag
When beacon protection is enabled, On the station side,
MIC validation is performed in firmware for the received
beacons ,by computing the expected MIC and comparing it
against the MIC received in MMIE of the beacons. Check for
WMI_RXERR_MIC, a status in Mgmt RX WMI event reported to
host when a MIC validation failure/mismatch found.

Change-Id: I2f55d4481e8a0decbc89d2fc88a442478a09faf6
CRs-Fixed: 3344354
2022-12-04 12:07:30 -08:00
Li Feng
04014003d6 qcacmn: Add timeout of NAPI polling for single MSI case
Observed NAPI of REO2SW1 hard to complete caused by slow CPU/schedule
on REO2SW1, hence IRQ of REO2SW1 keep disabled during the polling which
impact other MSI as well in single MSI case, until hit REO2TCL timeout
and crash.

The fix is complete the dp rx NAPI poll and re-enable the irq if the
irq disabled for long time.

Change-Id: I5e70d9646b78307ab0c35e2ac0d6e3647804c476
CRs-Fixed: 3332143
2022-12-04 10:08:53 -08:00
Amith A
4fc546e9f7 qcacmn: Add APIs to set current client type
For “Subordinate” clients in SP or VLP mode, FW does not send any
regulatory rules as currently no country supports subordinate in SP and
VLP. When the rules are not present, SP/VLP clients are connected to the
root ap in 0dBm tx power, which results in low throughput. Connecting to
the root ap using 0dBm tx power is not the correct behavior. If the rules
for any power mode is not available, clients should not connect in that
mode. Therefore, "Subordinate" clients cannot connect to the SP/VLP APs.

To resolve this issue, the device client type should be changed to
"Default" client type when it is connected to the root AP in SP or VLP
mode. Once it gets disconnected or when the root AP moves to LP mode,
its mode should be reset back to "Subordinate" client type.

Add a variable reg_target_client_type to wlan_regulatory_pdev_priv_obj
structure and in reg_propagate_6g_mas_channel_list, store the client
type received from target in it.

Add API reg_set_cur_6ghz_client_type to set the current client type to a
given value.

Add API reg_set_6ghz_client_type_from_target to set the current client
type to the value received from target.

Change-Id: Ie7d9e8b45cd831018c0058d65880a3659457b499
CRs-Fixed: 3349767
2022-12-04 06:25:56 -08:00
Yeshwanth Sriram Guntuka
9fc190e537 qcacmn: Remove QMI QDF abstraction APIs
Remove QMI QDF abstraction APIs as QMI is now
added as a non converged component.

Change-Id: I91acd4560d456396aaebdbfbd82f71bf5c2ed4f6
CRs-Fixed: 3349631
2022-12-03 22:19:58 -08:00
Sai Pratyusha Magam
c87c0928b1 qcacmn: Add Keyix param for PN request to FW
Add Keyix param for PN request cmdid and event to FW
WMI_PEER_TX_PN_REQUEST_CMDID,
WMI_PEER_TX_PN_RESPONSE_EVENTID

Change-Id: I2803fdfaa20fae543cf0de34dd5c3f0966f2d605
CRs-Fixed: 3345914
2022-12-03 11:34:15 -08:00
Gyanranjan Hazarika
8608a9e2fe qcacmn: Extend RNR caches to support multiple 6 GHz pdevs
A SOC may have multiple 6 GHz pdevs. Per-pdev RNR-caches are required
to be able to support multiple 6 GHz pdevs in a SOC. Extend RNR-cache
support for the same.

Change-Id: I4db643c3f8fc52ad40fd0d4d04f2a0f9c221bcd8
CRs-Fixed: 3337706
2022-12-03 11:34:07 -08:00
Ruben Columbus
e1269c4834 qcacmn: clear memory address before used again
set rx_reo_queue_desc_addr_31_0 and rx_reo_queue_desc_addr_39_32 to 0
in hal_reo_shared_qaddr_write_be

Change-Id: Ib92775e0883b68f49c27e606e762384239bae955
CRs-Fixed: 3339043
2022-12-03 11:33:57 -08:00