Commit Graph

491 Commits

Author SHA1 Message Date
Bing Sun
46f01746b9 qcacld-3.0: Add max link number cfg and band bitmap cfg
Add cfg to configure the max number of links supported for mlo sta
connection.
Add cfg to configure the band bitmap that mlo sta connection supports.

Change-Id: I6b27a7eb13eff026c5123e4bd24ba2424dba781d
CRs-Fixed: 3202029
2022-06-08 11:47:21 -07:00
Ashish
aa31fd94c1 qcacld-3.0: Add support for new config item ConDTIMSkipping_MaxTime
With this change add support for new ini ConDTIMSkipping_MaxTime
to set max modulated DTIM in ms.

Change-Id: I89ce2b5074ce75a1701365b5d09d8ed0244aeeef
CRs-Fixed: 3038346
2022-06-01 01:44:51 -07:00
Surya Prakash Sivaraj
7da2ef6f88 qcacld-3.0: Do not allow SAP SCC on non-PSC/non-VLP channels
SAP is allowed to come up on SCC with a STA operating
in 6GHz only if the STA is on a PSC channel in VLP mode.

Therefore, filter out all 6GHz channels from the PCL if
the STA operates on any non-VLP mode. Also, in case of
VLP mode, filter out non-PSC channels.

Change-Id: I37d9a510db3647fc07858af99eb614ebe824cc78
CRs-Fixed: 3206471
2022-05-29 16:49:27 -07:00
Dundi Raviteja
71fc4f3fd4 qcacld-3.0: Move pre_cac start code to pre_cac component
Move pre_cac start code flow from hdd to pre_cac component.

Change-Id: Ia3bd7521bff9571dee18dbc20b28d08b76128944
CRs-Fixed: 3199948
2022-05-27 18:06:07 -07:00
Liangwei Dong
c2a3afb1d3 qcacld-3.0: Set vdev high throughput/low latency parameter
Add API ucfg_mlme_set_vdev_traffic_high_throughput &
ucfg_mlme_set_vdev_traffic_low_latency to configure the
high throughput and low latency to vdev. In MLO STA concurrency
cases, the host or target may disable a certain link
based on the flags.

Change-Id: Iaae7cfdeb55e0086572b071d83520278aa3425ea
CRs-Fixed: 3191501
2022-05-26 16:18:38 -07:00
Liangwei Dong
9c9b350587 qcacld-3.0: Tune normalize_acs_weight for 6 GHz non-PSC CH
In new framework the 6 GHz preferred SAP ACS config file will
contain 5 GHz channels, to avoid 6 GHz non-PSC being set to
MAX weight value and 5 GHz channels selected easily, here set
normalize_acs_weight to 90 for non-PSC channel of 6 GHz, 40
for 2 GHz and 5 GHz channels.

Change-Id: I5e89339d0fd4e3c190dd2ead1ec87d12ff197691
CRs-Fixed: 3186587
2022-05-23 22:05:53 -07:00
Jyoti Kumari
dc5a5c30f8 qcacld-3.0: Add support for new ini param RoamCommon_MinRoamDelta
Add support for new ini param RoamCommon_MinRoamDelta. This param
is similar to the existing min_roam_score_delta param but units
change

Change-Id: If04ff2344a2651e7d8d71c92f05dfebc229f9fe1
CRs-Fixed: 3015930
2022-05-23 20:25:50 -07:00
Jyoti Kumari
025e717335 qcacld-3.0: Add support for new ini param RoamIdle_InactiveTime
Add support for new ini param RoamIdle_InactiveTime. This param
is similar to the existing idle_roam_inactive_time but unit
change

Change-Id: I857107a6d0e39f373e39d4fb9b762e7cf4c4a9e4
CRs-Fixed: 3015993
2022-05-23 20:25:42 -07:00
Sheenam Monga
d933925871 qcacld-3.0: Set LPI power when safe mode is enabled
i.) Keep rf test mode ini disabled by default due to which
6G security check will be true.

ii.) while calculating TPC power, check safe mode & RF test
mode enabled or not and set power mode to LPI if
safe mode or Rf test mode is enabled.

iii.) During HE ops IE extarct set power type to VLP, if
6 G Hz info is not present in HE ops IE. So that power
type can be VLP in case ap_ctry is non US.
To get safe mode value, a new member is_safe_mode_enabled
is added in mlme private object and is set whenever
WIFI_TEST_CONFIG_6GHZ_SECURITY_TEST_MODE command is triggered
via userspace.

Change-Id: I4fc2a231f8e7d18e68b92af3f381456113668779
CRs-Fixed: 3192967
2022-05-20 04:54:21 -07:00
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