diff options
| author | Nirav Shah <nnshah@codeaurora.org> | 2017-09-15 16:01:04 +0530 |
|---|---|---|
| committer | snandini <snandini@codeaurora.org> | 2017-10-03 06:43:19 -0700 |
| commit | 3fae9cfff0617e68825327c13e09ae43448e25c0 (patch) | |
| tree | 473164173bee4faeecdcd1ea2021ec99d16f1fe4 | |
| parent | 957ce1b0047824a024dde648d994669ab112b009 (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.h | 4 | ||||
| -rw-r--r-- | CORE/HDD/src/wlan_hdd_hostapd.c | 23 |
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, |
