1 /* 2 * Copyright (c) 2012-2019 The Linux Foundation. All rights reserved. 3 * 4 * Permission to use, copy, modify, and/or distribute this software for 5 * any purpose with or without fee is hereby granted, provided that the 6 * above copyright notice and this permission notice appear in all 7 * copies. 8 * 9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL 10 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED 11 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE 12 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL 13 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR 14 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 15 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 16 * PERFORMANCE OF THIS SOFTWARE. 17 */ 18 19 /** 20 * DOC: This file contains centralized definitions of power save related 21 * converged configurations. 22 */ 23 24 #ifndef __CFG_MLME_POWERSAVE_H 25 #define __CFG_MLME_POWERSAVE_H 26 27 /* 28 * <ini> 29 * gEnableImps - Enable/Disable IMPS 30 * @Min: 0 31 * @Max: 1 32 * @Default: 1 33 * 34 * This ini is used to enable/Disable IMPS(IdleModePowerSave) Mode 35 * 36 * Related: None 37 * 38 * Supported Feature: Power Save 39 * 40 * Usage: External 41 * 42 * </ini> 43 */ 44 #define CFG_ENABLE_IMPS CFG_INI_BOOL( \ 45 "gEnableImps", \ 46 1,\ 47 "Enable/disable IMPS") 48 49 /* 50 * <ini> 51 * gEnableBmps - Enable/Disable BMPS 52 * @Min: 0 53 * @Max: 1 54 * @Default: 1 55 * 56 * This ini is used to enable/Disable BMPS(BeaconModePowerSave) Mode 57 * 58 * Related: None 59 * 60 * Supported Feature: Power Save 61 * 62 * Usage: External 63 * 64 * </ini> 65 */ 66 #define CFG_ENABLE_PS CFG_INI_BOOL( \ 67 "gEnableBmps", \ 68 1,\ 69 "Enable/disable BMPS") 70 71 /* 72 * <ini> 73 * gAutoBmpsTimerValue - Set Auto BMPS Timer value 74 * @Min: 0 75 * @Max: 1000 76 * @Default: 600 77 * 78 * This ini is used to set Auto BMPS Timer value in seconds 79 * 80 * Related: gEnableBmps 81 * 82 * Supported Feature: Power Save 83 * 84 * Usage: External 85 * 86 * </ini> 87 */ 88 #define CFG_AUTO_BMPS_ENABLE_TIMER CFG_INI_UINT( \ 89 "gAutoBmpsTimerValue", \ 90 0, \ 91 1000, \ 92 600, \ 93 CFG_VALUE_OR_DEFAULT, \ 94 "Auto BMPS Timer value") 95 96 /* 97 * <ini> 98 * gBmpsMinListenInterval - Set BMPS Minimum Listen Interval 99 * @Min: 1 100 * @Max: 65535 101 * @Default: 1 102 * 103 * This ini is used to set BMPS Minimum Listen Interval. If gPowerUsage 104 * is set "Min", this INI need to be set. 105 * 106 * Related: gEnableBmps, gPowerUsage 107 * 108 * Supported Feature: Power Save 109 * 110 * Usage: External 111 * 112 * </ini> 113 */ 114 #define CFG_BMPS_MINIMUM_LI CFG_INI_UINT( \ 115 "gBmpsMinListenInterval", \ 116 1, \ 117 65535, \ 118 1, \ 119 CFG_VALUE_OR_DEFAULT, \ 120 "BMPS Minimum Listen Interval") 121 122 /* 123 * <ini> 124 * gBmpsMaxListenInterval - Set BMPS Maximum Listen Interval 125 * @Min: 1 126 * @Max: 65535 127 * @Default: 1 128 * 129 * This ini is used to set BMPS Maximum Listen Interval. If gPowerUsage 130 * is set "Max", this INI need to be set. 131 * 132 * Related: gEnableBmps, gPowerUsage 133 * 134 * Supported Feature: Power Save 135 * 136 * Usage: External 137 * 138 * </ini> 139 */ 140 #define CFG_BMPS_MAXIMUM_LI CFG_INI_UINT( \ 141 "gBmpsMaxListenInterval", \ 142 1, \ 143 65535, \ 144 1, \ 145 CFG_VALUE_OR_DEFAULT, \ 146 "BMPS Maximum Listen Interval") 147 148 /* 149 * <ini> 150 * gEnableDTIMSelectionDiversity - Enable/Disable chain 151 * selection optimization for one chain dtim 152 * @Min: 0 153 * @Max: 30 154 * @Default: 5 155 * 156 * Usage: External 157 * 158 * </ini> 159 */ 160 #define CFG_DTIM_SELECTION_DIVERSITY CFG_INI_UINT( \ 161 "gEnableDTIMSelectionDiversity", \ 162 0, \ 163 30, \ 164 5, \ 165 CFG_VALUE_OR_DEFAULT, \ 166 "Chain selection diversity value") 167 168 #define CFG_POWERSAVE_ALL \ 169 CFG(CFG_ENABLE_IMPS) \ 170 CFG(CFG_ENABLE_PS) \ 171 CFG(CFG_AUTO_BMPS_ENABLE_TIMER) \ 172 CFG(CFG_BMPS_MINIMUM_LI) \ 173 CFG(CFG_BMPS_MAXIMUM_LI) \ 174 CFG(CFG_DTIM_SELECTION_DIVERSITY) 175 176 #endif /* __CFG_MLME_POWERSAVE_H */ 177