Commit Graph

7468 Commitit

Tekijä SHA1 Viesti Päivämäärä
Karthik Kantamneni
6bbad18fde Revert "qcacld-3.0: Update HDD to use DP component APIs"
This reverts commit I02fd36c45ec247fbd4fe79e035c1176cba3ebcec.

Change-Id: I26758565ac783b9c76b59eee6c2a526c68646fa5
CRs-Fixed: 3196571
2022-05-16 18:57:59 -07:00
Karthik Kantamneni
ff74017c8d Revert "qcacld-3.0: Code cleanup from HDD module"
This reverts commit I66d52b1af7ae52dfde330c7a1b5046f77ab5fe70.

Change-Id: I11e52f785ef0e1d6ba8481f7e98d7ca9e45f249c
CRs-Fixed: 3196571
2022-05-16 18:57:53 -07:00
VIJAY RAJ
5121c86318 qcacld-3.0: Return success from dynamic nss chain support check for 1x1
In api hdd_update_nss(), when unit test command 'iwpriv wlan0 nss 1'
is used in 1x1 mode, the fail status is returned resulting in test
case failure.

Return a success status in api hdd_update_nss() for 1x1 mode resulting
successful execution of test case.

Change-Id: Id482c2686b48a0b6cdd41980c4eb4424da775ad0
CRs-Fixed: 3195517
2022-05-16 17:18:36 -07:00
Aditya Kodukula
41cbecf667 qcacld-3.0: Add support for mapping link bssid for get_station
Currently driver ignores the bssid parameter in STA mode for
NL80211_CMD_GET_STATION command. Add support for mapping link
bssid with corresponing adapter to fetch the stats.

Change-Id: I99a87d1946cafedd707961962c415d1f179efb91
CRs-Fixed: 3181024
2022-05-14 03:35:00 -07:00
Aditya Kodukula
4fa9c424ee qcacld-3.0: Add support for MLO get_station stats
As part of MLO stats feature, add support to process get_station
stats for all MLO vdevs and store them in the corresponding adapters.

Change-Id: I21034f7769290603f1540c84aed55cc0a39defcf
CRs-Fixed: 3181022
2022-05-14 03:34:55 -07:00
Aditya Kodukula
5e19348a66 qcacld-3.0: Add support for MLO LL_STATS
As part of MLO stats feature, add support to process link layer
stats for all MLO vdevs and store them in the corresponding adapters.

Change-Id: Ia6d731c94eaa3a355a9deae61d07dd06c5d412bd
CRs-Fixed: 3181021
2022-05-14 03:34:50 -07:00
Arun Kumar Khandavalli
93d9a32c30 qcacld-3.0: Initialize the MIC work for link adapters as well
Currently MIC work/spinlock are getting registered for the MLO
adapter only, during interface down driver is trying to flush
an uninitialized work acquiring uninitialized spinlock this will
result in system instability.

Initialize the MIC work for the link adapters.

CRs-Fixed: 3177796
Change-Id: I975bbe2e57e6b5988b78c1c91107b8a1f2bcbe8a
2022-05-13 14:37:13 -07:00
abhinav kumar
29c9f12209 qcacld-3.0: Move multi-client caps get API to the dispatcher
Move wlan_mlme_get_wlm_multi_client_ll_caps API to dispatcher
folder so that other components would use this API to get
the multi-client feature capability flag.

Change-Id: Ib247401b9411c40a838b338a60d44cb187884480
CRs-Fixed: 3181381
2022-05-13 13:10:48 -07:00
Surya Prakash Sivaraj
a0b6b2c739 qcacld-3.0: Add STA+SAP indoor channel scc support
Based on the ini "sta_sap_scc_on_indoor_chan" the behavior of
STA+SAP in scc is as follows:
1. STA is on 2.4 GHz & SAP is on 2.4 GHz and SAP user configured
initial channel was on 5 GHz, then move SAP to 5 GHz initially
started channel

2. When STA + SAP are doing SCC on indoor only channel and
  a) STA moves to 2.4 GHz -> then SAP moves to initialy started
channel
  b) STA moves to another indoor only channel -> SAP follows
STA channel
  c) STA moves to non-indoor, non-dfs channel -> SAP follows
STA channel.
  d) STA moves to DFS channel -> SAP moves to 2.4 GHz channel
  e) STA disconnects -> Move SAP to initially started channel

3. STA is on 2.4 GHz & SAP is on 5 GHz non-indoor, non-dfs channel
and STA moves to 5 GHz channel, then SAP should follow STA to 5 GHz
if SAP was initially started on 5 GHz channel. Else SAP restart
is not required and SAP will remain on the 2.4 GHz channel

Change-Id: I655dffff026d8147e13599dddc024980ba157be5
CRs-Fixed: 3186965
2022-05-13 04:20:29 -07:00
Amit Mehta
4bb6f92ab3 qcacld-3.0: Code cleanup from HDD module
Cleanup HDD code which is refactored to
DP component.

Change-Id: I66d52b1af7ae52dfde330c7a1b5046f77ab5fe70
CRs-Fixed: 3169985
2022-05-11 13:20:54 -07:00
Karthik Kantamneni
2df27526fc qcacld-3.0: Update HDD to use DP component APIs
All the DP specific code logic is moved out of HDD to
new DP component. So update HDD module to use newly
introduced DP component APIs for DP specific operations.

Change-Id: I02fd36c45ec247fbd4fe79e035c1176cba3ebcec
CRs-Fixed: 3172570
2022-05-11 13:20:47 -07:00
Amit Mehta
6517e529b8 qcacld-3.0: Add HDD callback API for DP component
Add and register HDD callback APIs with DP component.
With this changes DP component will be able to call
HDD APIs which cannot be moved to DP component,
and to get information from HDD.

Change-Id: I393a12dc44b0c38a84a2c0245653c477ac6f2faa
CRs-Fixed: 3172463
2022-05-11 13:20:41 -07:00
Karthik Kantamneni
21ff53c56b qcacld-3.0: HDD changes to incorporate new DP component
HDD changes to incorporate new DP component

Change-Id: Ic8d60f182b4af5c2706e8de45f677195f6aabfe4
CRs-Fixed: 3172412
2022-05-11 03:23:14 -07:00
Alan Chen
4e491e5f35 qcacld-3.0: Set add virtual interface flag during pre cac
Due to Kernel 5.15+ upgrade, the correct kernel function must be used
to register netdevice. Hence, set the add virtual interface flag in
order to properly call cfg80211_register_netdevice().

Change-Id: I1fb0407dc8cb4858881b81d6cb5d4c280b3f9981
CRs-Fixed: 3192543
2022-05-10 23:37:48 -07:00
Srinivas Dasari
f4cd9598be qcacld-3.0: Fix ref leak for temp sta info node
hdd_is_connection_in_progress_iterator loops through all adapters
and the sta_info present in each adapter to find out
if any connection is in progress. In SAP case, there could be
multiple sta_info present and need to traverse through them by
avoiding running into loop on the same sta_info/released
sta_info. The hdd_for_each_sta_ref_safe helps for the same but
takes two references, one for sta_info and one for a
temporary entry. Release both after checking the
connection status.

Change-Id: I58a49e12b6d581dbaf1c129ce5a5196b31fb432f
CRs-Fixed: 3188412
2022-05-10 12:55:48 -07:00
Jinwei Chen
a04c5b0f90 qcacld-3.0: Add 11be phymode in bus bandwidth vote table
Currently no 11be phymode is supported in bus bandwidth vote table,
then for 11be mode, wlan driver vote during throughput test is not right.

Add 11be support in bus bandwidth vote table.

Change-Id: I2b35d98f56d93207c117e07caf13b9e6bc8ec209
CRs-Fixed: 3184731
2022-05-10 11:04:02 -07:00
Jianmin Zhu
bef2c71d6c qcacld-3.0: Fix code style of action oui
Fix the indentation of the 3rd parameter for all of qdf_str_lcopy() calls.

Replace the magic numbers with action_oui_id enums in the destination array
index for entries 0-6.

To align with out software architecture the umac code should not be calling
ucfg (user configuration) APIs, these should only be called by HDD/OSIF.
Instead the action oui component should export an inter-component API
wlan_action_oui_* which this function calls.
Change the implementation of the ucfg_ api to call the wlan_ API.

Change-Id: Id75eb6bd1ceb8031ccd0cc9c2f5826872969dc6f
CRs-Fixed: 3192204
2022-05-09 23:36:46 -07:00
Divyajyothi Goparaju
a1464c3327 qcacld-3.0: Do not send unified stats command in disconnect state
Currently driver sends unified ll stats command to request ll_stats
and station stats even if station is in disconnected state.

There are no stats required in disconnected state and fw does not
collect any stats in disconnected case. If host requests station
stats in disconnected case, fw sends all stats as 0s, so there is
no need to request these stats in disconnected case.

To address above issue, add a check to not send unified ll_stats
command in disconnected case.

Change-Id: I9701830d2e671020e564a42d2d866de420cfa0a4
CRs-Fixed: 3186240
2022-05-06 21:04:33 -07:00
Jianmin Zhu
100c2b7144 qcacld-3.0: Fix MU EDCA iot AP issue
One special AP sets MU EDCA timer as 255 wrongly in both beacon and assoc
rsp, lead to 2 sec SU UL data stall periodically.

To fix it, add ini gActionOUIDisableMuEDCA to specify action OUIs to
control MU EDCA configuration when join the AP, reset MU EDCA timer to 1
and config to F/W for such AP.

Change-Id: I0ad26214417d33bafcbb6939a247bebe4f4637f8
CRs-Fixed: 3180249
2022-05-06 21:04:28 -07:00
Aravind Kishore Sukla
8282e8af3c qcacld-3.0: Replace kmsg logs to debug logs
Change kernel log level to debug level

Change-Id: I1efa9a0498acd81f2a9a12d5712299609eb5bd06
CRs-Fixed: 3182121
2022-05-06 09:49:38 -07:00
Jyoti Kumari
714d3f7eb1 qcacld-3.0: Add connection roaming ini support
Add get/set support for connection roaming ini file

Change-Id: I09d6ebf86c5374fabb82f79d0a2cd8758e454e4b
CRs-Fixed: 3038459
2022-05-06 03:27:59 -07:00
Deeksha Gupta
51f4ca1a2e qcacld-3.0: Update ML IE definitions as per draft 1.4
Update multi link IE definition as per 11be draft 1.4 specification.

Change-Id: I0d70649e927d5eff152b44cf47cd6833c964bde4
CRs-Fixed: 3115953
2022-05-05 22:48:08 -07:00
Srinivas Dasari
109980c95e qcacld-3.0: Ignore H2E RSNXE support for test config
Userspace sends the vendor command WIFI_TEST_CONFIGURATION by
setting the attribute WIFI_TEST_CONFIG_IGNORE_H2E_RSNXE when
driver needs to ignore the SAE H2E mismatch for 6 GHz connection.
This is needed for certification test support.

Change-Id: Ic26e733e21811a9f19c6e35e27a9d63616c17c1b
CRs-Fixed: 3050391
2022-05-05 20:08:33 -07:00
Namita Nair
9f7f40c963 qcacld-3.0: Add threshold for SUPER_HIGH throughput
Added new threshold corresponding to SUPER_HIGH
throughput and maxed out vote level to PLD_BUS_WIDTH_MAX.

Change-Id: Ia6c411b2b1b77ff97d0058c84b2108415e6c0f45
CRs-Fixed: 3170485
2022-05-05 18:46:23 -07:00
Aditya Kodukula
478dd0d230 qcacld-3.0: Refactor wlan enable/disable code
Currently, the wlan driver returns error if it receives
invalid or duplicate commands from framework to enable/disable
wifi. So, for the framework to track the current state of wlan
driver, refactor the existing logic so that, it returns error
only for invalid values received from framework.

Change-Id: I11ec6adc0970ca2d1b07c0e32104fd5312b6b54a
CRs-Fixed: 3189019
2022-05-04 23:18:44 -07:00
Bing Sun
37569c2ee1 qcacld-3.0: Fix puncture support in 11be mode without MLO
Make puncture work for 11be. Puncture is in EHT operation IE. It should
be supported for 11be mode without MLO IE.

Change-Id: I4406e81895a53d2975aaf5049c8e98a879522888
CRs-Fixed: 3184867
2022-05-04 08:34:44 -07:00
Alan Chen
342972cb0e qcacld-3.0: Set virtual iface flag in hdd_close_ndi()
Inadequate error handling is causing NDI create to timeout when an
error occurs and follows different function call path. This results
in the is_virtual_iface flag not being set in some scenarios and
the wrong {un}register_netdevice() kernel function being called.
Hence, set the flag in hdd_close_ndi() as well in order to avoid call
the current {un}register function.

Change-Id: I58111ce2a4a0021f4070b2d22db5d997eb2332c2
CRs-Fixed: 3184560
2022-05-04 08:34:38 -07:00
Ashish
cd5571ea06 qcacld-3.0: Update correct RSSI for connected case getstainfo
When a station is connected to SAP and host driver receives
getstainfo command, it gives rssi info as part of tihs command.
Currently host driver does not update this rssi information
correctly because of which userspace is getting rssi info as
positive value which is not correct.

To address above issue, update rssi info correctly in the host
driver.

Change-Id: I87033184644a1d246f8669c74153c46837a35276
CRs-Fixed: 3184344
2022-05-03 16:35:04 -07:00
Srinivas Dasari
57bfa343e8 qcacld-3.0: Use hdd_for_each_sta_ref_safe API for connection status
When a NAN request(NAN enable/disable/any generic) is received
from userspace, host driver checks if any connection(STA/SAP/P2P)
is in progress by iterating through adapters. The request would be
rejected if any adapter has connection_in_progress status.

But if the adapter is getting cleaned up in parallel while
iterating through the list for connection status, the iterator
callback may stuck in loop. So, use hdd_for_each_sta_ref_safe()
API to avoid stuck in loop.

Change-Id: Ic7833dcb17154003565ccbece31a490ee9f43beb
CRs-Fixed: 3183232
2022-04-29 11:16:27 -07:00
Paul Zhang
4b23c1c5e8 qcacld-3.0: Enhancement to configure BA mode to fw
Currently, it can only set 2 or 3 for WMI_VDEV_PARAM_BA_MODE per the value
from attribute QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_ADDBA_BUFF_SIZE.

For enhancement, add logic:
	5 - buffer size 512
	6 - buffer size 1024

Change-Id: I8716b48659e9165604f04522f5703e9e5e46a907
CRs-Fixed: 3181782
2022-04-29 09:00:21 -07:00
Madhvapathi Sriram
bba43fa7fb qcacld-3.0: Move user EDCA setting variable to PE session
Do not have user_edca_set variable in the packed structure.
The packed structure is used in various places for copying
and casting.

Change-Id: Ic9203d73757830113df91c37da883eb19f7bff10
CRs-Fixed: 3182540
2022-04-29 05:24:14 -07:00
Jia Ding
0e8a200692 qcacld-3.0: Support tx_bitrate for SON node info
tx_bitrate is used as indication of macThroughputCapacity in transmitter
link metric for backhaul STA link.

tx_bitrate is added in wlan_node_info structure and os_if interface is
exposed so that SON module could get the tx_bitrate parameter.

Change-Id: Ib9949906b3247519bf8c1ce786d6b93d38d4d8ea
CRs-Fixed: 3154548
2022-04-29 00:57:40 -07:00
Surya Prakash Sivaraj
f61aa78712 qcacld-3.0: Use CM SM to get the roam sync state
Use the Connection Manager state machine to check if the
VDEV is currently in roam sync state. RSO states can be
changed dynamically based on the roaming configuration, whereas
the state machine would maintain the state.

Change-Id: Ic5c9a3a322febfe6b71f4684d5074dad599ecd37
CRs-Fixed: 3183191
2022-04-28 13:06:07 -07:00
Amruta Kulkarni
f42a94bae2 qcacld-3.0: Set chan freq to value passed to api
During monitor mode set target chan freq is incorrectly set
change is to set the chan freq to correct freq value in
wlan_hdd_set_mon_chan and wlan_hdd_cfg80211_set_mon_ch api's.

Change-Id: Ie5e7ce7cdf7417cddfdba808a76ab466397dfd9c
CRs-Fixed: 3183292
2022-04-27 22:57:02 -07:00
David Oladunjoye
a55c5f6b53 qcacld-3.0: Add mapping for WMI to Host TWT nudge status
Add mapping for WMI_NUDGE_TWT_STATUS_ALREADY_PAUSED on host side

Change-Id: I4109677a55cf6eaa421c5a881ec18cf6e2add375
CRs-Fixed: 3181041
2022-04-27 21:24:03 -07:00
Lin Bai
163809b25b qcacld-3.0: Enable RX FCS reporting
fcs_err_count member of structure station_info
introduced from kernel 4.20.
Enable it accordingly from 4.20.

Change-Id: Ic373cb4f95a9698c8ef25c829f39bd21cd8f4a26
CRs-Fixed: 3183697
2022-04-27 04:54:30 -07:00
Ashish
a381bf5989 qcacld-3.0: Update ccfs2 in ht operation
Currently driver does not update ccfs2 correctly in ht operation
when it caches the connetion info, because of this userspace
is not able to get correct bw info for sta big data.

To address above issue, update ccfs2 corrrectly in ht operation.

Change-Id: I13dc8b674d24be7435a85b91a1ecc43e0c37900b
CRs-Fixed: 3183162
2022-04-26 20:53:44 -07:00
Aditya Kodukula
cc931d504b qcacld-3.0: Add support to force disable/enable wifi
As part of protected dynamic interface control feature,
add support to force disable/enable wifi, by performing
a soft unload/load of the wlan driver.

Change-Id: I6f9ab99bf6a3124e1ffd3c8ffd6c2bd50322a3b6
CRs-Fixed: 3171854
2022-04-26 14:59:23 -07:00
Aditya Kodukula
c4ca02df28 qcacld-3.0: Add infra to disable/enable wifi
As part of protected dynamic interface control feature, add
infra to disable/enable wifi, when invoked from user space.

Change-Id: I3f6c2abcef1ef89cbd0a735820de9b54d37bfa29
CRs-Fixed: 3166467
2022-04-26 14:59:18 -07:00
Deeksha Gupta
a5d975c874 qcacld-3.0: use cfg80211_register_sta_mlo_link()
Use cfg80211_register_sta_mlo_link() to register a MLO
link wdev.

Change-Id: I0cba8ed6d89e9eb00b81a4e867c035d094aafa16
CRs-Fixed: 3180514
2022-04-26 08:27:04 -07:00
Bing Sun
4397d7dc97 qcacld-3.0: Add new API to get connected sta rssi and data rate
Add new API for SON to get connected sta rssi and data rate.

Change-Id: Icd8ed9b6e4462b4898b32d28d9fa3f4e2fbc230d
CRs-Fixed: 3180267
2022-04-26 07:03:32 -07:00
Vishal Miskin
d75a1c786c qcacld-3.0: Add support for QCA_WLAN_TWT_SET_PARAM command
Add support for QCA_WLAN_TWT_SET_PARAM command to configure
QCA_WLAN_VENDOR_ATTR_TWT_SET_PARAM_AP_AC_VALUE attribute.
This attribute provides access category value for
WMI_PDEV_PARAM_TWT_AC_CONFIG. This is used by firmware to
configure access category for TWT HW queue in TWT Responder
mode(SAP).

Change-Id: I5131967ff2061bf6afad7bc5f091a7eb5ee01b8a
CRs-Fixed: 3168197
2022-04-26 07:03:27 -07:00
abhinav kumar
e65264f599 qcacld-3.0: Process latency level cmd and event
If the multi-client Low latency feature is enabled
in the driver, the host includes a multi-client id
bitmap and the corresponding latency level and sends
the WMI_WLM_CONFIG_CMDID command to set the latency
level in the firmware.

FW calculates a stringent latency level and as a
response to the WLM config command, Fw sends an event
WMI_LATENCY_LEVEL_EVENTID to the host to configure a
stringent latency value.

Change-Id: Ib7a474956f39ef26e1d957b7619ebb8ac87233a6
CRs-Fixed: 3180939
2022-04-26 05:37:43 -07:00
Utkarsh Bhatnagar
7c666d30a8 qcacld-3.0: Cleanup MPC Unit Test Framework
Cleanup MPC Unit Test Framework.

Change-Id: I76aa0ad227069b68b9efedbbc7e87573e9a004c0
CRs-Fixed: 3178591
2022-04-25 10:15:22 -07:00
chunquan
2e87d35525 qcacld-3.0: Remove WLAN_FEATURE_11BE_MLO from middle of function
Remove all WLAN_FEATURE_11BE_MLO from middle of function.

Change-Id: I17cbaf90ae9b6f428c785413723a5dfb3619de0c
CRs-Fixed: 3175450
2022-04-25 08:57:56 -07:00
Ananya Gupta
2f50109251 qcacld-3.0: Enable detection of data stall events
Currently, data stall events are not detected individually.
Updated gEnableDataStallDetection ini provides control over
individual data stall events if bit 0 is not set.

Change-Id: Id4fd7f10f0806a39c5bdb7b8c097c26894dc5340
CRs-Fixed: 3159405
2022-04-25 08:57:51 -07:00
Surya Prakash Sivaraj
cbf4312913 qcacld-3.0: Fix incorrect typecasting of ext ie
The extended cap IE from the hostapd is of variable
length, but it is always type casted to a fixed length
of 11 octets. This leads to OOB access of memory and
incorrect data gets read. In this case, beacon protection
is not enabled in the ext cap IE, but due to OOB access
beacon protection is read as 1.

Fix the OOB access by typecasting the IE to the length of
the IE.

Change-Id: Id9a54e3467fa9f7a49687da41411a421fd9c9d37
CRs-Fixed: 3178294
2022-04-22 10:57:57 -07:00
Surya Prakash Sivaraj
0c0fafc085 qcacld-3.0: Add support to dump frames on demand
Add support to dump the full management,eapol,
dhcp, arp frames based on the level of the
debug_packet_log configured through ini gEnableDebugLog.

The dump levels are as follows:
* 0x1  - Enable mgmt pkt logs (except probe req/rsp, beacons).
* 0x2  - Enable EAPOL pkt logs.
* 0x4  - Enable DHCP pkt logs.
* 0x8  - Enable mgmt action frames logs.
* 0x10 - Enable ARP pkt logs.
* 0x0  - Disable all the above connection related logs.

Change-Id: If572cccb327da785dd0d56cff6d37ba170b15cc8
CRs-Fixed: 3173604
2022-04-22 10:57:51 -07:00
Jia Ding
29f3bdd27b qcacld-3.0: Update support for 320MHz to wiphy
Update support for 320MHz to wiphy eht caps structure.

Change-Id: I1acaf5a51360a1c5085a980870e75035c0b536bf
CRs-Fixed: 3180232
2022-04-22 08:22:35 +08:00
Srikanth Marepalli
e2e3e0326e qcacld-3.0: Use WLAN_WEAR_CHIPSET to modify INI path
On Wear HL based target with keystone kernel, it generates
WLAN driver with name "qca_cld3_wlan.ko" based on macro
definition WLAN_WEAR_CHIPSET. But the driver was not loading
because of the old INI path and /dev path.
This commit modifies the INI path and /dev path based on
macro defined i.e. WLAN_WEAR_CHIPSET.

Change-Id: I6d457a3bb708de3175c40b0f2b3ba0ebde915838
CRs-Fixed: 3168115
2022-04-21 07:24:32 -07:00