summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNirav Shah <nnshah@codeaurora.org>2017-09-15 16:01:04 +0530
committersnandini <snandini@codeaurora.org>2017-10-03 06:43:19 -0700
commit3fae9cfff0617e68825327c13e09ae43448e25c0 (patch)
tree473164173bee4faeecdcd1ea2021ec99d16f1fe4
parent957ce1b0047824a024dde648d994669ab112b009 (diff)
qcacld-2.0: Add iwpriv command to set Dynamic BW in SAP mode
Add iwpriv wlanx cwnenable command to enable/disable Dynamic BW in SAP mode Change-Id: I487595b5a24efcc311669025280350def866e091 CRs-Fixed: 2104386
-rw-r--r--CORE/HDD/inc/qc_sap_ioctl.h4
-rw-r--r--CORE/HDD/src/wlan_hdd_hostapd.c23
2 files changed, 26 insertions, 1 deletions
diff --git a/CORE/HDD/inc/qc_sap_ioctl.h b/CORE/HDD/inc/qc_sap_ioctl.h
index 9db581a099aa..bc21021e9937 100644
--- a/CORE/HDD/inc/qc_sap_ioctl.h
+++ b/CORE/HDD/inc/qc_sap_ioctl.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012-2016 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2012-2017 The Linux Foundation. All rights reserved.
*
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
*
@@ -270,6 +270,8 @@ enum {
QCSAP_PARAM_CHAN_WIDTH,
QCSAP_SET_DEFAULT_AMPDU,
QCSAP_ENABLE_RTS_BURSTING,
+ QCSAP_ENABLE_DYNAMIC_BW,
+ QCSAP_GET_DYNAMIC_BW,
};
int iw_get_channel_list(struct net_device *dev,
diff --git a/CORE/HDD/src/wlan_hdd_hostapd.c b/CORE/HDD/src/wlan_hdd_hostapd.c
index 5117c0d9d159..89afe0c85ec6 100644
--- a/CORE/HDD/src/wlan_hdd_hostapd.c
+++ b/CORE/HDD/src/wlan_hdd_hostapd.c
@@ -4323,6 +4323,13 @@ static __iw_softap_setparam(struct net_device *dev,
set_value, PDEV_CMD);
break;
+ case QCSAP_ENABLE_DYNAMIC_BW:
+ hddLog(LOG1, "QCSAP_ENABLE_DYNAMIC_BW val %d", set_value);
+ ret = process_wma_set_command((int)pHostapdAdapter->sessionId,
+ (int)WMI_PDEV_PARAM_DYNAMIC_BW,
+ set_value, PDEV_CMD);
+ break;
+
default:
hddLog(LOGE, FL("Invalid setparam command %d value %d"),
sub_cmd, set_value);
@@ -4603,6 +4610,14 @@ static __iw_softap_getparam(struct net_device *dev,
VDEV_CMD);
break;
}
+ case QCSAP_GET_DYNAMIC_BW:
+ {
+ *value = wma_cli_get_command(pHddCtx->pvosContext,
+ (int)pHostapdAdapter->sessionId,
+ (int)WMI_PDEV_PARAM_DYNAMIC_BW,
+ PDEV_CMD);
+ break;
+ }
case QCASAP_GET_TEMP_CMD:
{
hddLog(VOS_TRACE_LEVEL_INFO, "QCASAP_GET_TEMP_CMD");
@@ -7102,6 +7117,12 @@ static const struct iw_priv_args hostapd_private_args[] = {
0,
"rts_bursting" },
+ { QCSAP_ENABLE_DYNAMIC_BW,
+ IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1,
+ 0,
+ "cwmenable" },
+
+
{ QCSAP_IOCTL_GETPARAM, 0,
IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, "getparam" },
{ QCSAP_IOCTL_GETPARAM, 0,
@@ -7158,6 +7179,8 @@ static const struct iw_priv_args hostapd_private_args[] = {
IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, "get_txchainmask" },
{ QCASAP_RX_CHAINMASK_CMD, 0,
IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, "get_rxchainmask" },
+ { QCSAP_GET_DYNAMIC_BW, 0,
+ IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, "get_cwmenable" },
{ QCASAP_NSS_CMD, 0,
IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, "get_nss" },
{ QCASAP_GET_TEMP_CMD, 0,