Commit graph

16780 Commits

Autor SHA1 Nachricht Datum
abhinav kumar
4412aa9fcf qcacmn: Add wmi support for multi client vdev params
Add wmi support for below multi client latency level
vdev params:
1. Latency Level Flags
    WMI_VDEV_PARAM_NORMAL_LATENCY_FLAGS_CONFIGURATION
    WMI_VDEV_PARAM_XR_LATENCY_FLAGS_CONFIGURATION
    WMI_VDEV_PARAM_LOW_LATENCY_FLAGS_CONFIGURATION
    WMI_VDEV_PARAM_ULTRA_LOW_LATENCY_FLAGS_CONFIGURATION
2. Latency level UL/DL
    WMI_VDEV_PARAM_NORMAL_LATENCY_UL_DL_CONFIGURATION
    WMI_VDEV_PARAM_XR_LATENCY_UL_DL_CONFIGURATION
    WMI_VDEV_PARAM_LOW_LATENCY_UL_DL_CONFIGURATION
    WMI_VDEV_PARAM_ULTRA_LOW_LATENCY_UL_DL_CONFIGURATION
3. Ini to Configure default latency level for all clients
    WMI_VDEV_PARAM_DEFAULT_LATENCY_LEVEL_CONFIGURATION
4. Ini to Configure multi client Low latency Feature
    WMI_VDEV_PARAM_MULTI_CLIENT_LL_FEATURE_CONFIGURATION

Change-Id: I1f14d032855f8b7418e0cb0df09d013e49b05481
CRs-Fixed: 3180937
2022-04-26 05:38:07 -07:00
Pragaspathi Thilagaraj
1911d07d35 qcacmn: Add new Wifi Pos module PASN related files
Add new files in Wifi-Pos module to support PASN authentication.
Introduce new API to handle 11az ranging peer create, to handle
PASN peer create response and manage the PASN peers to initiate
external authentication to userspace.

Change-Id: I0b638d3cfca2753074fdb56ad78373f842ca80ee
CRs-Fixed: 3150241
2022-04-26 04:03:28 -07:00
Pragaspathi Thilagaraj
f002514396 qcacmn: Add new public structure file for Wifi pos module
Add new public structure file for Wifi_Pos module to define
11az related structures & enums, vdev private object for
Wifi Pos module.

Change-Id: Ia8b8ebb3b36cc8f1d9598629e63d15a0f16301c7
CRs-Fixed: 3150228
2022-04-26 04:03:22 -07:00
Amit Mehta
e498989902 qcacmn: Add DP component ID
Add DP component entry in debug id and umac component id.

Change-Id: Ia4302f5b22c26cd099821388e09be0358b83ab1b
CRs-Fixed: 3165355
2022-04-25 23:11:56 -07:00
Shwetha G K
6f4cc59749 qcacmn: Fix NAWDS ML peer creation crash
Fix for crash seen during MLO NAWDS peer creation.
Peer assoc for MLO NAWDS peer is done in a different way
hence avoid peer assoc in wlan_mlo_peer_create.

CRs-Fixed: 3179437
Change-Id: I76356e68ef267fe2b4d37bfe29faca5ed8c02347
2022-04-25 15:22:20 -07:00
Deeksha Gupta
ae58fedfe0 qcacmn: Update EHT operation IEs as per draft 1.3
Update EHT operation IE definitions as per 11be draft 1.3 specification.

Change-Id: If8dbfa29e6e674adabdc65299a064fc839f19a9a
CRs-Fixed: 3159329
2022-04-25 14:08:25 -07:00
Deeksha Gupta
5e413d3cc5 qcacmn: Update EHT capabilities as per draft 1.3
Update EHT Capabilities as per 11be draft 1.3 specification.

Change-Id: Ic0a051e59b1941f95f1e70bb0e12cec3986d2099
CRs-Fixed: 3108211
2022-04-25 12:47:34 -07:00
chunquan
f9fa73c67e qcacmn: Remove WLAN_FEATURE_11BE_MLO from middle of function
Remove all WLAN_FEATURE_11BE_MLO from middle of function.

Change-Id: Icb826041416528bfe3c6e06d88116d3e359eb969
CRs-Fixed: 3175490
2022-04-25 08:58:22 -07:00
aloksing
4022e9c245 qcacmn: Fix build issue
Fix build issue when WLAN_FEATURE_11BE undefined.

Change-Id: Id94702aaa23480cb3793716a8c820a68c9c7cacb
CRs-Fixed: 3180403
2022-04-25 08:58:16 -07:00
abhinav kumar
5cb3946000 qcacmn: Support multi-client service bit info from FW
Add change to fetch and save the WMI service capability
bit of FW to support multi-client low latency feature
using service bit.

Change-Id: Ifce82c06fc913668949ed06634da1eebcea80397
CRs-Fixed: 3180932
2022-04-25 05:38:28 -07:00
Balaji Pothunoori
4609e90b57 qcacmn: Add vendor attribute for peer TID flush vendor cmd
This change is to vendor attribute for peer TID flush vendor
cmd QCA_NL80211_VENDOR_SUBCMD_PEER_FLUSH_PENDING.

Change-Id: If112ec288a64622b9bf7fe625f7ac9e127d0ecbe
CRs-Fixed: 3170381
2022-04-25 05:38:22 -07:00
KARTHIK KUMAR T
c7acbbd7ba qcacmn: calculate RSSI in DBM
calculate rssi_comb and rssi per chain values using
parameters received from the fw.

Change-Id: Ide56549c7d7ee9bde609dc6764013d509f7ccac0
CRs-Fixed: 3157484
2022-04-25 04:12:10 -07:00
Shashikala Prabhu
dcaeac7d89 qcacmn: Add QDF module ID for TID-to-link mapping
Add QDF module ID for TID-to-link mapping to add T2LM specific debug
prints.

Change-Id: I334614c3ab19fc9852eb6defa23e26289e093a81
CRs-Fixed: 3167176
2022-04-25 03:01:16 -07:00
Deeksha Gupta
aaee26bbb5 qcacmn: Rename bss to bssid in struct cfg80211_mlo_link_params
Rename bss to bssid in struct cfg80211_mlo_link_params

Change-Id: I6353f6879c7e531f4447906553044291a9caf799
CRs-Fixed: 3179562
2022-04-25 01:48:24 -07:00
Jinwei Chen
1e4fecd110 qcacmn: Fix excessive logging in hif_force_wake_request
For KIWI, FISA FSE table is moved from host DDR to CMEM,
then for each time flow learning, it request to force UMAC wake
up then update FSE info in CMEM. currently hif_force_wake_request
will print PCIE_SCRATCH_0_SOC_PCIE_REG register value always,
so when flow learning happened frequently, it might lead to excessive
logging.

Remove the print for successful case, only print register value if
wake up failed.

Change-Id: I87f3b1c8f4ac0fa6270410cf8564b55446b3a40f
CRs-Fixed: 3180175
2022-04-25 01:48:18 -07:00
Manoj Ekbote
3ba452b700 qcacmn: Use pdev specific WMI handle for TWT cmds
While pushing WMI cmds for TWT enable/disable, use separate
CE instance for each pdev.

Change-Id: I63e77996f9face7e319fbd8abf580d13ce1c05a1
CRs-Fixed: 3162042
2022-04-25 01:48:12 -07:00
Ananya Gupta
bf41cceb2f qcacmn: Use gEnableDataStallDetection as UINT value
Currently, data stall detection is without control over
individual data stall events.
INI variable, gEnableDataStallDetection is converted from
boolean to unsigned int which provides control over events
across FW and host with each bit corresponding to different
data stall events.
Bit 0: Enable all data stall events if set.
Bit 1-30: mapped to data stall events. Used when Bit 0 is 0
Bit 31: Enable aggressive timeout for WLM Mode.

Change-Id: I4656520accd1589e77d5054eaa0a3cb8e63b14b2
CRs-Fixed: 3174906
2022-04-24 23:13:39 -07:00
Sai Rupesh Chevuru
53ed3db279 qcacmn: Fix for build
Fix build issue when MCAST_MLO defined.

Change-Id: I1a0447e6126f81747f43cc138eaeee528e1c5a6e
CRs-Fixed: 3181198
2022-04-23 06:40:37 -07:00
Yeshwanth Sriram Guntuka
3b9507802e qcacmn: Modify Kiwi CE config to add support for LPASS DP
Modify Kiwi CE host, target, and target_to_service config
to support LPASS datapath service.

Change-Id: Ib4cf47e924b0380bf25828b60ad329f7d8a2789f
CRs-Fixed: 3180744
2022-04-22 14:40:19 -07:00
Karthik Kantamneni
6380170e35 qcacmn: Introduce new QDF API's to handle skb and net dev requirements
Introduce new QDF API's to handle skb and net dev handling in
os abstract code.

Change-Id: If5a460df2c6c1b4068909fed6e5b3036623c2093
CRs-Fixed: 3164916
2022-04-22 13:19:19 -07:00
KARTHIK KUMAR T
ec906c0387 qcacmn: Add the rssi dbm support param in dp soc
Update RSSI dbm support parameter in the dp soc
via CDP interface.

Change-Id: I1197d98eeb417361bb65ad6f3c0c777524c39c3b
CRs-Fixed: 3157372
2022-04-22 10:58:15 -07:00
Pragaspathi Thilagaraj
4abe857789 qcacmn: Add support for per candidate roam frame capability
Firmware advertises per candidate roam frame capability to
indicate:
1. Firmware sends auth/assoc frames for each candidate to
which roaming was attempted.
2. Fill the frame info TLV with authentication algo = 3
for authentication frames.

Add support for the roam per candidate frame info capability

Change-Id: I95c23031ab0fbc21fb9d8db3bd54004e4d1ac234
CRs-Fixed: 3172311
2022-04-22 08:39:58 -07:00
Abishek Ganapathy
e79a7628e6 qcacmn: Find peer using mld_addr for MLO case
For MLO, try to find peer by comparing the MLD MAC
addresses.

Change-Id: Ib109da957d5c330385688a4e91e04cda91a51f30
CRs-Fixed: 3140866
2022-04-22 07:27:02 -07:00
KARTHIK KUMAR T
21fcb24a2c qcacmn: Add RSSI specific parameters in mon pdev
RSSI calibration parameters are received as part
of WMI event from FW, update these parameters to
monitor pdev via CDP interface.

Change-Id: I5060795918571763ad467aae93729040fbca96a1
CRs-Fixed: 3147897
2022-04-22 07:26:51 -07:00
Amir Patel
c94599395b qcacmn: Update correct filters for monitor mode
Update correct filters for monitor mode

Change-Id: If0e8b7397289c3d453d3a8c9a87db79f921909c9
CRs-Fixed: 3178839
2022-04-22 07:26:45 -07:00
Shiva Krishna Pittala
eb29b7fac2 qcacmn: Don't use packmode_fftbin_size_adj WAR for QCA9574
packmode_fftbin_size_adj is used when the reported FFT bin length from
HW is twice the actual size. This issue is fixed in HW from Pine onwards.
So, don't use this WAR on QCA9574.

Change-Id: I43a4bcb6f238fac6a14c1f6459d7ad24a7a99b2d
CRs-Fixed: 3165085
2022-04-22 06:10:19 -07:00
Karthik Kantamneni
e1c62fc4ad qcacmn: Implement qdf support for netdev stats
Implement qdf support for netdev stats, so that
qdf macros will be used to handle netdev stats.

Change-Id: I7018fd81de8410080be03b3156ddcc941d1d180f
CRs-Fixed: 3165357
2022-04-22 05:01:24 -07:00
Jeevan Kukkalli
cedb0f2795 qcacmn: Handle lite monitor frames
Call function to process mpdus when lite monitor
feature is enabled

Change-Id: I0df722a92e91bddc09a84dce2bc2aa6a67548045
CRs-Fixed: 3173953
2022-04-22 03:10:57 -07:00
Debasis Das
e7615d09c5 qcacmn: Fix average delay calculation for hist-stats
To calculate average delay for hist-stats, use the below
formula : new-avg = (current-avg + new-delay) / 2.
During accumulation of delay-stats for all the TID's for
a peer, only the hist-buckets with non-zero counts should
be considered for calculating the various delay levels.

Change-Id: Ic930116bd650baab6a2b43e077cf55f5c79681d5
CRs-Fixed: 3178032
2022-04-22 00:50:19 -07:00
Harsh Kumar Bijlani
844445200d qcacmn: Add support for printing of peer stats in driver
Add support for printing of missing peer stats in driver.

Change-Id: Id0b2a5b101f061612f60ea9d6385d0980214c820
CRs-Fixed: 3178076
2022-04-21 05:57:37 -07:00
Sai Rupesh Chevuru
f52e7f0e38 qcacmn: Special cases handling in the case of multicast MLO
In the case of ME6, Backhaul WDS, NAWDS
1. Send the igmp pkt on the same link where it received,
   as these features will use peer based FW metadata.
2. Bypass the reinjection.

Change-Id: Idf0058e182257fbcedd8eb5fc8bcde945e8a91bc
CRs-Fixed: 3171558
2022-04-21 05:57:30 -07:00
aloksing
9cc1b3a305 qcacmn: Get RU details in MIMO case
Get NSS, MCS and RU size from PPDU_START_USER_INFO TLVs.

Change-Id: I5898a46a52e8a1eb25e3cf54e7dfe50c503e1b68
CRs-Fixed: 3167954
2022-04-21 04:33:31 -07:00
Jinwei Chen
5f37239c73 qcacmn: Fix SAP DHCP ACK no TX Comp notify issue
When TX completion is released from FW, dp_tx_notify_completion()
will not be invoked, then TX DCHP ACK will miss
hdd_softap_notify_tx_compl_cbk() which then
WMI_PEER_CRIT_PROTO_HINT_ENABLED with value 0 will not send to FW.

(1) move dp_tx_notify_completion() from dp_tx_comp_process_desc_list()
to dp_tx_comp_process_tx_status(), so that both TX completion release
source FW or TQM case will call it.
(2) clear TX notify flag for intra-bss forwarding BC/MC to avoid
unnecessary TX completion notify.
(3) Set ts.status for release source FW case otherwise it will be value
0 always.

Change-Id: I2bf9900a3d16ba162a83b061f0b96e7d2f79423a
CRs-Fixed: 3178423
2022-04-21 03:20:36 -07:00
Dundi Raviteja
e04b80efc6 qcacmn: Add pre cac component support params
Add component id, module id and debug id for
pre cac component.

Change-Id: I2abee4b8a48c816d50d04451bbf97a2188d37b54
CRs-Fixed: 3176256
2022-04-21 01:20:24 -07:00
Jingxiang Ge
4c3d1cbd29 qcacmn: Change ce desc history from dynamic to static
As dynamic allocation occupy cnss prealloc memory, which may
cause this prealloc pool to be exhausted.

Move dynamic memory to static.

Change-Id: Ia3500868cbcdbd9676f72a3588462ab0d6a21088
CRs-Fixed: 3171015
2022-04-20 13:07:54 -07:00
Vinay Adella
cbb1a0ec9b qcacmn: Add debug to print the Interrupt enable registers
These are currently enabled only for WIN ahb platforms

Change-Id: Ibd68d5625b6cf790097111c15aece31ea52c0324
CRs-Fixed: 3153652
2022-04-20 11:49:27 -07:00
abhinav kumar
e7861fb758 qcacmn: Update pmk for roamed AP to pmk cache table
Assume AP1 and AP2 are SPMK APs. For SPMK AP(s), Host
should add an entry of an AP in PMK cache table like below in
two cases only:
Case 1. When DUT successfully associated with SPMK supported AP
            In this case host update “is_spmk_ap” flag in PMK
            table by parsing beacon of associated AP after
            successful connection.
Case 2. When DUT successfully roamed to SPMK supported AP
            In this case host update “is_spmk_ap” flag in PMK
            table by parsing roam sync indication event.

In case of connection with SPMK AP, Host selectively deletes PMK
entry for other SPMK supported AP(s) on basis of “is_spmk_ap”
flag and maintains only one entry for all SPMK AP(s). And host
sends the same single PMK in RSO for further roaming to SPMK AP.

Initially, DUT is connected with AP2. Then Disconnection happens with
AP2 due to NUD failure. After disconnection, the upper layer sends
flush PMK requests for AP1 and AP2. Host deletes old PMK entries for
both APs. Now upper layer sends a set PMK request for AP2. Host adds
AP2 entry in PMK cache table but host does not set "is_spmk_ap" flag
in PMK table for this entry as DUT is not connected to AP2. Now host
receives a connect request for AP1 from the upper layer. DUT
successfully associated with AP1 by performing full SAE authentication.
Host adds an entry for AP1 in the PMK cache table and sets "is_spmk_ap"
flag for AP1 but fails to delete the entry for other SPMK AP(s), here
AP2, from PMK cache table. This is because of "is_spmk_ap" flag is not
set for AP2. At this point of time below is the PMK cache table entry
for SPMK AP(s): The Host PMK cache table has two entries for two SPMK
APs.

   BSSID       PMK     is_spmk_ap flag
    AP2       PMK2           0
    AP1       PMK1           1

Now FW roams to AP2 using PMK1. Host process roam sync indication for
AP2 and updates "is_spmk_ap" flag for AP2 in the PMK cache table. As
Host has a stale entry for AP2 in the PMK cache table, Host sends AP2’s
PMK (here PMK2) in RSO command which firmware will use for further
roaming but roaming fails due to invalid PMK, as target SPMK AP expects
PMK1 in reassociation request.

To handle these scenarios, FW should send PMK info of roamed AP and
host override stale entry for roamed AP (if any) with roamed AP's PMK
in PMK cache table.

Change-Id: I3c6a49be065e4744e438c2762c103eb3095a2253
CRs-Fixed: 3168078
2022-04-20 11:49:22 -07:00
Edayilliam Jayadev
3d17fd1925 qcacmn: Update bitmap of valid MLO links
Update the bitmap of valid MLO links.

CRs-Fixed: 3166124
Change-Id: I295531325e7e1d787323b4bfff34e3cd1f9001ef
2022-04-20 07:52:02 -07:00
Chaoli Zhou
d74a42a737 qcacmn: Fix compile error issue
Fix no member named 'pm_dentry' issue if set
WLAN_OPEN_SOURCE=n.

Change-Id: Iadc01285a76385b7d9a696824afcc88964c10014
CRs-Fixed: 3177555
2022-04-20 07:51:56 -07:00
Edayilliam Jayadev
7685147fb3 qcacmn: Skip management Rx reorder for CTRL frames
Skip management Rx reorder for all the frame types
other than management.

CRs-Fixed: 3166120
Change-Id: I4b056cf89ee1e1cf3e7d18a51fbe2c09a40d0b66
2022-04-20 07:51:51 -07:00
Madhvapathi Sriram
c513ba8b9a qcacmn: Initialize wlan config structure
When RRI over DDR feature is not enabled,
the variable rri_over_ddr_cfg_valid goes uninitialzed.
This can lead to unpredictable behaviour.

Fix this by initializing pld_wlan_enable_cfg to zero
before use.

Change-Id: I485dc552201111834375411b9a493ddbf9a7505c
CRs-Fixed: 3176497
2022-04-20 05:47:03 -07:00
Sai Rupesh Chevuru
490ea7cc78 qcacmn: Avoiding the loop back packets between MLO NAWDS repeaters
Check for mld peer id instead of link peer id in the case of
intra bss forwarding between MLO NAWDS repeaters

Change-Id: I7af7f43e7f88c95b0debee85c0976fdb9a1c5519
CRs-Fixed: 3142943
2022-04-20 05:46:55 -07:00
Paul Zhang
d5a23f4cb1 qcacmn: parse RNR IE about MLD params for MBSSID feature
In order to reconstruct frame for MBSSID feature, per the description of
the Reduced Neighbor Report(RNR) element about MLD parameters subfield
in section 9.4.2.170 of Draft P802.11be_D1.4, the RNR IE is modified:
1\ If the reported AP is affiliated with the same MLD of the reporting AP,
the TBTT information is skipped;
2\ If the reported AP is affiliated with the same MLD of the nontransmitted
BSSID, the TBTT information is copied and the MLD ID is changed to 0.

Change-Id: Ibd4f2af28289bdb2f65c26966a92ea4df530fccb
CRs-Fixed: 3136398
2022-04-20 04:27:09 -07:00
Jeevan Kukkalli
19c030e751 qcacmn: Enable smart monitor on wkk
Enable smart moniotr operations to add/delete
NAC clients and to get NAC client rssi value.

Change-Id: Ifc933d474da15101293cf3e1c07261917fb634f9
CRs-Fixed: 3169256
2022-04-20 03:12:47 -07:00
Jeevan Kukkalli
af7c896bdc qcacmn: Add lite mon rx filter setup/reset functions
Add function to setup/reset lite monitor filters
whenever lite monitor mode is enabled/disabled
respectively through cmd line.
Also add function to configure rx header tlv dma length.

Change-Id: Ia5d8bc36e1d033b3e15737bb6b9854f6a7cdd5df
CRs-Fixed: 3143570
2022-04-20 03:12:41 -07:00
Neha Bisht
6064df8467 qcacmn: Update code with peer_extended_stats instead of rdk_stats
With new configuration changes for enable_peer_extended stats, update
code to peer_extended_stats naming for clean codebase.

Change-Id: I97a7ee331042232098382683fefebd05e6b099c3
CRs-Fixed: 3149920
2022-04-20 01:37:59 -07:00
Bing Sun
67df961d63 qcacmn: Allow MLO sta connetion with single link
For single link MLO connection, there is no partner peer creation,
so wlan_mlo_link_peer_attach is not triggered. wlan_mlo_peer_create
is good enough to trigger mlo_mlme_peer_assoc_resp.

Change-Id: Ia76503e146a07d15d7b263aa36f9e8c4d110fc6e
CRs-Fixed: 3168623
2022-04-20 01:37:52 -07:00
Alan Chen
65dd63b576 qcacmn: Add checks in qdf_minidump_log
Add a check in qdf_minidump_log() and qdf_mindump_remove() so that
log types that are not allowed for minidump are not added to the minidump
table  and also are not requested to be removed when they are not in the
minidump.

Change-Id: Id4cfdc0de1fc9baf40ae89ad5d3b3f9543df2805
CRs-Fixed: 3171812
2022-04-20 01:37:46 -07:00
Rakesh Pillai
a8a385329d qcacmn: Add MU msdu_q only for monitor 2.0
Monitor 2.0 uses a msdu_queue (75K memory), which
is currently enabled for monitor_1.0 as well.
Add this memory under Monitor_2.0 feature, so that
there is no memory increase for monitor_1.0.

Change-Id: If0f3701787585ec2b2efde018287101919a77570
CRs-Fixed: 3176254
2022-04-20 01:37:40 -07:00
Harsh Kumar Bijlani
9aa4e0f9f5 qcacmn: Add subscription for PPDU_START_USER_INFO TLV
In Beryllium architecture, PPDU_START_USER_INFO TLV carries
the user specific info for each user in a given ppdu.

Add subscription for this TLV by host for enhanced stats use case.

Change-Id: Ia12c5c3ab36198e7cd40dad0c0d92b945d2b49c6
CRs-Fixed: 3166305
2022-04-19 13:21:55 -07:00