mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-24 21:54:34 -04:00
Merge b43c4037ff on remote branch
Change-Id: I314db4f6c5aec9c84338cf72cecf5af980347516
This commit is contained in:
commit
b47e275790
8 changed files with 50 additions and 35 deletions
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
* Copyright (c) 2012-2020 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2022-2023 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
|
||||
|
|
@ -884,6 +884,7 @@ policy_mgr_nan_sap_pre_enable_conc_check(struct wlan_objmgr_psoc *psoc,
|
|||
* @psoc: PSOC object information
|
||||
* @mode: connection mode
|
||||
* @ch_freq: target channel frequency to switch
|
||||
* @bw: target channel bandwidth
|
||||
* @vdev_id: vdev id of channel switch interface
|
||||
* @forced: forced to chan switch.
|
||||
* @reason: request reason of CSA
|
||||
|
|
@ -903,8 +904,17 @@ policy_mgr_nan_sap_pre_enable_conc_check(struct wlan_objmgr_psoc *psoc,
|
|||
bool
|
||||
policy_mgr_allow_concurrency_csa(struct wlan_objmgr_psoc *psoc,
|
||||
enum policy_mgr_con_mode mode,
|
||||
uint32_t ch_freq, uint32_t vdev_id,
|
||||
bool forced, enum sap_csa_reason_code reason);
|
||||
uint32_t ch_freq, enum hw_mode_bandwidth bw,
|
||||
uint32_t vdev_id, bool forced,
|
||||
enum sap_csa_reason_code reason);
|
||||
|
||||
/**
|
||||
* policy_mgr_get_bw() - Convert phy_ch_width to hw_mode_bandwidth.
|
||||
* @chan_width: phy_ch_width
|
||||
*
|
||||
* Return: hw_mode_bandwidth
|
||||
*/
|
||||
enum hw_mode_bandwidth policy_mgr_get_bw(enum phy_ch_width chan_width);
|
||||
|
||||
/**
|
||||
* policy_mgr_get_first_connection_pcl_table_index() - provides the
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
* Copyright (c) 2012-2020 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2022-2023 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
|
||||
|
|
@ -2653,11 +2653,14 @@ bool policy_mgr_is_concurrency_allowed(struct wlan_objmgr_psoc *psoc,
|
|||
}
|
||||
|
||||
if (ch_freq) {
|
||||
chan_state = wlan_reg_get_5g_bonded_channel_state_for_freq(
|
||||
if (wlan_reg_is_5ghz_ch_freq(ch_freq)) {
|
||||
chan_state =
|
||||
wlan_reg_get_5g_bonded_channel_state_for_freq(
|
||||
pm_ctx->pdev, ch_freq,
|
||||
policy_mgr_get_ch_width(bw));
|
||||
if (chan_state == CHANNEL_STATE_DFS)
|
||||
is_dfs_ch = true;
|
||||
if (chan_state == CHANNEL_STATE_DFS)
|
||||
is_dfs_ch = true;
|
||||
}
|
||||
/* don't allow 3rd home channel on same MAC
|
||||
* also check for single mac target which doesn't
|
||||
* support interbad MCC as well
|
||||
|
|
@ -2693,8 +2696,10 @@ bool policy_mgr_is_concurrency_allowed(struct wlan_objmgr_psoc *psoc,
|
|||
sta_sap_scc_on_dfs_chan =
|
||||
policy_mgr_is_sta_sap_scc_allowed_on_dfs_chan(psoc);
|
||||
go_force_scc = policy_mgr_go_scc_enforced(psoc);
|
||||
if ((!sta_sap_scc_on_dfs_chan && mode == PM_SAP_MODE) ||
|
||||
(!go_force_scc && mode == PM_P2P_GO_MODE)) {
|
||||
if ((mode == PM_SAP_MODE || mode == PM_P2P_GO_MODE) &&
|
||||
(!sta_sap_scc_on_dfs_chan ||
|
||||
!policy_mgr_is_sta_sap_scc(psoc, ch_freq) ||
|
||||
(!go_force_scc && mode == PM_P2P_GO_MODE))) {
|
||||
if (is_dfs_ch)
|
||||
match = policy_mgr_disallow_mcc(psoc,
|
||||
ch_freq);
|
||||
|
|
@ -2796,8 +2801,9 @@ bool policy_mgr_allow_concurrency(struct wlan_objmgr_psoc *psoc,
|
|||
bool
|
||||
policy_mgr_allow_concurrency_csa(struct wlan_objmgr_psoc *psoc,
|
||||
enum policy_mgr_con_mode mode,
|
||||
uint32_t ch_freq, uint32_t vdev_id,
|
||||
bool forced, enum sap_csa_reason_code reason)
|
||||
uint32_t ch_freq, enum hw_mode_bandwidth bw,
|
||||
uint32_t vdev_id, bool forced,
|
||||
enum sap_csa_reason_code reason)
|
||||
{
|
||||
bool allow = false;
|
||||
struct policy_mgr_conc_connection_info
|
||||
|
|
@ -2812,8 +2818,8 @@ policy_mgr_allow_concurrency_csa(struct wlan_objmgr_psoc *psoc,
|
|||
policy_mgr_err("Invalid Context");
|
||||
return allow;
|
||||
}
|
||||
policy_mgr_debug("check concurrency_csa vdev:%d ch %d, forced %d, reason %d",
|
||||
vdev_id, ch_freq, forced, reason);
|
||||
policy_mgr_debug("check concurrency_csa vdev:%d ch %d bw %d, forced %d, reason %d",
|
||||
vdev_id, ch_freq, bw, forced, reason);
|
||||
|
||||
status = policy_mgr_get_chan_by_session_id(psoc, vdev_id,
|
||||
&old_ch_freq);
|
||||
|
|
@ -2851,8 +2857,7 @@ policy_mgr_allow_concurrency_csa(struct wlan_objmgr_psoc *psoc,
|
|||
policy_mgr_store_and_del_conn_info_by_vdev_id(
|
||||
psoc, vdev_id, info, &num_cxn_del);
|
||||
|
||||
allow = policy_mgr_allow_concurrency(psoc, mode, ch_freq,
|
||||
HW_MODE_20_MHZ);
|
||||
allow = policy_mgr_allow_concurrency(psoc, mode, ch_freq, bw);
|
||||
/* Restore the connection entry */
|
||||
if (num_cxn_del > 0)
|
||||
policy_mgr_restore_deleted_conn_info(psoc, info, num_cxn_del);
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
/*
|
||||
* Copyright (c) 2012-2020 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022-2023 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
|
||||
|
|
@ -570,14 +571,6 @@ void pm_dbs_opportunistic_timer_handler(void *data);
|
|||
enum policy_mgr_con_mode policy_mgr_get_mode(uint8_t type,
|
||||
uint8_t subtype);
|
||||
|
||||
/**
|
||||
* policy_mgr_get_bw() - Convert phy_ch_width to hw_mode_bandwidth.
|
||||
* @chan_width: phy_ch_width
|
||||
*
|
||||
* Return: hw_mode_bandwidth
|
||||
*/
|
||||
enum hw_mode_bandwidth policy_mgr_get_bw(enum phy_ch_width chan_width);
|
||||
|
||||
QDF_STATUS policy_mgr_get_channel_list(struct wlan_objmgr_psoc *psoc,
|
||||
enum policy_mgr_pcl_type pcl,
|
||||
uint32_t *pcl_channels, uint32_t *len,
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
* Copyright (c) 2012-2021 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2022-2023 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
|
||||
|
|
@ -2966,6 +2966,7 @@ int hdd_softap_set_channel_change(struct net_device *dev, int target_chan_freq,
|
|||
struct wlan_objmgr_vdev *vdev;
|
||||
bool strict;
|
||||
uint32_t sta_cnt = 0;
|
||||
struct ch_params ch_params = {0};
|
||||
|
||||
hdd_ctx = WLAN_HDD_GET_CTX(adapter);
|
||||
ret = wlan_hdd_validate_context(hdd_ctx);
|
||||
|
|
@ -3046,7 +3047,10 @@ int hdd_softap_set_channel_change(struct net_device *dev, int target_chan_freq,
|
|||
hdd_err("Channel switch in progress!!");
|
||||
return -EBUSY;
|
||||
}
|
||||
|
||||
ch_params.ch_width = target_bw;
|
||||
target_bw = wlansap_get_csa_chanwidth_from_phymode(sap_ctx,
|
||||
target_chan_freq,
|
||||
&ch_params);
|
||||
/*
|
||||
* Do SAP concurrency check to cover channel switch case as following:
|
||||
* There is already existing SAP+GO combination but due to upper layer
|
||||
|
|
@ -3063,7 +3067,7 @@ int hdd_softap_set_channel_change(struct net_device *dev, int target_chan_freq,
|
|||
hdd_ctx->psoc,
|
||||
policy_mgr_convert_device_mode_to_qdf_type(
|
||||
adapter->device_mode),
|
||||
target_chan_freq,
|
||||
target_chan_freq, policy_mgr_get_bw(target_bw),
|
||||
adapter->vdev_id,
|
||||
forced,
|
||||
sap_ctx->csa_reason)) {
|
||||
|
|
|
|||
|
|
@ -32,9 +32,9 @@
|
|||
#define QWLAN_VERSION_MAJOR 2
|
||||
#define QWLAN_VERSION_MINOR 0
|
||||
#define QWLAN_VERSION_PATCH 8
|
||||
#define QWLAN_VERSION_EXTRA "Z"
|
||||
#define QWLAN_VERSION_BUILD 31
|
||||
#define QWLAN_VERSION_EXTRA "B"
|
||||
#define QWLAN_VERSION_BUILD 32
|
||||
|
||||
#define QWLAN_VERSIONSTR "2.0.8.31Z"
|
||||
#define QWLAN_VERSIONSTR "2.0.8.32B"
|
||||
|
||||
#endif /* QWLAN_VERSION_H */
|
||||
|
|
|
|||
|
|
@ -2178,8 +2178,9 @@ void lim_calculate_tpc(struct mac_context *mac,
|
|||
mlme_obj->reg_tpc_obj.eirp_power = reg_max;
|
||||
mlme_obj->reg_tpc_obj.power_type_6g = ap_power_type_6g;
|
||||
|
||||
pe_debug("num_pwr_levels: %d, is_psd_power: %d, total eirp_power: %d, ap_pwr_type: %d",
|
||||
num_pwr_levels, is_psd_power, reg_max, ap_power_type_6g);
|
||||
pe_debug("num_pwr_levels: %d, is_psd_power: %d, total eirp_power: %d, ap_pwr_type: %d tx_pwrlimit: %d",
|
||||
num_pwr_levels, is_psd_power, reg_max, ap_power_type_6g,
|
||||
mlme_obj->mgmt.generic.tx_pwrlimit);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -1249,6 +1249,8 @@ QDF_STATUS wma_vdev_start_resp_handler(struct vdev_mlme_obj *vdev_mlme,
|
|||
return QDF_STATUS_E_INVAL;
|
||||
|
||||
mlme_obj->mgmt.generic.tx_pwrlimit = rsp->max_allowed_tx_power;
|
||||
wma_debug("Max allowed tx power: %d", rsp->max_allowed_tx_power);
|
||||
|
||||
if (iface->type == WMI_VDEV_TYPE_STA)
|
||||
assoc_type = mlme_get_assoc_type(vdev_mlme->vdev);
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
/*
|
||||
* Copyright (c) 2016-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
|
||||
|
|
@ -74,10 +75,6 @@ QDF_STATUS os_if_monitor_mode_configure(struct hdd_adapter *adapter,
|
|||
QDF_STATUS status;
|
||||
|
||||
os_if_pkt_enter();
|
||||
|
||||
if (tb[SET_MONITOR_MODE_INVALID])
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
|
||||
vdev = hdd_objmgr_get_vdev(adapter);
|
||||
if (!vdev)
|
||||
return QDF_STATUS_E_INVAL;
|
||||
|
|
@ -89,6 +86,9 @@ QDF_STATUS os_if_monitor_mode_configure(struct hdd_adapter *adapter,
|
|||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
|
||||
if (tb[SET_MONITOR_MODE_INVALID])
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
|
||||
if (tb[SET_MONITOR_MODE_DATA_TX_FRAME_TYPE] &&
|
||||
nla_get_u32(tb[SET_MONITOR_MODE_DATA_TX_FRAME_TYPE]) <
|
||||
PACKET_CAPTURE_DATA_MAX_FILTER) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue