Commit Graph

582 Commits

Author SHA1 Message Date
Vulupala Shashank Reddy
389655e402 qcacld-3.0: Fix early stop scan threshold values
Currently we are reading early stop scan min and max
threshold to unsigned int, because of which we are
sending wrong values to FW.

Read early stop scan threshold min and max values
to signed int to send correct values to FW.

Change-Id: I2e96b3c3e9fb48352d8075a4e7a96eae41dacedc
CRs-Fixed: 3191076
2022-05-19 08:06:18 -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
Paul Zhang
6226c7ead9 qcacld-3.0: Increase buff size for ADDBA resp for EHT
The current maximum buffer size for an ADDBA response action frame is
256 bytes. This needs to be increased in case of EHT session.

Change-Id: I4e4dbe1dbe5c69954d26f73cf51177358c411083
CRs-Fixed: 3185336
2022-05-13 07:16:28 -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
Vinod Kumar Myadam
94da0db1a5 qcacld-3.0: Get mgmt frame info from frame buffer for logging
Issue scenario, 1st Addba response tx and set is_mgmt_data_valid false.
2nd TX frame happens for valid frame that needs to be logged and set
wma_handle->is_mgmt_data_valid to true. Then the 1st frame TX completion
tried to access wma_handle->mgmt._data. It may access invalid context if
race condition happened.

Move management frames handling from lim_send API to tx_complete_cnf API

Change-Id: Ib5090dcd274160b3a9d7b9975d0839ec06616b86
CRs-Fixed: 3154710
2022-04-26 12:17:47 -07:00
abhinav kumar
f95d76a857 qcacld-3.0: Add multi-client service bit caps and INI support
Add multi-client latency level service bit capability support,
WLAN_SOC_WLM_MULTI_CLIENT_LL_SUPPORT, to check whether the FW
supports multi-client latency level event or not.

Add INI "wlm_multi_client_ll feature" to enable/disable multi
client latency level feature from the host side.
 * @min: 0
 * @max: 1
 * @default: 0

If firmware sends multi-client latency level service
bit capability to host and host enables multi-client latency
level feature via INI, the host waits for an event
WMI_VDEV_LATENCY_LEVEL_EVENTID as a response to a request
command WMI_WLM_CONFIG_CMDID.

Change-Id: I5cbea89e67caabac5db70b7f0a91c18bdd512e9b
CRs-Fixed: 3180928
2022-04-25 05:38:05 -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
Bing Sun
ff3734010c qcacld-3.0: Add cfg to configure mlo single link connection for sta
Add API to get mlo single link connection configuration for sta.

Change-Id: Ie3b6c270c5c7358321a176c744083175a81d0180
CRs-Fixed: 3171955
2022-04-15 12:56:54 -07:00
Bing Sun
6df47a0d95 qcacld-3.0: Add API to get max mcs index
Add a new field max_mcs_index in mlme_legacy_priv to save max mcs
index of current vdev.
Add a new field max_real_mcs_idx in hdd_station_info to save max
mcs index of the connected station.

Change-Id: I28908515cbe5c18c79f14f8645defd5c82e3a6f0
CRs-Fixed: 3065838
2022-04-12 06:31:07 -07:00
nakul kachhwaha
91468b4a79 qcacld-3.0: Add ucfg API to set 6ghz relaxed conn policy flag
Add ucfg API to set 6ghz relaxed connection policy flag.

change-Id: I659bf86c4308691d5adc9f2a4d2ed3c38bbc63f0
CRs-Fixed: 3166847
2022-04-06 03:25:15 -07:00
chunquan
ae8134b2ce qcacld-3.0: Clean up probe req after HB failed code
Since HB failed logic change to send deauth, we don't
need probe logic after HB failed. Clean up timer and
unnecessary code.

Change-Id: I26d9235c157065a21469b01abf31751825a1f277
CRs-Fixed: 3158364
2022-03-25 08:33:17 -07:00
Subrat Dash
19619ce40b qcacld-3.0: Send L2UF frame to update bridge forwarding table
Generate a Level 2 update frame and send it to the bridge in SAP
mode when a new station connects.

It will update the forwarding table of all the bridge devices
through source port learning.

Change-Id: Ia804968453c051e4c8322d3735506a912c0d963d
CRs-Fixed: 2997409
2022-03-24 05:29:43 -07:00
Madhvapathi Sriram
79e13b55ab qcacld-3.0: User MCC quota setting
Set the MCC quota for a given interface.

Change-Id: I313cdf1673f8fc5f50a049d429c0d88fd213e66f
CRs-Fixed: 3106146
2022-03-14 00:43:35 -07:00
nakul kachhwaha
12c10fe176 qcacld-3.0: Add config to ease scan/connection restriction in 6Ghz
Add new config to ease scan and connection restriction
in 6GHz band when bss is advertising different country.

Change-Id: I13bd0dbd52fad297b995add8fc8a71d7a058c25b
CRs-Fixed: 3135152
2022-03-08 01:19:44 -08:00
chunquan
f07969a044 qcacld-3.0: Replace blacklist/whitelist for denylist/allowlist
Replace blacklist/whitelist with denylist/allowlist in
qcacld3.0. and replace blm with dlm.

Change-Id: I9ba61dde3b3ea008ca3777448d1f8dab83d33ec1
CRs-Fixed: 3091211
2022-03-05 07:10:49 -08:00
Jayachandran Sreekumaran
0a8f7d7347 qcacld-3.0: Dynamic ratemask update
Add support for dynamic ratemask update.

Change-Id: I9aede4bdcd399af6c8e827f813016df63d7b8ab1
CRs-Fixed: 3112489
2022-03-01 05:38:56 -08:00
Balaji Pothunoori
be88a7597e qcacld-3.0: select min bw during csa if channel bonding disabled
During CSA max bw is selected for SAP in STA + SAP concurrency
for non-dfs channel and SAP is tear down after 60 sec of operation
due to STA is in 20Mhz and SAP is in 40Mhz with
IEEE80211_HT_CAP_SUP_WIDTH_20_40 flag disabled.

This change is to select 20Mhz BW during CSA if channel bonding is
disabled.

Change-Id: If4ed3d9a080ed976a0f4be6704848ae4494c7bbc
CRs-Fixed: 3126074
2022-02-24 10:42:24 -08:00
Nirav Shah
e398b7e48d qcacld-3.0: Rename moderate latency level to XR latency level
Currently moderate latency level is not used. Rename moderate
latency level to XR latency level to be used in XR applications.

Change-Id: Ia7f65c3565f6704b9571161aabefb3a8b47cce1e
CRs-Fixed: 3116839
2022-02-17 15:42:08 -08:00
Balaji Pothunoori
8fbe1e4593 qcacld-3.0: Add ini support to disable regulatory channels
Currently regulatory channels are disabled for
QCA_NL80211_VENDOR_SUBCMD_AVOID_FREQUENCY_EXT vendor command
event if ini coex_unsafe_chan_nb_user_prefer is not set and if
STA operates on disabled channels which results in crash for
STA interface in STA + SAP SCC case.

Hence coex_unsafe_chan_reg_disable ini is controlled based
on coex_unsafe_chan_nb_user_prefer.

Ini behavior summary:

|----------------|----------------------|-------------|--------------------------------|
|User prefer ini | Reg chan disable ini |   PLs       |  Expectation		       |
|	         |			| 	      |				       |
|----------------|----------------------|-------------|--------------------------------|
|   1	         |	  1	        |   LE        | accept freq ext command and    |
|                |                      |             |  disable the regulatory channel|
|----------------|----------------------|-------------|--------------------------------|
|   0            | 	  0	        | Non-Pixel SP| reject freq ext cmd driver and |
|                |                      |             | returns NOT SUPP               |
|----------------|----------------------|-------------|--------------------------------|
|   1		 |	  0             |  Pixel SP   |  accept freq ext command and   |
|                |                      |             |  Don't disable the reg channels|
|----------------|----------------------|-------------|--------------------------------|

Change-Id: Ia3acbc133cab4865d8ad69992e893be91439f856
CRs-Fixed: 3128908
2022-02-17 05:03:07 -08:00
Srinivas Girigowda
0737e8caec qcacld-3.0: TWT cfg params initialization
Initialize TWT psoc cfg params with the cfg.ini values.

Change-Id: I326239d4f3f146113871fb3700fa82260988d697
CRs-Fixed: 3085507
2022-02-11 00:21:22 -08:00
Srinivas Girigowda
38fe8b7acb qcacld-3.0: umac: Add TWT componentization public structs and files
Add TWT componentization public structs, files and skeleton code
i.e add new dispatcher APIs, target_if callbacks.

Change-Id: I21fd6f5c3e92f8ea725771c20cd6dfdb560b2bf3
CRs-Fixed: 3085430
2022-02-11 00:20:54 -08:00
Deeksha Gupta
1a6c49978e qcacld-3.0: Check peer broadcast TWT capability
Currently, for Broadcast TWT setup command, if peer does not
support TWT responder capability and supports broadcast TWT
capability then host rejects broadcast twt setup command
based on TWT responder capability.

Add condition to check the peer broadcast capabilities before
sending broadcast TWT setup request to firmware.

Change-Id: Iaa8941424d948d501655859564669baff4af9e69
CRs-Fixed: 3092276
2022-02-10 11:39:12 -08:00
Nirav Shah
d5ce5d8c3f qcacld-3.0: Update default value of moderate latency
Update default value of moderate latency to handle
XR use-cases.

Change-Id: I645380723256b86cabc9985ab5a243fd0cab725a
CRs-Fixed: 3115897
2022-02-07 15:09:59 -08:00
Nirav Shah
42853bf5eb qcacld-3.0: Update latency flags to 64-bit configuration
Update latency flags inis to 64-bit configuration and use
lower 32-bit for firmware configuration and upper 32-bit
as host configuration. Also remove separate inis for host
latency flags.

Change-Id: Iff62b847f40ae7fa5f82948ec37d756144860474
CRs-Fixed: 3115853
2022-02-07 14:01:53 -08:00
Vishal Miskin
24af7b3137 qcacld-3.0: Limit STA connection in 80MHz BW for HE/VHT mode
Extend gStaPrefer80MHzOver160MHz ini to limit STA connection in
80MHz BW for HE/VHT mode. In case of XR use-case, higher
throughput is not needed but higher reliability is expected.
This ini helps in XR glass device to always connects in 80MHz.

Change-Id: Icefd2d54214351c04dd7420269c308cec2b5ae31
CRs-Fixed: 3117216
2022-01-28 05:20:27 -08:00
Bing Sun
3e6513e3b8 qcacld-3.0: Implement beamforming configuration for EHT
Intersecting EHT beamforming configuration from ini and FW
indication, then save it to eht caps of mlme.
For sta, update mlme EHT beamforming configuration to FW
through WMI_VDEV_PARAM_SET_EHT_MU_MODE directly.
For ap, intersecting mlme EHT beamforming configuration and user
configuration, then send result to FW.

Change-Id: I3d6185896af9fc58eb1fb6db913d4a425f72c696
CRs-Fixed: 3113235
2022-01-25 06:57:40 -08:00
Balaji Pothunoori
abc80f8a60 qcacld-3.0: Add ini support to prefer user coex unsafe freq list
Currently coex unsafe freq event is honored from firmware using
"wmi_wlan_freq_avoid_event_id".

As per requirement, add ini to don't honor coex unsafe freq
event from firmware and use the coex unsafe freq list from
vendor QCA_NL80211_VENDOR_SUBCMD_AVOID_FREQUENCY_EXT.

Change-Id: Ia3acbc133cab4865d8ad69992e893be91439f705
CRs-Fixed: 3114742
2022-01-24 14:40:54 -08:00
Wu Gao
e477df12ca qcacld-3.0: Correct description about disable_mcs13_support
This change corrects description about ini - "disable_mcs13_support".

Change-Id: I0895aa7e6cd96bf75189121f4d875e906595bb3b
CRs-Fixed: 3100879
2021-12-27 10:44:11 -08:00
Wu Gao
ffd5a08068 qcacld-3.0: Add ini to disable mcs13
Add ini "disable_mcs13_support" to disable mcs13 to when SAP working
on 80p80MHZ/160MHZ/320MHZ and mcs12_13 supported.

Change-Id: Iff7043cc422cbe00fa771fe5fad9ad992d6deaf5
CRs-Fixed: 3062196
2021-12-24 06:36:22 -08:00
Gaurav Sharma
53571fdb88 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: I06a14d099c516767fe57ba94acc2a5fb95dc4e17
CRs-Fixed: 3052909
2021-12-20 22:44:36 -08:00
Liangwei Dong
a185d29d1b qcacld-3.0: Add INI to configure MGMT frame HW retry count
Add INI - mgmt_frame_hw_tx_retry_count to configure MGMT
frame HW tx retry count for certain frame types.
The INI String format:
frame_hw_tx_retry_count="<frame type>,<retry count>,..."

The supported frame types are defined by enum mlme_cfg_frame_type.
Retry count max value is 127.
For example:
mgmt_frame_hw_tx_retry_count="0,64,2,32"
The above input string means:
For p2p go negotiation request fame, hw retry count 64
For p2p provision discovery request, hw retry count 32

Change-Id: I32f6c7d83ede9b28484c7a0b29824bde32e06422
CRs-Fixed: 3082532
2021-12-08 12:41:18 -08:00
Deeksha Gupta
0dbd5cacf6 qcacld-3.0: Check peer TWT capability before TWT setup request
Currently, in TWT setup command, if peer does not support TWT
capabilities then firmware returns status = 4.

Add condition to check the peer capabilities before sends TWT
setup request to firmware.

Change-Id: Icd1cbeff2db2bdec4e456013e98270a526ff22ce
CRs-Fixed: 3082071
2021-12-01 16:13:05 -08:00
Zhaoyang Liu
2b640ea7f9 qcacld-3.0: extend the value range for chainmask setting
To support QCN7605 DBS chip, which has 3 RF chains, chain0 is for 2G,
chain1 is for 2G/5G, and chain2 for 5G. So it need 3 bits to
indicate RF chainmask for DBS mode. This is to extend the value
range for 2g/5g chainmask setting for QCN7605 DBS mode.

Change-Id: I43ee3393c121b6e9609223af1db0059158d44078
CRs-Fixed: 2933722
2021-11-30 04:40:13 -08:00
Jianmin Zhu
8fd9d2b557 qcacld-3.0: Enable self bss roam ini by default
Passpoint R1 TC5.2.A Certificate need self bss roam.

Change-Id: Ife9972572445621d2aa61b16eed109c0342d538e
CRs-Fixed: 3076256
2021-11-17 00:42:20 -08:00
sheenam monga
65c2cb4682 qcacld-3.0: Add ini support for tx_retry_multiplier
Add ini support for tx_retry_multiplier and send
tx_retry_multiplier to fw as PDEV_STATS_TX_XRETRY_EXT
pdev param, so that fw can multiply the counter by the
percentage provided by user.

Change-Id: Ie2f06dc3aaa4a161a451b68abd085cc1537eb468
CRs-Fixed: 3066799
2021-11-10 02:30:44 -08:00
Jianmin Zhu
22dd408968 qcacld-3.0: Add self bss roam check for connnect cmd
Add self bss roam check in roam invoke cmd handler,
If ini enable_self_bss_roam is 0, don't permit to roam
to current connected bss, just keep current connection.

Change-Id: I7fe724e26d15bcc008957829e4e3384c60b58773
CRs-Fixed: 3069587
2021-11-08 13:21:18 -08:00
Srikanth Marepalli
5de37373cb qcacld-3.0: Vendor command changes to enable the roam events stats
Add new vendor command to enable the roam events stats from the
driver/FW in both resume and suspend mode.
New roam param is introduced to indicate the FW to enable/disable
the roam stats using the new roam set command.

Change-Id: I6d04f0946e6735613a4cf3d4361bf31052314fa0
CRs-Fixed: 3036518
2021-11-08 09:41:27 -08:00
Gururaj Pandurangi
0388582841 qcacld-3.0: Revert "Disable 6G security check if RF testmode is enabled"
The RF test mode cfg item is kept as 1 by default and no action is required
during init if it is set.

Change-Id: Ieb561fb81f77470c45df46ee2319ff51c05df742
CRs-Fixed: 3056554
2021-11-02 11:02:21 -07:00
Pragaspathi Thilagaraj
c304893863 qcacld-3.0: Enable time sync only on connection/roam
Currently WMI_DBGLOG_TIME_STAMP_SYNC_CMDID command sent
every 1 sec causes RTPM collapse and inturn has power
impact. So to avoid this enable time of the day synchronization
only after connection/roaming.

Send WMI_DBGLOG_TIME_STAMP_SYNC_CMDID as part of RSO
start command.

Change-Id: Iee3cefe1318a6e5507a43cefb9666cc2a439fe06
CRs-Fixed: 3060762
2021-10-22 12:40:33 -07:00
Tushnim Bhattacharyya
f71379600b qcacld-3.0: Set default value for bss_color_collision_det_sta to 1
For STAUT to follow the rules governing OBSS Narrow Bandwidth RU in
UL OFDMA Tolerance Support, bss_color_collision_det_sta to be set
to 1.

Change-Id: Ibe283f8bec9febbaf9a876d1afd55389ea4c971d
CRs-Fixed: 3053624
2021-10-12 11:02:34 -07:00
Surya Prakash Sivaraj
1840b420af qcacld-3.0: Update VHT IE with highest supported LGI rate
Currently, the Rx/Tx highest Long GI data rate field in
the  VHT IE is filled with short GI data rate. Therefore,
change the highest supported data rate back to LGI data
rate.

Allow the short GI rate to be filled as the highest supported
rate in the wiphy if short GI is enabled.

Change-Id: Ie0652b4cdeef370cb8ad3d11b5d36b6959c1cbcb
CRs-Fixed: 3053946
2021-10-12 04:51:55 -07:00
Ashish Kumar Dhanotiya
693f6400d1 qcacld-3.0: Add ini to enable/disable vht mcs 10 and 11 support
Currently there is no ini to enable/disable vht mac 10, 11
and this feature is completely based on FW capability.

Based on current requirement add support to enable/disable
vht mcs 10/11 feature from ini.

CRs-Fixed: 2861854
Change-Id: I350daea8a2f81bfeac25ccdda026d1a5d1c133e3
2021-10-08 23:15:43 -07:00
Balaji Pothunoori
5e3247e93f qcacld-3.0: update default addba response rx aggr size to 256
update default addba response rx aggregation size to 256.

Change-Id: Ie79bd9ce6d5e5a95e706c9bda3124bb3fc913ce5
CRs-Fixed: 3050726
2021-10-05 13:07:33 -07:00
Srinivas Girigowda
a58817a89b qcacld-3.0: Replace WLAN_ALL_SESSIONS_DIALOG_ID with TWT_ALL_SESSIONS_DIALOG_ID
There are duplicate macros for the same purpose, hence
replace WLAN_ALL_SESSIONS_DIALOG_ID with TWT_ALL_SESSIONS_DIALOG_ID.

Change-Id: I63130869eed8dffcce85fe6a04586592ab3eaca2
CRs-Fixed: 3047686
2021-09-30 15:14:58 -07:00
bings
a44cf88b36 qcacld-3.0: Implement legacy commands of easy mesh
Provide below APIs for easy mesh.
API to get the current frequency of the given VDEV.
API to get acs status of the given VDEV.
API to get cac status of the given VDEV.
API to get/set bandwidth of the given VDEV.
API to get band information of the given VDEV.
API to get connected STA count of the given VDEV.
API to get BSSID of the given VDEV.
API to get SSID of the given VDEV.
API to set channel of the given VDEV.
API to get/set cac timeout of the given VDEV.
API to get/set country code of the given VDEV.

Change-Id: Ia0bd201ad8155a66a4a8c5517f6fa43f3f358505
CRs-Fixed: 3027192
2021-09-30 10:51:28 -07:00
Yu Wang
d3a8dfe1b6 qcacld-3.0: update rates set on connect success
Update operational rates set, extended operational rates set
and MCS based rates set in VDEV MLME legacy priv object on
connect success.
Refine the APIs for fetching these rates.

Change-Id: I7697b3d2e26e2fc565a2e672afe19f255af89d7e
CRs-Fixed: 3044036
2021-09-28 21:11:56 -07:00
Pragaspathi Thilagaraj
5e4b2f49ad qcacld-3.0: Fill and send connectivity logging management frame events
Fill the management frame data and enqueue the filled record to the logging
queue.
Frame sequence number, peer rssi, tx_status, authentiation algo,
authentication frame transaction sequence number will be filled to the
log record.

Change-Id: I069b7816fdc52eeed964d6586c52b58d1a5d5cd4
CRs-Fixed: 3030075
2021-09-26 04:49:44 -07:00
Nirav Shah
b7fe8299dc qcacld-3.0: Add ini configuration to limit supported HE MCS rates
Add ini configuration to limit supported TX/RX HE MCS rates.
In case of XR use-case, higher throughput is not needed but
higher reliability is expected. So, this ini provide option to
limit HE MCS rate capability to MCS0-7 to achieve higher reliability.

Change-Id: Id6343f5b28d341e5ee377d11ad8420e3b8ded6ef
CRs-Fixed: 3033342
2021-09-23 04:25:11 -07:00
Kiran Kumar Lokere
fb85fcd3b0 qcacld-3.0: Disable 6G security check if RF testmode is enabled
The 6GHz security check is enabled by default. Disable the check
if RF test mode is enabled.

Change-Id: Id6af514f6a31f6351b1b0d784c2b9f7d301496c0
CRs-Fixed: 3040621
2021-09-22 03:15:48 -07:00
Pragaspathi Thilagaraj
db383df8c9 qcacld-3.0: Add support to parse roam frame info TLV
Add support to parse roam frame info TLV.
Add changes to send the BTM request logging event.

Change-Id: I24fab5fc0ec204fce74cf822742b5a44b0e7774f
CRs-Fixed: 3013489
2021-09-22 03:15:32 -07:00