mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-15 01:01:56 -04:00
Merge changes I174a45c1,I0ee93760,I432e85e3,I639d4fb5,I22f41e6b,I1200fa57,I301031a0,I4abd9d26,I4fbd8f9d into wlan-cld3.driver.lnx.2.0
* changes: Release 5.2.0.73T qcacld-3.0: Compile out WMI non_tlv file from Kbuild Release 5.2.0.73S qcacld-3.0: Update io smmu mapping to osdev Release 5.2.0.73R qcacld-3.0: Remove WLAN_AP_STA_CONCURRENCY feature flag qcacld-3.0: Kbuild: Define CONFIG_FEATURE_SKB_PRE_ALLOC qcacld-3.0: Fix a race btw tx and tx-compl Release 5.2.0.73Q
This commit is contained in:
commit
12c237f2ed
14 changed files with 65 additions and 69 deletions
20
Kbuild
20
Kbuild
|
|
@ -394,6 +394,14 @@ CONFIG_ENABLE_SMMU_S1_TRANSLATION := y
|
|||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_ARCH_SDX20), y)
|
||||
ifeq ($(CONFIG_QCA_WIFI_SDIO), y)
|
||||
ifeq ($(CONFIG_WCNSS_SKB_PRE_ALLOC), y)
|
||||
CONFIG_FEATURE_SKB_PRE_ALLOC := y
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
#Enable Signed firmware support for split binary format
|
||||
CONFIG_QCA_SIGNED_SPLIT_BINARY_SUPPORT := n
|
||||
|
||||
|
|
@ -1255,8 +1263,7 @@ WMI_OBJS := $(WMI_OBJ_DIR)/wmi_unified.o \
|
|||
$(WMI_OBJ_DIR)/wmi_unified_api.o \
|
||||
$(WMI_OBJ_DIR)/wmi_unified_pmo_api.o \
|
||||
$(WMI_OBJ_DIR)/wmi_unified_reg_api.o \
|
||||
$(WMI_OBJ_DIR)/wmi_unified_dfs_api.o \
|
||||
$(WMI_OBJ_DIR)/wmi_unified_non_tlv.o
|
||||
$(WMI_OBJ_DIR)/wmi_unified_dfs_api.o
|
||||
|
||||
ifeq ($(CONFIG_WLAN_FEATURE_DSRC), y)
|
||||
ifeq ($(CONFIG_OCB_UT_FRAMEWORK), y)
|
||||
|
|
@ -1860,7 +1867,6 @@ CDEFINES := -DANI_OS_TYPE_ANDROID=6 \
|
|||
-Werror\
|
||||
-D__linux__ \
|
||||
-DSOFTAP_CHANNEL_RANGE \
|
||||
-DWLAN_AP_STA_CONCURRENCY \
|
||||
-DFEATURE_WLAN_SCAN_PNO \
|
||||
-DWLAN_FEATURE_PACKET_FILTERING \
|
||||
-DWLAN_ENABLE_AGEIE_ON_SCAN_RESULTS \
|
||||
|
|
@ -2202,13 +2208,7 @@ endif
|
|||
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_ARCH_SDX20), y)
|
||||
ifeq ($(CONFIG_QCA_WIFI_SDIO), y)
|
||||
ifeq ($(CONFIG_WCNSS_SKB_PRE_ALLOC), y)
|
||||
CDEFINES += -DFEATURE_SKB_PRE_ALLOC
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
ccflags-$(CONFIG_FEATURE_SKB_PRE_ALLOC) += -DFEATURE_SKB_PRE_ALLOC
|
||||
|
||||
#Enable USB specific APIS
|
||||
ifeq ($(CONFIG_HIF_USB), y)
|
||||
|
|
|
|||
|
|
@ -2913,6 +2913,7 @@ QDF_STATUS cds_smmu_mem_map_setup(qdf_device_t osdev, bool ipa_present)
|
|||
}
|
||||
}
|
||||
}
|
||||
osdev->iommu_mapping = mapping;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
|
@ -2933,6 +2934,7 @@ int cds_smmu_map_unmap(bool map, uint32_t num_buf, qdf_mem_info_t *buf_arr)
|
|||
QDF_STATUS cds_smmu_mem_map_setup(qdf_device_t osdev, bool ipa_present)
|
||||
{
|
||||
osdev->smmu_s1_enabled = false;
|
||||
osdev->iommu_mapping = NULL;
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1527,6 +1527,7 @@ htt_tx_desc_fill_tso_info(htt_pdev_handle pdev, void *desc,
|
|||
|
||||
if (tso_seg->seg.num_frags < FRAG_NUM_MAX)
|
||||
*word = 0;
|
||||
qdf_tso_seg_dbg_record(tso_seg, TSOSEG_LOC_FILLHTTSEG);
|
||||
}
|
||||
#endif /* FEATURE_TSO */
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2011-2017 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2011-2018 The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
|
||||
*
|
||||
|
|
@ -153,6 +153,7 @@ void ol_free_remaining_tso_segs(ol_txrx_vdev_handle vdev,
|
|||
}
|
||||
|
||||
next_seg = free_seg->next;
|
||||
free_seg->force_free = 1;
|
||||
ol_tso_free_segment(pdev, free_seg);
|
||||
free_seg = next_seg;
|
||||
}
|
||||
|
|
@ -163,6 +164,7 @@ void ol_free_remaining_tso_segs(ol_txrx_vdev_handle vdev,
|
|||
*/
|
||||
while (free_seg) {
|
||||
next_seg = free_seg->next;
|
||||
free_seg->force_free = 1;
|
||||
ol_tso_free_segment(pdev, free_seg);
|
||||
free_seg = next_seg;
|
||||
}
|
||||
|
|
@ -697,6 +699,7 @@ ol_tx_ll_fast(ol_txrx_vdev_handle vdev, qdf_nbuf_t msdu_list)
|
|||
struct ol_txrx_msdu_info_t msdu_info;
|
||||
uint32_t tso_msdu_stats_idx = 0;
|
||||
|
||||
qdf_mem_zero(&msdu_info, sizeof(msdu_info));
|
||||
msdu_info.htt.info.l2_hdr_type = vdev->pdev->htt_pkt_type;
|
||||
msdu_info.htt.action.tx_comp_req = 0;
|
||||
/*
|
||||
|
|
@ -714,7 +717,7 @@ ol_tx_ll_fast(ol_txrx_vdev_handle vdev, qdf_nbuf_t msdu_list)
|
|||
msdu_info.peer = NULL;
|
||||
|
||||
if (qdf_unlikely(ol_tx_prepare_tso(vdev, msdu, &msdu_info))) {
|
||||
ol_txrx_dbg("ol_tx_prepare_tso failed\n");
|
||||
ol_txrx_err("ol_tx_prepare_tso failed\n");
|
||||
TXRX_STATS_MSDU_LIST_INCR(vdev->pdev,
|
||||
tx.dropped.host_reject, msdu);
|
||||
return msdu;
|
||||
|
|
@ -773,6 +776,8 @@ ol_tx_ll_fast(ol_txrx_vdev_handle vdev, qdf_nbuf_t msdu_list)
|
|||
TXRX_STATS_MSDU_INCR(pdev, tx.from_stack, msdu);
|
||||
|
||||
if (qdf_likely(tx_desc)) {
|
||||
struct qdf_tso_seg_elem_t *next_seg;
|
||||
|
||||
|
||||
/*
|
||||
* if this is a jumbo nbuf, then increment the
|
||||
|
|
@ -801,6 +806,17 @@ ol_tx_ll_fast(ol_txrx_vdev_handle vdev, qdf_nbuf_t msdu_list)
|
|||
sizeof(struct htt_tx_msdu_desc_ext_t);
|
||||
|
||||
htt_tx_desc_display(tx_desc->htt_tx_desc);
|
||||
|
||||
/* mark the relevant tso_seg free-able */
|
||||
if (msdu_info.tso_info.curr_seg) {
|
||||
msdu_info.tso_info.curr_seg->
|
||||
sent_to_target = 1;
|
||||
next_seg = msdu_info.tso_info.
|
||||
curr_seg->next;
|
||||
} else {
|
||||
next_seg = NULL;
|
||||
}
|
||||
|
||||
if ((0 == ce_send_fast(pdev->ce_tx_hdl, msdu,
|
||||
ep_id, pkt_download_len))) {
|
||||
struct qdf_tso_info_t *tso_info =
|
||||
|
|
@ -811,8 +827,7 @@ ol_tx_ll_fast(ol_txrx_vdev_handle vdev, qdf_nbuf_t msdu_list)
|
|||
*/
|
||||
if (tx_desc->pkt_type ==
|
||||
OL_TX_FRM_TSO) {
|
||||
tso_info->curr_seg =
|
||||
tso_info->curr_seg->next;
|
||||
tso_info->curr_seg = next_seg;
|
||||
ol_free_remaining_tso_segs(vdev,
|
||||
&msdu_info, true);
|
||||
}
|
||||
|
|
@ -827,10 +842,9 @@ ol_tx_ll_fast(ol_txrx_vdev_handle vdev, qdf_nbuf_t msdu_list)
|
|||
htt_tx_status_download_fail);
|
||||
return msdu;
|
||||
}
|
||||
if (msdu_info.tso_info.curr_seg) {
|
||||
msdu_info.tso_info.curr_seg =
|
||||
msdu_info.tso_info.curr_seg->next;
|
||||
}
|
||||
if (msdu_info.tso_info.curr_seg)
|
||||
msdu_info.tso_info.curr_seg = next_seg;
|
||||
|
||||
|
||||
if (msdu_info.tso_info.is_tso) {
|
||||
qdf_nbuf_reset_num_frags(msdu);
|
||||
|
|
@ -2103,7 +2117,7 @@ void ol_tso_seg_list_init(struct ol_txrx_pdev_t *pdev, uint32_t num_seg)
|
|||
c_element->cookie = TSO_SEG_MAGIC_COOKIE;
|
||||
#ifdef TSOSEG_DEBUG
|
||||
c_element->dbg.txdesc = NULL;
|
||||
c_element->dbg.cur = -1; /* history empty */
|
||||
qdf_atomic_init(&c_element->dbg.cur); /* history empty */
|
||||
qdf_tso_seg_dbg_record(c_element, TSOSEG_LOC_INIT1);
|
||||
#endif /* TSOSEG_DEBUG */
|
||||
c_element->next =
|
||||
|
|
@ -2126,8 +2140,7 @@ void ol_tso_seg_list_init(struct ol_txrx_pdev_t *pdev, uint32_t num_seg)
|
|||
c_element->on_freelist = 1;
|
||||
c_element->cookie = TSO_SEG_MAGIC_COOKIE;
|
||||
#ifdef TSOSEG_DEBUG
|
||||
c_element->dbg.txdesc = NULL;
|
||||
c_element->dbg.cur = -1; /* history empty */
|
||||
qdf_tso_seg_dbg_init(c_element);
|
||||
qdf_tso_seg_dbg_record(c_element, TSOSEG_LOC_INIT2);
|
||||
#endif /* TSOSEG_DEBUG */
|
||||
c_element->next = NULL;
|
||||
|
|
@ -2167,11 +2180,10 @@ void ol_tso_seg_list_deinit(struct ol_txrx_pdev_t *pdev)
|
|||
while (i-- > 0 && c_element) {
|
||||
temp = c_element->next;
|
||||
if (c_element->on_freelist != 1) {
|
||||
qdf_tso_seg_dbg_bug("this seg already freed (double?)");
|
||||
qdf_tso_seg_dbg_bug("seg already freed (double?)");
|
||||
return;
|
||||
} else if (c_element->cookie != TSO_SEG_MAGIC_COOKIE) {
|
||||
qdf_print("this seg cookie is bad (memory corruption?)");
|
||||
QDF_BUG(0);
|
||||
qdf_tso_seg_dbg_bug("seg cookie is bad (corruption?)");
|
||||
return;
|
||||
}
|
||||
/* free this seg, so reset the cookie value*/
|
||||
|
|
|
|||
|
|
@ -895,20 +895,22 @@ struct qdf_tso_seg_elem_t *ol_tso_alloc_segment(struct ol_txrx_pdev_t *pdev)
|
|||
pdev->tso_seg_pool.num_free--;
|
||||
tso_seg = pdev->tso_seg_pool.freelist;
|
||||
if (tso_seg->on_freelist != 1) {
|
||||
qdf_print("Do not alloc tso seg as this seg is not in freelist\n");
|
||||
qdf_spin_unlock_bh(&pdev->tso_seg_pool.tso_mutex);
|
||||
qdf_print("tso seg alloc failed: not in freelist");
|
||||
QDF_BUG(0);
|
||||
return NULL;
|
||||
} else if (tso_seg->cookie != TSO_SEG_MAGIC_COOKIE) {
|
||||
qdf_print("Do not alloc tso seg as cookie is not good\n");
|
||||
qdf_spin_unlock_bh(&pdev->tso_seg_pool.tso_mutex);
|
||||
qdf_print("tso seg alloc failed: bad cookie");
|
||||
QDF_BUG(0);
|
||||
return NULL;
|
||||
}
|
||||
/*this tso seg is not a part of freelist now.*/
|
||||
tso_seg->on_freelist = 0;
|
||||
qdf_tso_seg_dbg_record(tso_seg, TSOSEG_LOC_ALLOC);
|
||||
tso_seg->sent_to_target = 0;
|
||||
tso_seg->force_free = 0;
|
||||
pdev->tso_seg_pool.freelist = pdev->tso_seg_pool.freelist->next;
|
||||
qdf_tso_seg_dbg_record(tso_seg, TSOSEG_LOC_ALLOC);
|
||||
}
|
||||
qdf_spin_unlock_bh(&pdev->tso_seg_pool.tso_mutex);
|
||||
|
||||
|
|
@ -932,11 +934,18 @@ void ol_tso_free_segment(struct ol_txrx_pdev_t *pdev,
|
|||
qdf_spin_lock_bh(&pdev->tso_seg_pool.tso_mutex);
|
||||
if (tso_seg->on_freelist != 0) {
|
||||
qdf_spin_unlock_bh(&pdev->tso_seg_pool.tso_mutex);
|
||||
qdf_tso_seg_dbg_bug("Do not free tso seg, already freed");
|
||||
qdf_print("Do not free tso seg, already freed");
|
||||
QDF_BUG(0);
|
||||
return;
|
||||
} else if (tso_seg->cookie != TSO_SEG_MAGIC_COOKIE) {
|
||||
qdf_print("Do not free the tso seg as cookie is not good. Looks like memory corruption");
|
||||
qdf_spin_unlock_bh(&pdev->tso_seg_pool.tso_mutex);
|
||||
qdf_print("Do not free tso seg: cookie is not good.");
|
||||
QDF_BUG(0);
|
||||
return;
|
||||
} else if ((tso_seg->sent_to_target != 1) &&
|
||||
(tso_seg->force_free != 1)) {
|
||||
qdf_spin_unlock_bh(&pdev->tso_seg_pool.tso_mutex);
|
||||
qdf_print("Do not free tso seg: yet to be sent to target");
|
||||
QDF_BUG(0);
|
||||
return;
|
||||
}
|
||||
|
|
@ -948,10 +957,14 @@ void ol_tso_free_segment(struct ol_txrx_pdev_t *pdev,
|
|||
qdf_tso_seg_dbg_zero(tso_seg);
|
||||
tso_seg->next = pdev->tso_seg_pool.freelist;
|
||||
tso_seg->on_freelist = 1;
|
||||
tso_seg->sent_to_target = 0;
|
||||
tso_seg->cookie = TSO_SEG_MAGIC_COOKIE;
|
||||
qdf_tso_seg_dbg_record(tso_seg, TSOSEG_LOC_FREE);
|
||||
pdev->tso_seg_pool.freelist = tso_seg;
|
||||
pdev->tso_seg_pool.num_free++;
|
||||
qdf_tso_seg_dbg_record(tso_seg, tso_seg->force_free
|
||||
? TSOSEG_LOC_FORCE_FREE
|
||||
: TSOSEG_LOC_FREE);
|
||||
tso_seg->force_free = 0;
|
||||
qdf_spin_unlock_bh(&pdev->tso_seg_pool.tso_mutex);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3074,7 +3074,6 @@ enum hdd_dot11_mode {
|
|||
#define CFG_VCC_UL_MAC_LOSS_THRESH_MAX (9)
|
||||
#define CFG_VCC_UL_MAC_LOSS_THRESH_DEFAULT (9)
|
||||
|
||||
#ifdef WLAN_AP_STA_CONCURRENCY
|
||||
/*
|
||||
* <ini>
|
||||
* gPassiveMaxChannelTimeConc - Maximum passive scan time in milliseconds.
|
||||
|
|
@ -3239,7 +3238,6 @@ enum hdd_dot11_mode {
|
|||
#define CFG_IDLE_TIME_MIN (0)
|
||||
#define CFG_IDLE_TIME_MAX (25)
|
||||
#define CFG_IDLE_TIME_DEFAULT (25)
|
||||
#endif
|
||||
|
||||
#define CFG_MAX_PS_POLL_NAME "gMaxPsPoll"
|
||||
#define CFG_MAX_PS_POLL_MIN WNI_CFG_MAX_PS_POLL_STAMIN
|
||||
|
|
@ -14036,7 +14034,6 @@ struct hdd_config {
|
|||
uint32_t nInitialDwellTime; /* in units of milliseconds */
|
||||
bool initial_scan_no_dfs_chnl;
|
||||
|
||||
#ifdef WLAN_AP_STA_CONCURRENCY
|
||||
uint32_t nPassiveMinChnTimeConc; /* in units of milliseconds */
|
||||
uint32_t nPassiveMaxChnTimeConc; /* in units of milliseconds */
|
||||
uint32_t nActiveMinChnTimeConc; /* in units of milliseconds */
|
||||
|
|
@ -14046,7 +14043,6 @@ struct hdd_config {
|
|||
uint32_t min_rest_time_conc;
|
||||
/* In units of milliseconds */
|
||||
uint32_t idle_time_conc;
|
||||
#endif
|
||||
|
||||
uint8_t nMaxPsPoll;
|
||||
|
||||
|
|
|
|||
|
|
@ -751,7 +751,6 @@ struct reg_table_entry g_registry_table[] = {
|
|||
CFG_SCAN_PROBE_REPEAT_TIME_MIN,
|
||||
CFG_SCAN_PROBE_REPEAT_TIME_MAX),
|
||||
|
||||
#ifdef WLAN_AP_STA_CONCURRENCY
|
||||
REG_VARIABLE(CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
|
||||
struct hdd_config, nPassiveMaxChnTimeConc,
|
||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
||||
|
|
@ -800,7 +799,6 @@ struct reg_table_entry g_registry_table[] = {
|
|||
CFG_IDLE_TIME_DEFAULT,
|
||||
CFG_IDLE_TIME_MIN,
|
||||
CFG_IDLE_TIME_MAX),
|
||||
#endif
|
||||
|
||||
REG_VARIABLE(CFG_MAX_PS_POLL_NAME, WLAN_PARAM_Integer,
|
||||
struct hdd_config, nMaxPsPoll,
|
||||
|
|
@ -8550,7 +8548,6 @@ QDF_STATUS hdd_set_sme_config(struct hdd_context *hdd_ctx)
|
|||
smeConfig->csrConfig.nActiveMinChnTime = pConfig->nActiveMinChnTime;
|
||||
smeConfig->csrConfig.nPassiveMaxChnTime = pConfig->nPassiveMaxChnTime;
|
||||
smeConfig->csrConfig.nPassiveMinChnTime = pConfig->nPassiveMinChnTime;
|
||||
#ifdef WLAN_AP_STA_CONCURRENCY
|
||||
smeConfig->csrConfig.nActiveMaxChnTimeConc =
|
||||
pConfig->nActiveMaxChnTimeConc;
|
||||
smeConfig->csrConfig.nActiveMinChnTimeConc =
|
||||
|
|
@ -8563,7 +8560,6 @@ QDF_STATUS hdd_set_sme_config(struct hdd_context *hdd_ctx)
|
|||
smeConfig->csrConfig.min_rest_time_conc = pConfig->min_rest_time_conc;
|
||||
smeConfig->csrConfig.idle_time_conc = pConfig->idle_time_conc;
|
||||
|
||||
#endif
|
||||
smeConfig->csrConfig.Is11eSupportEnabled = pConfig->b80211eIsEnabled;
|
||||
smeConfig->csrConfig.WMMSupportMode =
|
||||
hdd_to_csr_wmm_mode(pConfig->WmmMode);
|
||||
|
|
|
|||
|
|
@ -3065,9 +3065,7 @@ __wlan_hdd_cfg80211_get_supported_features(struct wiphy *wiphy,
|
|||
fset |= WIFI_FEATURE_TDLS_OFFCHANNEL;
|
||||
}
|
||||
#endif
|
||||
#ifdef WLAN_AP_STA_CONCURRENCY
|
||||
fset |= WIFI_FEATURE_AP_STA;
|
||||
#endif
|
||||
fset |= WIFI_FEATURE_RSSI_MONITOR;
|
||||
fset |= WIFI_FEATURE_TX_TRANSMIT_POWER;
|
||||
fset |= WIFI_FEATURE_SET_TX_POWER_LIMIT;
|
||||
|
|
|
|||
|
|
@ -41,9 +41,9 @@
|
|||
#define QWLAN_VERSION_MAJOR 5
|
||||
#define QWLAN_VERSION_MINOR 2
|
||||
#define QWLAN_VERSION_PATCH 0
|
||||
#define QWLAN_VERSION_EXTRA "P"
|
||||
#define QWLAN_VERSION_EXTRA "T"
|
||||
#define QWLAN_VERSION_BUILD 73
|
||||
|
||||
#define QWLAN_VERSIONSTR "5.2.0.73P"
|
||||
#define QWLAN_VERSIONSTR "5.2.0.73T"
|
||||
|
||||
#endif /* QWLAN_VERSION_H */
|
||||
|
|
|
|||
|
|
@ -1124,13 +1124,11 @@ typedef struct tagCsrConfigParam {
|
|||
uint32_t nActiveMaxChnTime; /* in units of milliseconds */
|
||||
uint32_t nInitialDwellTime; /* in units of milliseconds */
|
||||
bool initial_scan_no_dfs_chnl;
|
||||
#ifdef WLAN_AP_STA_CONCURRENCY
|
||||
uint32_t nPassiveMinChnTimeConc; /* in units of milliseconds */
|
||||
uint32_t nPassiveMaxChnTimeConc; /* in units of milliseconds */
|
||||
uint32_t nActiveMinChnTimeConc; /* in units of milliseconds */
|
||||
uint32_t nActiveMaxChnTimeConc; /* in units of milliseconds */
|
||||
uint32_t nRestTimeConc; /* in units of milliseconds */
|
||||
#endif
|
||||
/*In units of milliseconds*/
|
||||
uint32_t min_rest_time_conc;
|
||||
/*In units of milliseconds*/
|
||||
|
|
|
|||
|
|
@ -466,7 +466,6 @@ struct csr_config {
|
|||
|
||||
uint32_t nInitialDwellTime; /* in units of milliseconds */
|
||||
bool initial_scan_no_dfs_chnl;
|
||||
#ifdef WLAN_AP_STA_CONCURRENCY
|
||||
uint32_t nPassiveMinChnTimeConc;/* in units of milliseconds */
|
||||
uint32_t nPassiveMaxChnTimeConc;/* in units of milliseconds */
|
||||
uint32_t nActiveMinChnTimeConc; /* in units of milliseconds */
|
||||
|
|
@ -476,8 +475,6 @@ struct csr_config {
|
|||
uint32_t min_rest_time_conc;
|
||||
/* In units of milliseconds */
|
||||
uint32_t idle_time_conc;
|
||||
|
||||
#endif
|
||||
/*
|
||||
* in dBm, the max TX power. The actual TX power is the lesser of this
|
||||
* value & 11d. If 11d is disable, the lesser of this & default setting.
|
||||
|
|
@ -682,9 +679,6 @@ struct csr_scanstruct {
|
|||
bool fFirstScanOnly2GChnl;
|
||||
bool fDropScanCmd; /* true means we don't accept scan commands */
|
||||
|
||||
#ifdef WLAN_AP_STA_CONCURRENCY
|
||||
tDblLinkList scanCmdPendingList;
|
||||
#endif
|
||||
/* This includes all channels on which candidate APs are found */
|
||||
struct csr_channel occupiedChannels[CSR_ROAM_SESSION_MAX];
|
||||
int8_t roam_candidate_count[CSR_ROAM_SESSION_MAX];
|
||||
|
|
|
|||
|
|
@ -1575,7 +1575,6 @@ static void init_config_param(tpAniSirGlobal pMac)
|
|||
CSR_PASSIVE_MAX_CHANNEL_TIME;
|
||||
pMac->roam.configParam.nPassiveMinChnTime =
|
||||
CSR_PASSIVE_MIN_CHANNEL_TIME;
|
||||
#ifdef WLAN_AP_STA_CONCURRENCY
|
||||
pMac->roam.configParam.nActiveMaxChnTimeConc =
|
||||
CSR_ACTIVE_MAX_CHANNEL_TIME_CONC;
|
||||
pMac->roam.configParam.nActiveMinChnTimeConc =
|
||||
|
|
@ -1587,7 +1586,6 @@ static void init_config_param(tpAniSirGlobal pMac)
|
|||
pMac->roam.configParam.nRestTimeConc = CSR_REST_TIME_CONC;
|
||||
pMac->roam.configParam.min_rest_time_conc = CSR_MIN_REST_TIME_CONC;
|
||||
pMac->roam.configParam.idle_time_conc = CSR_IDLE_TIME_CONC;
|
||||
#endif
|
||||
pMac->roam.configParam.nTxPowerCap = CSR_MAX_TX_POWER;
|
||||
pMac->roam.configParam.allow_tpc_from_ap = true;
|
||||
pMac->roam.configParam.statsReqPeriodicity =
|
||||
|
|
@ -2716,7 +2714,6 @@ QDF_STATUS csr_change_default_config_param(tpAniSirGlobal pMac,
|
|||
cfg_set_int(pMac, WNI_CFG_PASSIVE_MINIMUM_CHANNEL_TIME,
|
||||
pParam->nPassiveMinChnTime);
|
||||
}
|
||||
#ifdef WLAN_AP_STA_CONCURRENCY
|
||||
if (pParam->nActiveMaxChnTimeConc) {
|
||||
pMac->roam.configParam.nActiveMaxChnTimeConc =
|
||||
pParam->nActiveMaxChnTimeConc;
|
||||
|
|
@ -2738,7 +2735,6 @@ QDF_STATUS csr_change_default_config_param(tpAniSirGlobal pMac,
|
|||
pParam->min_rest_time_conc;
|
||||
pMac->roam.configParam.idle_time_conc = pParam->idle_time_conc;
|
||||
|
||||
#endif
|
||||
pMac->roam.configParam.eBand = pParam->eBand;
|
||||
pMac->roam.configParam.uCfgDot11Mode =
|
||||
csr_get_cfg_dot11_mode_from_csr_phy_mode(NULL,
|
||||
|
|
@ -3207,7 +3203,6 @@ QDF_STATUS csr_get_config_param(tpAniSirGlobal pMac, tCsrConfigParam *pParam)
|
|||
pParam->nActiveMinChnTime = cfg_params->nActiveMinChnTime;
|
||||
pParam->nPassiveMaxChnTime = cfg_params->nPassiveMaxChnTime;
|
||||
pParam->nPassiveMinChnTime = cfg_params->nPassiveMinChnTime;
|
||||
#ifdef WLAN_AP_STA_CONCURRENCY
|
||||
pParam->nActiveMaxChnTimeConc = cfg_params->nActiveMaxChnTimeConc;
|
||||
pParam->nActiveMinChnTimeConc = cfg_params->nActiveMinChnTimeConc;
|
||||
pParam->nPassiveMaxChnTimeConc = cfg_params->nPassiveMaxChnTimeConc;
|
||||
|
|
@ -3215,7 +3210,6 @@ QDF_STATUS csr_get_config_param(tpAniSirGlobal pMac, tCsrConfigParam *pParam)
|
|||
pParam->nRestTimeConc = cfg_params->nRestTimeConc;
|
||||
pParam->min_rest_time_conc = cfg_params->min_rest_time_conc;
|
||||
pParam->idle_time_conc = cfg_params->idle_time_conc;
|
||||
#endif
|
||||
pParam->eBand = cfg_params->eBand;
|
||||
pParam->nScanResultAgeCount = cfg_params->agingCount;
|
||||
pParam->bCatRssiOffset = cfg_params->bCatRssiOffset;
|
||||
|
|
|
|||
|
|
@ -556,7 +556,6 @@ static void csr_set_default_scan_timing(tpAniSirGlobal pMac,
|
|||
tSirScanType scanType,
|
||||
tCsrScanRequest *pScanRequest)
|
||||
{
|
||||
#ifdef WLAN_AP_STA_CONCURRENCY
|
||||
if (csr_is_any_session_connected(pMac)) {
|
||||
/* Reset passive scan time as per ini parameter. */
|
||||
cfg_set_int(pMac, WNI_CFG_PASSIVE_MAXIMUM_CHANNEL_TIME,
|
||||
|
|
@ -583,11 +582,12 @@ static void csr_set_default_scan_timing(tpAniSirGlobal pMac,
|
|||
/* Return so that fields set above will not be overwritten. */
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* This portion of the code executed if multi-session not supported */
|
||||
/* (WLAN_AP_STA_CONCURRENCY not defined) or no multi-session. */
|
||||
/* Use the "regular" (non-concurrency) default scan timing. */
|
||||
/*
|
||||
* This portion of the code is executed if no multi-session.
|
||||
* Use the "regular" (non-concurrency) default scan timing if
|
||||
* no multi session.
|
||||
*/
|
||||
cfg_set_int(pMac, WNI_CFG_PASSIVE_MAXIMUM_CHANNEL_TIME,
|
||||
pMac->roam.configParam.nPassiveMaxChnTime);
|
||||
if (pScanRequest->scanType == eSIR_ACTIVE_SCAN) {
|
||||
|
|
@ -601,14 +601,11 @@ static void csr_set_default_scan_timing(tpAniSirGlobal pMac,
|
|||
pScanRequest->minChnTime =
|
||||
pMac->roam.configParam.nPassiveMinChnTime;
|
||||
}
|
||||
#ifdef WLAN_AP_STA_CONCURRENCY
|
||||
|
||||
/* No rest time/Idle time if no sessions are connected. */
|
||||
pScanRequest->restTime = 0;
|
||||
pScanRequest->min_rest_time = 0;
|
||||
pScanRequest->idle_time = 0;
|
||||
|
||||
#endif
|
||||
}
|
||||
|
||||
static QDF_STATUS
|
||||
|
|
@ -775,7 +772,6 @@ QDF_STATUS csr_scan_request(tpAniSirGlobal pMac, uint16_t sessionId,
|
|||
sme_debug("Setting default min %d and max %d ChnTime",
|
||||
scan_req->minChnTime, scan_req->maxChnTime);
|
||||
}
|
||||
#ifdef WLAN_AP_STA_CONCURRENCY
|
||||
/*
|
||||
* Need to set restTime/min_Ret_time/idle_time
|
||||
* only if at least one session is connected
|
||||
|
|
@ -792,7 +788,6 @@ QDF_STATUS csr_scan_request(tpAniSirGlobal pMac, uint16_t sessionId,
|
|||
scan_req->minChnTime = cfg_prm->nPassiveMinChnTimeConc;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
/* Increase dwell time in case P2P Search and Miracast is not present */
|
||||
if (scan_req->p2pSearch && scan_req->ChannelInfo.numOfChannels
|
||||
== P2P_SOCIAL_CHANNELS && (!(pMac->sme.miracast_value))) {
|
||||
|
|
|
|||
|
|
@ -44,7 +44,6 @@
|
|||
#define CSR_ACTIVE_MAX_CHANNEL_TIME 40
|
||||
#define CSR_ACTIVE_MIN_CHANNEL_TIME 20
|
||||
|
||||
#ifdef WLAN_AP_STA_CONCURRENCY
|
||||
#define CSR_PASSIVE_MAX_CHANNEL_TIME_CONC 110
|
||||
#define CSR_PASSIVE_MIN_CHANNEL_TIME_CONC 60
|
||||
|
||||
|
|
@ -55,8 +54,6 @@
|
|||
#define CSR_MIN_REST_TIME_CONC 50
|
||||
#define CSR_IDLE_TIME_CONC 25
|
||||
|
||||
#endif
|
||||
|
||||
#define CSR_MAX_NUM_SUPPORTED_CHANNELS 55
|
||||
|
||||
#define CSR_MAX_2_4_GHZ_SUPPORTED_CHANNELS 14
|
||||
|
|
|
|||
Loading…
Reference in a new issue