Commit Graph

19293 次程式碼提交

作者 SHA1 備註 提交日期
Rakesh Boyina
f74c73af6c qcacmn: Add BW argument to frame_injector WMI
Support to pass bandwidth parameter to frame_injector WMI.

Change-Id: Id3836ae98c269659b6ec0f78f1e9c04bf549c64d
CRs-Fixed: 3477889
2023-05-18 12:15:15 -07:00
Krupali Dhanvijay
7a3946c538 qcacmn: Add support to boost CPU freq during roam
To enable the tx queues faster during roam, boost the
CPU min frequencies to maximum once roam start is received,
and reset them once queues roam sync is complete or
roaming is aborted.
This change enables such support for lithium and Clarence targets.

Change-Id: I49d2f50f1c0142e7db1c981276bd08b75159b6d3
CRs-Fixed: 3487573
2023-05-18 09:37:07 -07:00
Sai Rupesh Chevuru
66d580c799 qcacmn: cleanup the link peers before ml peer deletion
During the target recovery cleanup the link peers
before ml peer deletion.

Change-Id: I23200a448f7a6a38e4b0e94dc95ea33a0b77eb9d
CRs-Fixed: 3496518
2023-05-18 07:16:27 -07:00
Amit Mehta
dd5f5c1afa qcacmn: Get wow nack reason code
Currently, Fw did not set NACK reason code
to Host when Fw is not ready for WoW.

As part of the new change, Fw will send NACK
reason code along with WoW NACK to host.
Make changes in host to parse NACK reason
code from the received message.

Change-Id: I17ee99cb302ff546731a46d3ce03977c3c3d5a67
CRs-Fixed: 3481189
2023-05-18 04:35:41 -07:00
Namita Nair
401b28e1b8 qcacmn: Add null check on wmi_handle
This change adds a NULL check on wmi_hdl before
dereferencing.

Change-Id: If00db0c56f33a910f698588f38c4219a4cd5bbf8
CRs-Fixed: 3491231
2023-05-17 19:18:54 -07:00
Surya Prakash Raajen
488ebc9cd9 qcacmn: Fix subsequent wifi failuers after mode1 recovery
After mode1 recovery, because of short circuit operator "&&",
decrement of init count is not happening and causing failures
to read global shmem arena tlv, fix the issue by changing the order

Change-Id: Iae922f09c2a9c3690318e35657f92cc3bf1061e7
CRs-Fixed: 3497802
2023-05-17 16:11:41 -07:00
Shashikala Prabhu
528a63c3ce qcacmn: Decrement num vdevs in the MLD on vdev detach
Decrement number of vdevs in the MLD on vdev detach.

Change-Id: I9040ac46d60e2e8738f6b3eaf46db6b72bad729c
CRs-Fixed: 3483554
2023-05-17 08:35:07 -07:00
Shashikala Prabhu
65e8b2f3d8 qcacmn: Add CDP API to check if UMAC reset is in progress
Add CDP API to check if UMAC reset is in progress.

Change-Id: I9b5891f61278aa6be52ee2e8d5f9de3185d92eef
CRs-Fixed: 3475148
2023-05-17 08:34:56 -07:00
Shashikala Prabhu
8b6fd27e6e qcacmn: Restart vdev mgmt rsp timer if UMAC reset is in progress
It is possible that the host queued the peer delete command to FW
but no peer delete event was received within the peer delete
timeout as FW initiated a UMAC reset.

When the vdev mgmt response timer times out, check if umac reset is in
progress. If so, restart the vdev mgmt response timer.
The entire umac reset handshake completes within 200ms if not
FW asserts. Hence no need to add the count check before
restarting the vdev mgmt response timer.

Change-Id: Ief3351b940658a870e303d191a3873bd60499023
CRs-Fixed: 3475168
2023-05-17 08:34:46 -07:00
Yeshwanth Sriram Guntuka
45690711be qcacmn: Set to_fw to 1 in HW descriptor for scattered skb
The to_fw bit in HW descriptor is not set for exception
marked skb that is scattered across multiple pages. In the
case of direct link, this would result in crash as TQM
bypass mode is used for direct link vdev.

Fix is to set the to_fw bit to 1 in HW descriptor for
exception marked skb.

Change-Id: I060ad4ad59f85e09f39bd85080e0b3138a39402c
CRs-Fixed: 3490554
2023-05-17 06:24:01 -07:00
Vijay Raj
b4c77ab924 qcacmn: Add structure support for vlan peer config
Add structure peer_vlan_config_param for
WMI_PEER_CONFIG_VLAN_CMDID to support vlan peer config

Change-Id: I2f93ce2bd10d1920d33ee0e26d1b7d344813852b
CRs-Fixed: 3492156
2023-05-17 06:23:48 -07:00
Karthik Kantamneni
72b6f50792 qcacmn: Fix compilation errors for softumac target
Fix cfg and monitor APIs compilation error for
softumac based targets.

Change-Id: I6274353a5ebefb25959463c1f642462f8232736c
CRs-Fixed: 3498111
2023-05-16 17:33:49 -07:00
Yu Tian
fc12609405 qcacmn: Add bit mask control for special frame deliver
Add bit mask control for special frames deliver in error
path.

Change-Id: I9f30e53028bf75d02578e5132f62b15ea480d1bd
CRs-Fixed: 3457564
2023-05-16 17:33:38 -07:00
Jia Ding
296729e604 qcacmn: Properly set RPS for WLAN IPA
It is observed on sdxpinn target (first multi-core MDM platform)
that WLAN failed to enable IPA pipes with SAP-SAP mode when first
ref-client connects to the SAP. Indeed with QCA_CONFIG_RPS=y and
qdf_ipa_get_lan_rx_napi()=true, wlan_ipa_uc_handle_first_con()
directly returns false if more than 1 SAP is started.

This obviously breaks IPA data path for MDM platform, where even
4 SAP can be supported with IPA offload. And WLAN data path
forwarding replies fully on IPA hardware. This also means there's
no need to configure RPS for MDM, which is a host kernel networking
feature.

Change-Id: I4c17f61b1b242cdbaed7177201b330d10ec7e61b
CRs-Fixed: 3490817
2023-05-16 14:34:09 -07:00
Jhalak Naik
d563641c08 qcacmn: Add support for handling MLO TSF sync capability
Add APIs to init the TSF sync capability based on
WMI_SERVICE_MLO_TSF_SYNC service bit sent from FW,
per ML group.

Change-Id: I5dad3fef7ebfa2af330b95d45cac3bef862f46f0
CRs-Fixed: 3491364
2023-05-16 11:43:24 -07:00
Aniruddha Mishra
ba55e0f2a8 qcacmn: Add Tx TLV Recording support
Add Tx TLV recording support for monitor 2.0
Also add support to control Rx and Tx TLV
recording

Change-Id: I27a0d2c9ea8bdfacd46e6b7188b45b08ed47bbcd
CRs-Fixed: 3422787
2023-05-16 11:43:14 -07:00
Paul Zhang
2c6112bf44 qcacmn: Copy ML IE from right position for MBSSID
For MBSSID case, ML IE does not contain full per-STA profile info
in MBSSID IE. When generating the beacon and probe response frame
for MBSSID case, it needs to copy the ML IE info from main frame.

Change-Id: Id369d08772f11a5f0f838351b5b76ecce3762c55
CRs-Fixed: 3479932
2023-05-16 09:16:18 -07:00
Rahul Gusain
a87ba5b55a qcacmn: Add support for kernel feature flag
Add support for secure NAN and auth/deauth random TA feature by
enable compilation flag "WLAN_EXT_FEATURE_SECURE_NAN" and
"WLAN_EXT_FEATURE_AUTH_AND_DEAUTH_RANDOM_TA"

Change-Id: I23788c3f48a61d8dc293b1049aa027a725386f6a
CRs-Fixed: 3493515
2023-05-16 09:16:07 -07:00
Zhiwei Yang
dcc5bcfd68 qcacmn: Avoid using small buffer address
On some third-party platforms, we observe the memory physical
address below 0x2000 is allocated will cause HW/FW NOC error,
so this region memory should not use by host.

This change will hold the memory if the allocated memory physical
address below 0x2000 until driver unload.

Change-Id: I37b6abc98033230dc4f572dafb849101497f6e93
CRs-Fixed: 3419648
2023-05-15 12:23:50 -07:00
Himanshu Batra
23918826de qcacmn: Correct BSSID in case of correct resp failure
Correct BSSID in case of correct resp failure

Change-Id: I515d22c8e2432915e862c2e484185794c782e94c
CRs-Fixed: 3479029
2023-05-15 10:06:27 -07:00
Jithender Miryala
6256ed2ec9 qcacmn: Update regulatory database to 42 version
1. Update (or) Add the following country mapping to regdomain for 6 GHz.
i) Update 6 GHz_MKK1_VLP power to 1dBm/MHz (PSD) and 14dBm (Total)
ii) Update 6 GHz RD Defs "6g_APL5_VLP" to support only 5925-6425 (UNII-5)
band.
iii) Create 6g_APL5_CLIENT_LPI_DEFAULT (Hex code : 0x31) and 6g_APL5_AP_LPI
(Hex code : 0x32).
iv) Create Full 6 GHz reg domain Hex code 0x13 and mapped to CHILE.
v) Map full 6 GHz reg domain HEX CODE 03 to UNITED KINGDOM territory
countries: FALKLAND_ISLANDS, GIBRALTAR, GUERNSEY, ISLE_OF_MAN, JERSEY,
MONTSERRAT, VIRGIN_ISLANDS_BRITISH.
vi) Map full 6 GHz reg domain Hex code 02 to countries: GEORGIA, HOLY_SEE,
ITALY, TURKEY, GREECE, LATVIA, LUXEMBOURG,  POLAND, SAN MARINO, SLOVAKIA,
SLOVENIA, SRI_LANKA.
vii) Create 6g_FCC3_VLP (Hex code : 0x06).
viii) Create Full 6 GHz reg domain Hex code 0x14 and mapped to
DOMINICAN_REPUBLIC.
ix) Update 6 GHz subdomain name from "6g_FCC2_SP" to "6g_FCC2_AP_SP"
x) Create 6g_FCC2_CLIENT_SP (Hex code : 0x07) and add to full 6 GHz
regdomain hex code 0x10.
xi) Map Full 6 GHz Reg domain Hex code 01 to GRENADA

2. Add or update the following regulatory database (2.4/5 GHz) for all.
i) Create new 5 GHz regdomain FCC20 (Hex 0x0B75) and Full 2 & 5 GHz
regdomain FCC20_FCCA (0xEF).
ii) Update CHILE from FCC13_WORLD to  FCC20_FCCA
iii) Remove indoor flag from ETSI13 UNII-1.
iv) Remove indoor flag from ETSI18 UNII-1.
v) Create new 5 GHz Regdomain ETSI20 (Hex 0x0E46) and full 2 & 5 GHz
regdomain ETSI20_WORLD (0x7C).
vi) Update APL14 CTL map to CHINA CTL.
vii) Update APL9 CTL map to KOREA CTL.
viii) Create new 5 GHz regdomain APL29 (Hex 0x1234) and Full 2 & 5 GHz
regdomain APL29_ETSIC (0x77).
ix) Update GUATEMALA from APL19_ETSIC to APL29_ETSIC.

3. Update or Add the following regulatory database(2.4/5 GHz) only for WIN
i) Map from ETSI13_WORLD to ETSI20_WORLD to countries: BOTSWANA, BURUNDI,
CONGO_DEMOCRATIC_REPUBLIC, KENYA, LAO_PEOPLES_DEMOCRATIC_REPUBLIC,
RWANDA, SAUDI_ARABIA, SOUTH_AFRICA, UAE, ZAMBIA.
ii) Map CHINA from APL14_WORLD to APL14_CHNA.
iii) Map KOREA_ROC from APL9_MKKC to APL9_KRRA

4. Update or Add the following regulatory database(2.4/5 GHz) only for
Linux Android
i) Map from ETSI13_WORLD to ETSI18_WORLD to the following countries:
FALKLAND_ISLANDS, GUERNSEY, ISLE_OF_MAN, JERSEY, MONTSERRAT,
SAINT_HELENA_ASCENSION_AND_TRISTAN_DA_CUNHA, VIRGIN_ISLANDS_BRITISH.
ii) Map GIBRALTAR county from ETSI1_WORLD to ETSI18_WORLD.
iii) Map from ETSI13_WORLD to ETSI20_WORLD to the following countries:
ALBANIA, BOSNIA_AND_HERZEGOWINA, BOTSWANA, BURUNDI,
CONGO_DEMOCRATIC_REPUBLIC, KENYA, LAO_PEOPLES_DEMOCRATIC_REPUBLIC,
MACEDONIA, MAURITIUS, MOLDOVA, -MONACO-, MONTENEGRO, RWANDA, SAUDI_ARABIA,
SERBIA, SOUTH_AFRICA, TURKEY, UAE, ZAMBIA.
iv) Map CHINA from APL14_WORLD to APL14_CHNA.
v) Map KOREA_ROC from APL9_MKKC to APL9_KRRA.

5. Update or Add the following regulatory database(2.4/5 GHz) only for DSRC
i) Map ETSI20_WORLD to the following countries: ALBANIA,
BOSNIA_AND_HERZEGOWINA, BOTSWANA, BURUNDI, CONGO_DEMOCRACTIC_REPUBLIC,
KENYA, LAO_PEOPLES_DEMOCRATIC_REPUBLIC, MACEDONIA, MAURITIUS, MOLDOVA,
RWANDA, SAUDI ARABIA, SERBIA, SOUTH_AFRICA, TURKEY, UAE, ZAMBIA.
ii) Map CHINA from APL14_WORLD to APL14_CHNA.
iii) Map KOREA ROC from APL9_MKKC to APL9_KRRA.

6. Update or Add the following regulatory database(2.4/5 GHz) only for Auto
i) Create new 5 GHz Regdomain MKK18 (Hex 0x1660) and Full 2 & 5 GHz
regdomain MKK18_MKKC (0xEE).
ii) Update Japan from MKK17_MKKC to MKK18_MKKC.
iii) Create new 5 GHz Regdomain FCC21 (Hex 0x0B76) and Full 2 & 5 GHz
regdomain FCC21_ETSIC (0xD2).
iv)  Update BRAZIL from FCC18_ETSIC to FCC21_ETSIC.
v) Create new 5 GHz Regdomain ETSI21 (Hex 0x0E47) and Full 2 & 5 GHz
regdomain ETSI21_WORLD (0x7D).
vi)  Map ETSI21_WORLD to the following countries: ALAND_ISLANDS, ANDORRA,
AUSTRIA, BELGIUM, BULGARIA, CROATIA, CYPRUS, CZECH, DENMARK,
ESTONIA, FALKLAND_ISLANDS, FAROE_ISLANDS, FINLAND, FRANCE, FRENCH_GUIANA,
FRENCH_POLYNESIA, FRENCH, SOUTHERN_TERRITORIES, GERMANY, GREECE, GUERNSEY,
HOLY_SEE, HUNGARY, ICELAND, IRELAND, ISLE_OF_MAN, ITALY, JERSEY, LATVIA,
LIECHTENSTEIN, LITHUANIA, LUXEMBOURG, MALTA, MARTINIQUE, MAYOTTE,
MONTSERRAT, NETHERLANDS, NETHERLANDS-ANTILLES, NEW_CALEDONIA, NORWAY,
POLAND, PORTUGAL, REUNION, ROMANIA,
SAINT_HELENA_ASCENSION_AND_TRISTAN_DA_CUNHA, SAINT_PIERRE_AND_MIQUELON,
SAN_MARINO, SINT_MAARTEN, SLOVAKIA, SLOVENIA, SPAIN,
SVALBARD_AND_JAN_MAYEN, SWEDEN, SWITZERLAND, UNITED_KINGDOM,
VIRGIN_ISLANDS_BRITISH.
vii) Map from ETSI13_WORLD to ETSI20_WORLD to the following countries:
ALBANIA, BOSNIA_AND_HERZEGOWINA, BOTSWANA, BURUNDI,
CONGO_DEMOCRACTIC_REPUBLIC, KENYA, LAO_PEOPLES_DEMOCRATIC_REPUBLIC,
MACEDONIA, MAURITIUS, MOLDOVA, -MONACO-, MONTENEGRO, RWANDA, SAUDI_ARABIA,
SERBIA, SOUTH_AFRICA, TURKEY, UAE, ZAMBIA.
viii) Map CHINA from APL14_WORLD to APL14_CHNA.
ix) Map KOREA_ROC from APL9_MKKC to APL9_KRRA.

Change-Id: I77c4da2f48005619b888281c034e49f28bb584e4
CRs-Fixed: 3421200
2023-05-15 03:45:28 -07:00
Kenvish Butani
c0fe52d4c6 qcacmn: Get vdev stats based on arch
With Single Netdev Unified and Hybrid Mode,
the calculation of vdev stats is changed as
per the mode. For LI platforms the path
to get vdev stats is still same while for
BE the vdev stats config path is different.
Introduced Arch ops to handle this diversion.

Change-Id: If4f0f49e78d35126942cd3f1872a5856e4d0f5ba
CRs-Fixed: 3482567
2023-05-15 03:45:15 -07:00
Edayilliam Jayadev
6f869404f6 qcacmn: Fix use after free in mgmt Rx REO debug infrastructure
Management Rx event parameters structure is  are accessed for debug
logging, after the frame is queued in the egress/ingress list. The queued
frame might get dropped in the mean time and this may lead to the
freeing of the management Rx event parameters structure. Fix the issue
by splitting the logging into two parts. Required fields of management Rx
event parameter structure are logged before updating the ingress/egress
list.

Change-Id: If7847fa3a7aca1298216aef91f089aa77d94e6a9
CRs-Fixed: 3489094
2023-05-15 01:28:35 -07:00
Kenvish Butani
ef68ac521f qcacmn: vdev stats Support for MLO Hybrid Mode
Add vdev stats support for DP MLO Unified
and Hybrid Mode.
Add new CDP API for getting vdev stats for
NON_MLD interface.
Add support to get vdev stats for specific
vdev which is a part of MLO.

Change-Id: I72c8b25958649d473e1b65cee21810cd86951187
CRs-Fixed: 3455607
2023-05-15 01:28:24 -07:00
Liangwei Dong
fa5b39c322 qcacmn: Allow roam if prev_bssid is AP mld address
"prev_bssid" can be AP mld address if current connection
is mlo connection. Allow roam if "prev_bssid" is AP mld
address.

Change-Id: Iebc71acae11fcbfb4fc98ec2199d546d71ef057c
CRs-Fixed: 3489879
2023-05-14 22:57:58 -07:00
Bing Sun
84d654cc7c qcacmn: Initialize local variable before using it
Do not use API to do variable initialization job.
Otherwise there is built error in some platform.

Change-Id: I489057a2753bf7bf091e87b902efa833ea90ece9
CRs-Fixed: 3471557
2023-05-14 22:57:48 -07:00
David Oladunjoye
a6b80a2f32 qcacmn: Add stub implementation when TWT is not enabled
Add stub implementation when TWT is not enabled.

Change-Id: I5a24376a04ebdaa88cbbc6cf4350d8de38bc6879
CRs-Fixed: 3488459
2023-05-14 16:07:24 -07:00
Namita Nair
b84e6e73fd qcacmn: Enable SAP/GO D3 WOW for OPT_WIFI_DP case
Currently as IPA_OFFLOAD path is enabled for OPT_WIFI_DP
usecase, this causes SAP/GO D3 WOW to be disabled.
This change will add a check to ensure D3 WOW is
enabled when IPA path is set for OPT_WIFI_DP usecase.

Change-Id: Idbbec78dadcba3e8f26b9c01e296869cd7278750
CRs-Fixed: 3496857
2023-05-14 13:38:17 -07:00
Santosh Anbu
19682c944c qcacmn: Enable interrupts for CE4 ring
Enable interrupts for CE4 ring for WIN specific Li York platform.

Change-Id: Ib11d719272cc81279d84c8fe455f2c18dd8ffe01
CRs-Fixed: 3439000
2023-05-14 13:38:07 -07:00
Surya Prakash Raajen
0fcbe55b8d qcacmn: Drop multiple teardown if already in teardown
Drop multiple teardown requests if mlo group is already in
teardwown phase

Change-Id: Id07ed50c2845b69c79bf6ccc4a6436eab8898532
CRs-Fixed: 3458369
2023-05-14 13:37:58 -07:00
Surya Prakash Raajen
cb01519700 qcacmn: Trigger UMAC reset with mode1 SSR teardown
Add support to trigger UMAC reset with mode1 teardown request
for mode1 target recovery SSR.

Change-Id: Ib2d1679162a2084488081c76f6753287a6e4d5c4
CRs-Fixed: 3458369
2023-05-14 13:37:48 -07:00
Jia Ding
351f4a79a7 qcacmn: Properly vote IPA perf bandwidth
IPA does not support dynamic voting for max BW supported.
Hence WLAN has to do static and one-time vote for max
BW supported.

For KIWI family, vote 4800 to achieve nominal scaling.
For other chipsets, keep 800 as is and modify if new
requests are needed.

Change-Id: I2eb82857355097de5ab7c508df0e84eb1a141654
CRs-Fixed: 3482693
2023-05-14 11:07:51 -07:00
Srinivas Pitla
ca2acbe6bc qcacmn: Implement reassoc framework
This change processes Duplicate Assoc req from MLO Station
This would reuse old link peers and populate assoc req IEs.

This will fail, if Assoc link is not same as previous,
and number of links are not same as previous assoc req
processing.

Change-Id: I6a8c412b0bc484e8eb64ca794e54e080c391f7f8
CRs-Fixed: 3465223
2023-05-14 11:07:41 -07:00
Will Huang
638086f05d qcacmn: Fix possible compile error if include service_ready_param.h
enum reg_afc_dev_deploy_type afc_dev_type is defined as variable in
service_ready_param.h if AFC enable, reg_afc_dev_deploy_type defined
in wlan_reg_afc.h.

Include this head file if AFC enable so that don't have to include it
everywhere include service_ready_param.h.

Change-Id: I4bab90dc051c8afb984d7a486c97743b5c277589
CRs-Fixed: 3482426
2023-05-14 11:07:31 -07:00
Himanshu Batra
25e0531edd qcacmn: Add fix to validate disconnect req for MLO STA
In case of MLO, to avoid race between ongoing connect and a new
disconnect, add fix to validate disconnect req for MLO STA

Change-Id: I4b27a06103ffce637738b1894c3bdcf46533043c
CRs-Fixed: 3493915
2023-05-14 11:07:21 -07:00
Vivek
7c844f2d3f qcacmn: Handle the HTT message for SAWF peer AST update
When a new MSDUQ is instantiated for a peer, additional
dynamic AST indices are allocated.The new AST indices
should be used in subsequent MSDUs.

Handle the HTT message to update the dynamically allocated
AST indices.

Change-Id: Iea24e1f3523006f40c781abdc3c176ba25ecd5a5
CRs-Fixed: 3449259
2023-05-14 08:12:02 -07:00
Neha Bisht
53800babd2 qcacmn: Update reo pointers for new primary Qref table
Update reo pointers for new primary Qref table.

Change-Id: I3ac5cdd39f91ae84ecb595d613574bd7ee127d99
CRs-Fixed: 3486401
2023-05-14 08:11:52 -07:00
abhinav kumar
058889e6a0 qcacmn: Process ML Channel Measurement request
Host parse newely added vendor command
QCA_NL80211_VENDOR_SUBCMD_CONNECTED_CHANNEL_STATS and trigger
scan to get connected channel stats from FW in case of MLO
connection.

On scan done host sends scan done indication to upper layer
via QCA_NL80211_VENDOR_SUBCMD_CONNECTED_CHANNEL_STATS vendor
command.

Change-Id: I92dbd779c5fbdb1652a37cfa54c177bd13de4f28
CRs-Fixed: 3491060
2023-05-14 05:07:51 -07:00
Rakesh Pillai
4bb252b2a3 qcacmn: Featurize wlan repeater handling in multipass
Currently the packet tx handling for AP-multipass
assumes wlan repeater to be present. For targets like
qca6490, kiwi etc, wlan repeaters are not supported in
the network topology.

Hence to skip unwanted tx packet copy in per-pkt path,
move the code to handle packet tx to waln repeater in
multipass mode under a feature macro.

Change-Id: I8bb3fbc4f3de76c3ae04978d12d369fad5d2553f
CRs-Fixed: 3491508
2023-05-14 05:07:40 -07:00
Rakesh Pillai
e01279c8cf qcacmn: Include enet.h for ETHERTYPE_VLAN_LEN macro definition
ETHERTYPE_VLAN_LEN is defined in enet.h, which is not being
included in dp_main.c, which can lead to compilation error
if the MULTIPASS feature is enabled.

Include the enet.h header file for ETHERTYPE_VLAN_LEN macro
definition

Change-Id: I589123a0e2161486a430c6e8d6ca18e5907252d4
CRs-Fixed: 3494435
2023-05-14 05:07:29 -07:00
Aditya Kodukula
d943abd732 qcacmn: Add support to fetch link layer stats per MLO link
IEEE 802.11be enables multiple links between STA and AP. Each of the
link has its own set of statistics. Add additional attributes required
to fetch link layer statistics per MLO link.

For MLO connection, per MLO link statistics will be sent with the new
attribute QCA_WLAN_VENDOR_ATTR_LL_STATS_MLO_LINK. Also, cumulative
statistics of all the MLO links will be sent outside
QCA_WLAN_VENDOR_ATTR_LL_STATS_MLO_LINK to be compatible with legacy user
space.

For non-MLO connection, the statistics will be sent without being nested
inside QCA_WLAN_VENDOR_ATTR_LL_STATS_MLO_LINK attribute.

Change-Id: I2abe31ad754e59c101ff79dd3ae956bc93880a33
CRs-Fixed: 3488156
2023-05-14 05:07:18 -07:00
Hariharan Ramanathan
71b2a0dce1 qcacmn: Changes to move stub functions to header file
Changes done to move stub functions present in source file under
WLAN_MGMT_RX_REO_DEBUG_SUPPORT flag to header file.

Change-Id: I34297a48b67fb3200fed7e5e4b842647125d4fb0
CRs-Fixed: 3481641
2023-05-14 02:07:16 -07:00
Harsh Kumar Bijlani
ab46f235a0 qcacmn: Update rx_fast_flag for Rx protocol tag feature
Update rx_fast_flag for Rx protocol tag feature irrespective of
enhanced_stats_en flag.

Change-Id: Ibea2869cc182ad7d1683692d86b01de542cbddd0
CRs-Fixed: 3481654
2023-05-14 02:07:07 -07:00
Venkateswara Swamy Bandaru
a81e75d13b qcacmn: Add EPCS action frame receive support
Add EPCS action frame types on receive to process further.

Change-Id: Ieaae0dc2dd5bb3fbdc2b4d4c65f5ffd79498484d
CRs-Fixed: 3490402
2023-05-14 02:06:57 -07:00
Yu Tian
4e16309dd1 qcacmn: split srng history into small trunks
ring history array size is large. Change is aimed
to split the allocation into small trunks to avoid
memory allocation failure.

Change-Id: If977baab23718d0186ad2ce6d33319b52096f2f9
CRs-Fixed: 3479226
2023-05-13 23:33:50 -07:00
Vijay Patil
c3a34a4987 qcacmn: Iterate through all vdevs and check if CAC is in progress
Add an API to iterate through all vdevs and check if any vdev is
in CAC in-progress state.

When DFS CAC is going on for SAP, if 5 GHz mac is occupied by the
SAP and it's not available for 5 GHz NAN discovery. Enabling NAN
on 5 GHz in such cases cause inconsistency in firmware state machine
and firmware may assert as DFS MAC is not supposed to be disturbed
while CAC is going on.

So, check if NAN enable request has 5 GHz NAN channel also and reject
the request. Allow NAN enable command if it's 2 GHz only NAN enable
request, while CAC is going on.

Change-Id: Idcd92e29d4b6078332d439efb75eba6800e986bb
CRs-Fixed: 3492054
2023-05-13 17:02:42 -07:00
Aditya Kodukula
337b5b6195 qcacmn: Update QCA LL_STATS vendor command
Define bitmap values used by LL_STATS vendor command
and update the corresponding kernel documentation.

Change-Id: I70c86926a19907a2a1053bccbd7b316b198e1fb8
CRs-Fixed: 3488125
2023-05-13 07:19:23 -07:00
Aditya Kodukula
01e2992149 qcacmn: Fix differences in downstream LL_STATS vendor command
Currently the vendor attributes qca_wlan_vendor_attr_ll_stats_set,
qca_wlan_vendor_attr_ll_stats_clr, qca_wlan_vendor_attr_ll_stats_get and
qca_wlan_vendor_attr_ll_stats_results for LL_STATS vendor command
are not in sync with the upstream code.

So, fix the differences and match downstream code for LL_STATS vendor
command with upstream code.

Change-Id: I373470e1217f7da82bb25b40e07ed96d1b1a1d6c
CRs-Fixed: 3489509
2023-05-13 07:19:13 -07:00
Venkateswara Swamy Bandaru
2d6091a62e qcacmn: Add EPCS module id
Add EPCS module id and initialize to default info
debug level.

Change-Id: Idec60fcab1bdef90660a24c54f6c7b09d0ddc2eb
CRs-Fixed: 3490401
2023-05-12 23:09:19 -07:00
Krishna Rao
4f26b0e43f qcacmn: Allow modification of ML Reconfig delete timer
Allow modification of ML Reconfig AP remove delete timer at non-AP MLD
even if the AP removal is already in progress. The standard does not
currently provide for modification of the delete timer countdown at AP
MLD. However, if the AP MLD does carry out such a modification in
scenarios such as those given below, the non-AP MLD would be out of
sync with the AP MLD. Hence, we allow this modification.

Scenarios:
- At our AP MLD, if non-Tx VAP removal is ongoing, and subsequently
removal of its Tx VAP is requested with Delete Timer smaller than that
of non-Tx VAP, then non-Tx VAP's Delete Timer gets overridden with
that of the Tx VAP (this is due to an existing standards limitation
which doesn't allow change of Tx VAP role).
- There could sometimes be an issue with AP MLD due to which it might
incorrectly prolong the countdown by some margin in situations such as
an intervening CSA operation, etc.
- Some future 802.11be draft change may (or may not) allow
modification of the delete timer. (We may not guarantee
interoperability between an AP MLD implementing a future draft and a
non-AP MLD implementing the current draft, but the current
implementation change contributes towards best-effort
interoperability).

Change-Id: I6abc7565a5822bb7206c873716f1e3fc6a04416e
CRs-Fixed: 3466313
2023-05-12 23:09:09 -07:00