From 3fae9cfff0617e68825327c13e09ae43448e25c0 Mon Sep 17 00:00:00 2001 From: Nirav Shah Date: Fri, 15 Sep 2017 16:01:04 +0530 Subject: 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 --- CORE/HDD/inc/qc_sap_ioctl.h | 4 +++- CORE/HDD/src/wlan_hdd_hostapd.c | 23 +++++++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) 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, -- cgit v1.2.3