Commit Graph

18170 Commits

Author SHA1 Message Date
Neha Bisht
f27e31059b qcacmn: Add an API to get number of station mld device contexts
Add an API to get number of station mld device contexts

Change-Id: I91bdbfda36e596b7456482f5f0480a341d4e6ed5
CRs-Fixed: 3361088
2022-12-18 05:54:30 -08:00
Pavankumar Nandeshwar
c811b9d544 qcacmn: PPE-DS feature naming convention update
1. Change the names of parameters and functions related
   to direct switch feature from ppe to ppeds
2. Remove the unused ppe_release_ring

Change-Id: I5a95b1273e338f354903af98158578ac65758a8a
CRs-Fixed: 3345097
2022-12-18 01:11:58 -08:00
Pavankumar Nandeshwar
3548804a60 qcacmn: Add a cdp api to stop the ppe ds
Add a cdp api to stop the ppe direct switch
from control path

Change-Id: Id1c5d5c0e2b80d6fa0fa7b907fac133f815f9627
CRs-Fixed: 3356472
2022-12-18 01:11:49 -08:00
Aakanksha Doda
ea0e2133b3 qcacmn: Add changes to support MLO+Mesh
Add changes to support MLO+Mesh.

Change-Id: I52df040ef44846e525a1c0a1acf131cb8cac0bf2
CRs-Fixed: 3350795
2022-12-17 23:22:38 -08:00
Jeff Johnson
f138380bb7 qcacmn: Fix wmi_unified_param.h documentation
The kernel-doc script identified numerous documentation issues in
wmi_unified_param.h, so fix them.

Change-Id: I249e4f990a125ba45497c48edef373b926cc3d01
CRs-Fixed: 3351041
2022-12-17 21:25:52 -08:00
Jeff Johnson
f8a610f679 qcacmn: Fix hal_rx.h documentation
The kernel-doc script identified a multitude of documentation issues
in hal_rx.h, so fix them.

Change-Id: I36913abcfea5504b1fdea2afb5c71810b08e4da6
CRs-Fixed: 3352421
2022-12-17 21:25:44 -08:00
Sai Rupesh Chevuru
cff09264f4 qcacmn: Process the pending rx buffers during soc teardown
Process the pending rx buffers during MLO soc teardown sequence.

Change-Id: Ifbcbf7e2779a8ef740f77b3e9edfc02ca5355269
CRs-Fixed: 3332802
2022-12-16 10:40:09 -08:00
Deeksha Gupta
3b44cf0785 qcacmn: Introduce new macro for TX control port changes
Introduce new macro to support TX control port changes in
host driver with cfg80211.

Change-Id: I1f557c62e225ce019a6ce3174ad2d897b39e0147
CRs-Fixed: 3342945
2022-12-16 03:29:05 -08:00
Vijay Raj
cb5c29865e qcacmn: Add QCA vendor interface for AP doze mode configuration
Add a new subcommand QCA_NL80211_VENDOR_SUBCMD_DOZED_AP to configure
doze mode state on an AP interface. This is also used as an event to
indicate the updated configuration. In doze mode, AP transmits
beacons at higher beacon intervals and RX is disabled.

Uses attributes defined in enum qca_wlan_vendor_attr_dozed_ap.

Change-Id: I183140f0466eb7400cc161afb8c2e295ec587f93
CRs-Fixed: 3267855
2022-12-15 12:40:33 -08:00
VIJAY RAJ
8c6ace7bdb qcacmn: Add ini for Green AP low latency power save mode
Introduce  ini gGAPLowBeaconMult for Low beacon
multiplier for Green AP low latency power save mode.

Change-Id: Ifc03e1acaf640bb55e0ae3465b38762f54f0eeea
CRs-Fixed: 3264938
2022-12-15 12:40:21 -08:00
Nanda Krishnan
6cfeaed50f qcacmn: Tput is low when DS is enabled in STA
Issue:
When DS mode is configured for a VAP
in both AP and STA (RDP 433), the tput reduces.
For instance, for an ingress of 7G
in standalone case, the egress rate is
1) 6887 Mbps when DS is enabled only in AP
2) 1900 Mbps when DS is enabled in both AP and STA
RCA:
With the help of debugs & proc/interrupts, identified
that we are not setting up the peer when the
device in STA mode due to AP mode check in
dp_soc_txrx_peer_setup.
Hence, the traffic is not flowing via DS
and so, tput reduces.

Fix:
Added changes to invoke txrx_peer_setup in
STA mode and DS mode will configured in that mode.
With the fix, traffic flows via DS, which
in turn improves the increased

Change-Id: Ib51e9a27e5078ed99160f213ddffed801c2e4ecf
CRs-Fixed: 3355603
2022-12-15 03:14:34 -08:00
Xiaoning Ma
4b313c5aac qcacmn: Fix compile issue for WLAN_QCOM_VA_MINIDUMP
Add missing header file to avoid compile issue when
WLAN_QCOM_VA_MINIDUMP is enabled.

Change-Id: I2d413560f4cf6a5f9e6cce73d8aee723e963104c
CRs-Fixed: 3356409
2022-12-14 23:15:53 -08:00
Sushant Butta
0bffc7e7d1 qcacmn: Do length check to avoid memory corruption
Check size of the frag before passing
to trim function, which can lead to memory
corruption.

Change-Id: Icea102f9fef8c7333591337a93d32bc449704202
CRs-Fixed: 3354458
2022-12-14 21:12:31 -08:00
Surya Prakash Sivaraj
210ee60f2f qcacmn: Add support for SAE EXT key AKM
Add support for SAE EXT key (0x0fac18) AKM.

Change-Id: If4b493d99561360aba50e1d1a7d1e5553e84acb0
CRs-Fixed: 3355394
2022-12-14 15:46:58 -08:00
Surya Prakash Sivaraj
3c3b18baaa qcacmn: Update indoor concurrency on cc change
On every country change, the master channel list and
the current channel list is recomputed. Therefore,
recompute the indoor concurrency list on every country
change and update the list with STA interfaces operating
in the indoor channels of the new country.

Change-Id: Ia7f73820a054e0d89248f3408e2e71b2c1c41959
CRs-Fixed: 3345389
2022-12-14 11:57:34 -08:00
Edayilliam Jayadev
d81b28c2ed qcacmn: Add INI to enable/disable non MLO 11be AP operation
Add INI variable to enable/disable non MLO 11be AP operation.

CRs-Fixed: 3260964
Change-Id: Ic84859244fc30d5f7c5ccd42d4a89334dbbf4890
2022-12-14 09:51:39 -08:00
Nitin Shetty
8271e2c71e qcacmn: set service code bypass for PPEDS
Program service code bypass to avoid
L2 new mac address learning exception
when fdb learning is disabled

Change-Id: I588a885aac1755cdf2ded5176b25d5ae9f533091
CRs-Fixed: 3354407
2022-12-13 07:46:21 -08:00
abhinav kumar
19ae8a535e qcacmn: Abort connection for next candidate if SAP stop/start is pending
In the case of STA/CLI + STA/CLI, if an STA/CLI is in connecting state
and a disconnect is received on any other STA/CLI, the disconnect can
timeout waiting for the connection on the first STA/CLI to get completed.
This is because the connection is a blocking serialization command and
it can try multiple candidates and thus can take up to 30+ sec to
complete.

Same way if an SAP/GO has a start/stop command or peer disconnect in
pending queue, the delay is processing it can cause timeouts and other
issues.

So abort the next connection attempt if any of the vdev is waiting
for vdev operation to avoid timeouts.

Change-Id: I6570b8213c9008d8fea26febb49d0e40d9180d12
CRs-Fixed: 3354561
2022-12-13 05:48:27 -08:00
KARTHIK KUMAR T
a04069265f qcacmn: Add mlo_mcast cb_ftype
Add mlo_mcast cb_ftype in the cb_ftype enum

Change-Id: I857da8952af500eca9a8e04555937085b3c3cfb2
CRs-Fixed: 3354564
2022-12-13 05:48:19 -08:00
Nanda Krishnan
66fd581109 qcacmn: Printing Tx Desc in use count for DS mode
Requirement:
As part of serviceability for DS, display the number
of Tx descriptors currently in use by DS module
via “cfg80211tool athXX txrx_stats 260” like non-DS.

Snippet of log/code of Non-DS:
DP_PRINT_STATS("Tx Descriptors In Use = %u",
                       soc->stats.tx.desc_in_use);

Fix:
Introduced a new ops (dp_tx_ppe_ds_inuse_desc)
to display the current Tx desc in use.
dp_ppe_ds_inuse_desc API will be registered
to dp_tx_ppe_ds_inuse_desc in initialization
and it will be invoked from dp_print_soc_tx_stats API
to display the in_use desc via 260 command

Change-Id: I18971fc5d4cb5eb5437b012e3b89db7c9c2446b4
CRs-Fixed: 3352686
2022-12-13 05:48:11 -08:00
Chaoli Zhou
91036d45ac qcacmn: Fix compile issue for wifi pos
Fix below compile issues:
1.error: no previous prototype for wifi_pos_get_vdev_priv_obj()
and wifi_pos_get_psoc_priv_obj().
2. error: incompatible integer to pointer conversion assigning
to 'struct wifi_pos_vdev_priv_obj *' or 'struct wifi_pos_psoc_priv_obj *'
from 'int'.
3. error: declaration of 'struct wifi_pos_osif_ops' will not be visible
outside of wifi_pos_register_osif_callbacks();

Change-Id: I6946f6240ed5adff291871c75ca85f848d955f4d
CRs-Fixed: 3356150
2022-12-12 22:35:18 -08:00
Manish Verma
b3ec0ca8cb qcacmn: Skip skb data inval for the PPE-DS buffers in rx replenish
In the PPE-DS UL path, the PPE-DS flag is getting set in the buffer
in the EDMA Tx complete path.
This flag is getting checked in the WLAN Rx replenish path and the
data invalidate is being skipped, if the flag is set.

CRs-Fixed: 3344458
Change-Id: I4e10deec5b373ccc93b59432576eb70d49a9304d
2022-12-12 22:35:10 -08:00
Jyoti Kumari
44b33e8326 qcacmn: Add WMI interface to configure EDCA/PIFS param
Add WMI interface(WMI_VDEV_SET_TWT_EDCA_PARAMS_CMDID) to
configure EDCA/PIFS param for LL SAP.

This configuration depends on edca_param_type.
If edca_param_type is 0 then host will configure EDCA param and
send it to firmware via WMI interface.
If edca_param_type is 0 then host will configure PIFS param and
send it to firmware via WMI interface.

Change-Id: I4f2e4120a258cc4a20aabeed503709aa2ceb8ec9
CRs-Fixed: 3349467
2022-12-12 11:49:38 -08:00
Wu Gao
8be9c512fc qcacmn: Use fixed pdev id for CFR on HMT
Host and FW have agreement about using fixed pdev id for CFR on HMT.
Since it's different to legacy chip for concurrency case or get pdev
id base band.

Change-Id: I2b16876244cf8988e8855752844917fbf0154f54
CRs-Fixed: 3312489
2022-12-12 03:08:31 -08:00
Shiva Krishna Pittala
06d17f4e3d qcacmn: Populate mlo_link_add in VDEV_START WMI command
When a VDEV is dynamically getting added to an MLD,
WLAN_VDEV_OP_MLO_LINK_ADD op flag will be set on that VDEV during its
start_ap() sequence. Use that flag to update the mlo_link_add flag in
the VDEV_START WMI command.

CRs-Fixed: 3352057
Change-Id: Ie83a15f47d5cb4e54af410ebb68567694f38ccc7
2022-12-11 23:52:19 -08:00
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