diff options
| author | SaidiReddy Yenuga <saidir@codeaurora.org> | 2017-03-24 15:15:03 +0530 |
|---|---|---|
| committer | snandini <snandini@codeaurora.org> | 2017-10-09 04:39:56 -0700 |
| commit | 9c764570f03545d8863da3629060efd244402ff1 (patch) | |
| tree | c25d735507f82fbbf1b87a0d526e41f302526d00 | |
| parent | c99a1cf0f00c6cf852fb7fe1abda903e24bb5242 (diff) | |
qcacld-3.0: Add support for configuring modulated DTIM dynamically
qcacld-2.0 to qcacld-3.0 Propagation.
Wifi OFF/ON is needed to update the gEnableModuleDTIM ini param.
Add private ioctl to configure modulated DTIM at runtime.
CRs-Fixed: 2002662
Change-Id: I28be432da775a9aa026cd702c63dee5666260d33
| -rw-r--r-- | core/hdd/src/wlan_hdd_wext.c | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/core/hdd/src/wlan_hdd_wext.c b/core/hdd/src/wlan_hdd_wext.c index b82aef4b34c3..66b233520a93 100644 --- a/core/hdd/src/wlan_hdd_wext.c +++ b/core/hdd/src/wlan_hdd_wext.c @@ -1046,6 +1046,28 @@ static const struct ccp_freq_chan_map freq_chan_map[] = { #define WE_SET_WOW_DATA_INACTIVITY_TO 90 +/* + * <ioctl> + * setModDTIM - Change Modulated DTIM + * + * @INPUT: set_value. + * + * @OUTPUT: None + * + * This IOCTL is used to change modulated DTIM + * value without WIFI OFF/ON. + * + * @E.g: iwpriv wlan0 setModDTIM <value> + * iwpriv wlan0 setModDTIM 2 + * + * Supported Feature: N/A + * + * Usage: External + * + * </ioctl> + */ +#define WE_SET_MODULATED_DTIM 91 + /* Private ioctls and their sub-ioctls */ #define WLAN_PRIV_SET_NONE_GET_INT (SIOCIWFIRSTPRIV + 1) #define WE_GET_11D_STATE 1 @@ -8865,6 +8887,18 @@ static int __iw_setint_getnone(struct net_device *dev, cds_set_cur_conc_system_pref(set_value); break; } + case WE_SET_MODULATED_DTIM: + { + if ((set_value < CFG_ENABLE_MODULATED_DTIM_MIN) || + (set_value > CFG_ENABLE_MODULATED_DTIM_MAX)) { + hdd_err("Invalid gEnableModuleDTIM value %d", + set_value); + return -EINVAL; + } else { + hdd_ctx->config->enableModulatedDTIM = set_value; + } + break; + } default: { hdd_err("Invalid sub command %d", @@ -13230,6 +13264,10 @@ static const struct iw_priv_args we_private_args[] = { IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "setConcSysPref" }, + {WE_SET_MODULATED_DTIM, + IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, + 0, "setModDTIM" }, + {WLAN_PRIV_SET_NONE_GET_INT, 0, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, |
