1 /* 2 * Copyright (c) 2018-2020 The Linux Foundation. All rights reserved. 3 * Copyright (c) 2021-2024 Qualcomm Innovation Center, Inc. All rights reserved. 4 * 5 * Permission to use, copy, modify, and/or distribute this software for 6 * any purpose with or without fee is hereby granted, provided that the 7 * above copyright notice and this permission notice appear in all 8 * copies. 9 * 10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL 11 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED 12 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE 13 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL 14 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR 15 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 16 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 17 * PERFORMANCE OF THIS SOFTWARE. 18 */ 19 20 #if !defined(CONFIG_P2P_H__) 21 #define CONFIG_P2P_H__ 22 23 #include "cfg_define.h" 24 #include "cfg_converged.h" 25 #include "qdf_types.h" 26 27 /* 28 * <ini> 29 * gGoKeepAlivePeriod - P2P GO keep alive period. 30 * @Min: 1 31 * @Max: 65535 32 * @Default: 20 33 * 34 * This is P2P GO keep alive period. 35 * 36 * Related: None. 37 * 38 * Supported Feature: P2P 39 * 40 * Usage: External 41 * 42 * </ini> 43 */ 44 #define CFG_GO_KEEP_ALIVE_PERIOD CFG_INI_UINT( \ 45 "gGoKeepAlivePeriod", \ 46 1, \ 47 65535, \ 48 20, \ 49 CFG_VALUE_OR_DEFAULT, \ 50 "P2P GO keep alive period") 51 52 /* 53 * <ini> 54 * gGoLinkMonitorPeriod - period where link is idle and where 55 * we send NULL frame 56 * @Min: 3 57 * @Max: 50 58 * @Default: 10 59 * 60 * This is period where link is idle and where we send NULL frame for P2P GO. 61 * 62 * Related: None. 63 * 64 * Supported Feature: P2P 65 * 66 * Usage: External 67 * 68 * </ini> 69 */ 70 #define CFG_GO_LINK_MONITOR_PERIOD CFG_INI_UINT( \ 71 "gGoLinkMonitorPeriod", \ 72 3, \ 73 50, \ 74 10, \ 75 CFG_VALUE_OR_DEFAULT, \ 76 "period where link is idle and where we send NULL frame") 77 78 /* 79 * <ini> 80 * isP2pDeviceAddrAdministrated - Enables to derive the P2P MAC address from 81 * the primary MAC address 82 * @Min: 0 83 * @Max: 1 84 * @Default: 1 85 * 86 * This ini is used to enable/disable to derive the P2P MAC address from the 87 * primary MAC address. 88 * 89 * Related: None. 90 * 91 * Supported Feature: P2P 92 * 93 * Usage: External 94 * 95 * </ini> 96 */ 97 #define CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED CFG_INI_BOOL( \ 98 "isP2pDeviceAddrAdministrated", \ 99 1, \ 100 "derive the P2P MAC address from the primary MAC address") 101 102 /* 103 * <ini> 104 * action_frame_random_seq_num_enabled - Enables random sequence number 105 * generation for action frames 106 * @Min: 0 107 * @Max: 1 108 * @Default: 1 109 * 110 * This ini is used to enable/disable random sequence number generation for 111 * action frames. 112 * 113 * Related: None. 114 * 115 * Supported Feature: P2P 116 * 117 * Usage: external 118 * 119 * </ini> 120 */ 121 #define CFG_ACTION_FRAME_RANDOM_SEQ_NUM_ENABLED CFG_INI_BOOL( \ 122 "action_frame_random_seq_num_enabled", \ 123 1, \ 124 "Enable random seq nums for action frames") 125 126 /* 127 * <ini> 128 * p2p_go_on_5ghz_indoor_chan - Allow P2P GO to operate on 5 GHz indoor channels 129 * 130 * @Min: 0 131 * @Max: 1 132 * @Default: 0 133 * 134 * This ini is used to enable/disable P2P-GO operation on 5 GHz 135 * indoor channels. 136 * 137 * Related: sta_sap_scc_on_indoor_channel, gindoor_channel_support 138 * 139 * Supported Feature: P2P GO 140 * 141 * Usage: external 142 * 143 * </ini> 144 */ 145 #define CFG_P2P_GO_ON_5GHZ_INDOOR_CHANNEL CFG_INI_BOOL(\ 146 "p2p_go_on_5ghz_indoor_chan", \ 147 0, \ 148 "Allow P2P GO on 5 GHz indoor channels") 149 150 /* 151 * <ini> 152 * p2p_go_ignore_non_p2p_probe_req - P2P GO ignore non-P2P probe req 153 * 154 * @Min: 0 155 * @Max: 1 156 * @Default: 0 157 * 158 * This ini is used to enable/disable P2P GO ignore non-P2P probe req and don't 159 * send probe rsp to non-p2p device like STA. 160 * 161 * 162 * Supported Feature: P2P GO 163 * 164 * Usage: external 165 * 166 * </ini> 167 */ 168 #define CFG_GO_IGNORE_NON_P2P_PROBE_REQ CFG_INI_BOOL(\ 169 "go_ignore_non_p2p_probe_req", \ 170 0, \ 171 "P2P GO ignore non-P2P probe req") 172 173 #define CFG_P2P_ALL \ 174 CFG(CFG_ACTION_FRAME_RANDOM_SEQ_NUM_ENABLED) \ 175 CFG(CFG_GO_KEEP_ALIVE_PERIOD) \ 176 CFG(CFG_GO_LINK_MONITOR_PERIOD) \ 177 CFG(CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED) \ 178 CFG(CFG_P2P_GO_ON_5GHZ_INDOOR_CHANNEL) \ 179 CFG(CFG_GO_IGNORE_NON_P2P_PROBE_REQ) 180 181 #endif 182