qcacld-3.0: Add support for TDLS offchannel

Add support for TDLS offchannel changes required
for supporting TDLS offchannel on 6 GHz band.

Change-Id: Ie150ff7e5a8237dab445ccb0ab6a4959a7c7fbf0
CRs-Fixed: 3223640
This commit is contained in:
Utkarsh Bhatnagar
2022-06-28 07:55:20 +05:30
committed by Madan Koyyalamudi
parent 186163bc5a
commit 50885ab717
8 changed files with 160 additions and 51 deletions

View File

@@ -461,19 +461,48 @@
CFG_VALUE_OR_DEFAULT, \
"Preferred TDLS channel number")
/*
* <ini>
* tdls_pref_off_chan_num_6g - Preferred TDLS 6g channel freq when off-channel
* support is enabled.
* @Min: 0
* @Max: 7115
* @Default: 5975
*
* This ini is used to configure preferred TDLS 6G channel number when
* off-channel support is enabled. If this is set to 0, 6Ghz offchannel is
* disabled.
*
* Related: gEnableTDLSSupport, gEnableTDLSOffChannel.
*
* Supported Feature: TDLS
*
* Usage: Internal/External
*
* </ini>
*/
#define CFG_TDLS_PREFERRED_OFF_CHANNEL_FREQ_6G CFG_INI_UINT( \
"tdls_pref_off_chan_freq_6g", \
0, \
7115, \
5975, \
CFG_VALUE_OR_DEFAULT, \
"Preferred TDLS channel frequency for 6ghz channels")
/*
* <ini>
* gTDLSPrefOffChanBandwidth - Preferred TDLS channel bandwidth when
* off-channel support is enabled.
* @Min: 0x01
* @Max: 0x0F
* @Default: 0x07
* @Min: 1
* @Max: 15
* @Default: 15
*
* This ini is used to configure preferred TDLS channel bandwidth when
* off-channel support is enabled.
* 0x1: 20 MHz 0x2: 40 MHz 0x4: 80 MHz 0x8: 160 MHz
* When more than one bits are set then firmware starts from the highest and
* selects one based on capability of peer.
* selects one based on capability of peer. So, that means if 0xF is set that
* means fw will try intersect with 160 MHz BW and the peer supported BW.
*
* Related: gEnableTDLSSupport, gEnableTDLSOffChannel.
*
@@ -487,7 +516,7 @@
"gTDLSPrefOffChanBandwidth", \
1, \
15, \
7, \
15, \
CFG_VALUE_OR_DEFAULT, \
"Preferred TDLS channel bandwidth")
@@ -734,6 +763,7 @@
CFG(CFG_TDLS_RSSI_TEARDOWN_THRESHOLD) \
CFG(CFG_TDLS_RSSI_DELTA) \
CFG(CFG_TDLS_PREFERRED_OFF_CHANNEL_NUM) \
CFG(CFG_TDLS_PREFERRED_OFF_CHANNEL_FREQ_6G) \
CFG(CFG_TDLS_PREFERRED_OFF_CHANNEL_BW) \
CFG(CFG_TDLS_PUAPSD_PEER_TRAFFIC_IND_WINDOW) \
CFG(CFG_TDLS_PUAPSD_PEER_TRAFFIC_RSP_TIMEOUT) \

View File

@@ -1,5 +1,6 @@
/*
* Copyright (c) 2017-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@@ -467,6 +468,7 @@ enum tdls_feature_bit {
* @tdls_uapsd_ptr_timeout: tdls peer response timeout
* @tdls_feature_flags: tdls feature flags
* @tdls_pre_off_chan_num: tdls off channel number
* @tdls_pre_off_chan_freq_6g: tdls pref off channel freq for 6g band
* @tdls_pre_off_chan_bw: tdls off channel bandwidth
* @tdls_peer_kickout_threshold: sta kickout threshold for tdls peer
* @tdls_discovery_wake_timeout: tdls discovery wake timeout
@@ -499,6 +501,7 @@ struct tdls_user_config {
uint32_t tdls_uapsd_ptr_timeout;
uint32_t tdls_feature_flags;
uint32_t tdls_pre_off_chan_num;
uint32_t tdls_pre_off_chan_freq_6g;
uint32_t tdls_pre_off_chan_bw;
uint32_t tdls_peer_kickout_threshold;
uint32_t tdls_discovery_wake_timeout;