1*5113495bSYour Name /* 2*5113495bSYour Name * Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved. 3*5113495bSYour Name * 4*5113495bSYour Name * Permission to use, copy, modify, and/or distribute this software for 5*5113495bSYour Name * any purpose with or without fee is hereby granted, provided that the 6*5113495bSYour Name * above copyright notice and this permission notice appear in all 7*5113495bSYour Name * copies. 8*5113495bSYour Name * 9*5113495bSYour Name * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL 10*5113495bSYour Name * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED 11*5113495bSYour Name * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE 12*5113495bSYour Name * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL 13*5113495bSYour Name * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR 14*5113495bSYour Name * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 15*5113495bSYour Name * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 16*5113495bSYour Name * PERFORMANCE OF THIS SOFTWARE. 17*5113495bSYour Name */ 18*5113495bSYour Name 19*5113495bSYour Name #ifndef WLAN_DP_CFG_H__ 20*5113495bSYour Name #define WLAN_DP_CFG_H__ 21*5113495bSYour Name 22*5113495bSYour Name #define CFG_DP_RPS_RX_QUEUE_CPU_MAP_LIST_LEN 30 23*5113495bSYour Name 24*5113495bSYour Name #ifdef CONFIG_DP_TRACE 25*5113495bSYour Name /* Max length of gDptraceConfig string. e.g.- "1, 6, 1, 62" */ 26*5113495bSYour Name #define DP_TRACE_CONFIG_STRING_LENGTH (20) 27*5113495bSYour Name 28*5113495bSYour Name /* At max 4 DP Trace config parameters are allowed. Refer - gDptraceConfig */ 29*5113495bSYour Name #define DP_TRACE_CONFIG_NUM_PARAMS (4) 30*5113495bSYour Name 31*5113495bSYour Name /* 32*5113495bSYour Name * Default value of live mode in case it cannot be determined from cfg string 33*5113495bSYour Name * gDptraceConfig 34*5113495bSYour Name */ 35*5113495bSYour Name #define DP_TRACE_CONFIG_DEFAULT_LIVE_MODE (1) 36*5113495bSYour Name 37*5113495bSYour Name /* 38*5113495bSYour Name * Default value of thresh (packets/second) beyond which DP Trace is disabled. 39*5113495bSYour Name * Use this default in case the value cannot be determined from cfg string 40*5113495bSYour Name * gDptraceConfig 41*5113495bSYour Name */ 42*5113495bSYour Name #define DP_TRACE_CONFIG_DEFAULT_THRESH (6) 43*5113495bSYour Name 44*5113495bSYour Name /* 45*5113495bSYour Name * Number of intervals of BW timer to wait before enabling/disabling DP Trace. 46*5113495bSYour Name * Since throughput threshold to disable live logging for DP Trace is very low, 47*5113495bSYour Name * we calculate throughput based on # packets received in a second. 48*5113495bSYour Name * For example assuming bandwidth timer interval is 100ms, and if more than 6 49*5113495bSYour Name * prints are received in 10 * 100 ms interval, we want to disable DP Trace 50*5113495bSYour Name * live logging. DP_TRACE_CONFIG_DEFAULT_THRESH_TIME_LIMIT is the default 51*5113495bSYour Name * value, to be used in case the real value cannot be derived from 52*5113495bSYour Name * bw timer interval 53*5113495bSYour Name */ 54*5113495bSYour Name #define DP_TRACE_CONFIG_DEFAULT_THRESH_TIME_LIMIT (10) 55*5113495bSYour Name 56*5113495bSYour Name /* Default proto bitmap in case its missing in gDptraceConfig string */ 57*5113495bSYour Name #define DP_TRACE_CONFIG_DEFAULT_BITMAP \ 58*5113495bSYour Name (QDF_NBUF_PKT_TRAC_TYPE_EAPOL |\ 59*5113495bSYour Name QDF_NBUF_PKT_TRAC_TYPE_DHCP |\ 60*5113495bSYour Name QDF_NBUF_PKT_TRAC_TYPE_MGMT_ACTION |\ 61*5113495bSYour Name QDF_NBUF_PKT_TRAC_TYPE_ARP |\ 62*5113495bSYour Name QDF_NBUF_PKT_TRAC_TYPE_ICMP |\ 63*5113495bSYour Name QDF_NBUF_PKT_TRAC_TYPE_ICMPv6)\ 64*5113495bSYour Name 65*5113495bSYour Name /* Default verbosity, in case its missing in gDptraceConfig string*/ 66*5113495bSYour Name #define DP_TRACE_CONFIG_DEFAULT_VERBOSTY QDF_DP_TRACE_VERBOSITY_LOW 67*5113495bSYour Name 68*5113495bSYour Name #endif 69*5113495bSYour Name 70*5113495bSYour Name #define CFG_ENABLE_RX_THREAD BIT(0) 71*5113495bSYour Name #define CFG_ENABLE_RPS BIT(1) 72*5113495bSYour Name #define CFG_ENABLE_NAPI BIT(2) 73*5113495bSYour Name #define CFG_ENABLE_DYNAMIC_RPS BIT(3) 74*5113495bSYour Name #define CFG_ENABLE_DP_RX_THREADS BIT(4) 75*5113495bSYour Name #define CFG_RX_MODE_MAX (CFG_ENABLE_RX_THREAD | \ 76*5113495bSYour Name CFG_ENABLE_RPS | \ 77*5113495bSYour Name CFG_ENABLE_NAPI | \ 78*5113495bSYour Name CFG_ENABLE_DYNAMIC_RPS | \ 79*5113495bSYour Name CFG_ENABLE_DP_RX_THREADS) 80*5113495bSYour Name #ifdef MDM_PLATFORM 81*5113495bSYour Name #define CFG_RX_MODE_DEFAULT 0 82*5113495bSYour Name #elif defined(HELIUMPLUS) 83*5113495bSYour Name #define CFG_RX_MODE_DEFAULT CFG_ENABLE_NAPI 84*5113495bSYour Name #endif 85*5113495bSYour Name 86*5113495bSYour Name #ifndef CFG_RX_MODE_DEFAULT 87*5113495bSYour Name #if defined(FEATURE_WLAN_DP_RX_THREADS) 88*5113495bSYour Name #define CFG_RX_MODE_DEFAULT (CFG_ENABLE_DP_RX_THREADS | CFG_ENABLE_NAPI) 89*5113495bSYour Name #else 90*5113495bSYour Name #define CFG_RX_MODE_DEFAULT (CFG_ENABLE_RX_THREAD | CFG_ENABLE_NAPI) 91*5113495bSYour Name #endif 92*5113495bSYour Name #endif 93*5113495bSYour Name 94*5113495bSYour Name /* Max # of packets to be processed in 1 tx comp loop */ 95*5113495bSYour Name #define CFG_DP_TX_COMP_LOOP_PKT_LIMIT_DEFAULT 64 96*5113495bSYour Name #define CFG_DP_TX_COMP_LOOP_PKT_LIMIT_MAX (1024 * 1024) 97*5113495bSYour Name 98*5113495bSYour Name /*Max # of packets to be processed in 1 rx reap loop */ 99*5113495bSYour Name #define CFG_DP_RX_REAP_LOOP_PKT_LIMIT_DEFAULT 64 100*5113495bSYour Name #define CFG_DP_RX_REAP_LOOP_PKT_LIMIT_MAX (1024 * 1024) 101*5113495bSYour Name 102*5113495bSYour Name /* Max # of HP OOS (out of sync) updates */ 103*5113495bSYour Name #define CFG_DP_RX_HP_OOS_UPDATE_LIMIT_DEFAULT 0 104*5113495bSYour Name #define CFG_DP_RX_HP_OOS_UPDATE_LIMIT_MAX 1024 105*5113495bSYour Name 106*5113495bSYour Name /* Max Yield time duration for RX Softirq */ 107*5113495bSYour Name #define CFG_DP_RX_SOFTIRQ_MAX_YIELD_TIME_NS_DEFAULT (500 * 1000) 108*5113495bSYour Name #define CFG_DP_RX_SOFTIRQ_MAX_YIELD_TIME_NS_MAX (10 * 1000 * 1000) 109*5113495bSYour Name 110*5113495bSYour Name #ifdef WLAN_FEATURE_DP_BUS_BANDWIDTH 111*5113495bSYour Name /* 112*5113495bSYour Name * <ini> 113*5113495bSYour Name * gBusBandwidthSuperHighThreshold - bus bandwidth super high threshold 114*5113495bSYour Name * 115*5113495bSYour Name * @Min: 0 116*5113495bSYour Name * @Max: 4294967295UL 117*5113495bSYour Name * @Default: 22000 118*5113495bSYour Name * 119*5113495bSYour Name * This ini specifies the bus bandwidth super high threshold 120*5113495bSYour Name * 121*5113495bSYour Name * Usage: Internal 122*5113495bSYour Name * 123*5113495bSYour Name * </ini> 124*5113495bSYour Name */ 125*5113495bSYour Name #define CFG_DP_BUS_BANDWIDTH_SUPER_HIGH_THRESHOLD \ 126*5113495bSYour Name CFG_INI_UINT( \ 127*5113495bSYour Name "gBusBandwidthSuperHighThreshold", \ 128*5113495bSYour Name 0, \ 129*5113495bSYour Name 4294967295UL, \ 130*5113495bSYour Name 22000, \ 131*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 132*5113495bSYour Name "Bus bandwidth super high threshold") 133*5113495bSYour Name 134*5113495bSYour Name /* 135*5113495bSYour Name * <ini> 136*5113495bSYour Name * gBusBandwidthUltraHighThreshold - bus bandwidth ultra high threshold 137*5113495bSYour Name * 138*5113495bSYour Name * @Min: 0 139*5113495bSYour Name * @Max: 4294967295UL 140*5113495bSYour Name * @Default: 12000 141*5113495bSYour Name * 142*5113495bSYour Name * This ini specifies the bus bandwidth very high threshold 143*5113495bSYour Name * 144*5113495bSYour Name * Usage: Internal 145*5113495bSYour Name * 146*5113495bSYour Name * </ini> 147*5113495bSYour Name */ 148*5113495bSYour Name #define CFG_DP_BUS_BANDWIDTH_ULTRA_HIGH_THRESHOLD \ 149*5113495bSYour Name CFG_INI_UINT( \ 150*5113495bSYour Name "gBusBandwidthUltraHighThreshold", \ 151*5113495bSYour Name 0, \ 152*5113495bSYour Name 4294967295UL, \ 153*5113495bSYour Name 12000, \ 154*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 155*5113495bSYour Name "Bus bandwidth ultra high threshold") 156*5113495bSYour Name 157*5113495bSYour Name /* 158*5113495bSYour Name * <ini> 159*5113495bSYour Name * gBusBandwidthVeryHighThreshold - bus bandwidth very high threshold 160*5113495bSYour Name * 161*5113495bSYour Name * @Min: 0 162*5113495bSYour Name * @Max: 4294967295UL 163*5113495bSYour Name * @Default: 10000 164*5113495bSYour Name * 165*5113495bSYour Name * This ini specifies the bus bandwidth very high threshold 166*5113495bSYour Name * 167*5113495bSYour Name * Usage: Internal 168*5113495bSYour Name * 169*5113495bSYour Name * </ini> 170*5113495bSYour Name */ 171*5113495bSYour Name #define CFG_DP_BUS_BANDWIDTH_VERY_HIGH_THRESHOLD \ 172*5113495bSYour Name CFG_INI_UINT( \ 173*5113495bSYour Name "gBusBandwidthVeryHighThreshold", \ 174*5113495bSYour Name 0, \ 175*5113495bSYour Name 4294967295UL, \ 176*5113495bSYour Name 10000, \ 177*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 178*5113495bSYour Name "Bus bandwidth very high threshold") 179*5113495bSYour Name 180*5113495bSYour Name /* 181*5113495bSYour Name * <ini> 182*5113495bSYour Name * gBusBandwidthMidHighThreshold - bus bandwidth high HE cases threshold 183*5113495bSYour Name * 184*5113495bSYour Name * @Min: 0 185*5113495bSYour Name * @Max: 4294967295UL 186*5113495bSYour Name * @Default: 0 187*5113495bSYour Name * 188*5113495bSYour Name * This ini specifies the bus bandwidth high HE cases threshold 189*5113495bSYour Name * 190*5113495bSYour Name * Usage: Internal 191*5113495bSYour Name * 192*5113495bSYour Name * </ini> 193*5113495bSYour Name */ 194*5113495bSYour Name #define CFG_DP_BUS_BANDWIDTH_MID_HIGH_THRESHOLD \ 195*5113495bSYour Name CFG_INI_UINT( \ 196*5113495bSYour Name "gBusBandwidthMidHighThreshold", \ 197*5113495bSYour Name 0, \ 198*5113495bSYour Name 4294967295UL, \ 199*5113495bSYour Name 0, \ 200*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 201*5113495bSYour Name "Bus bandwidth high threshold") 202*5113495bSYour Name 203*5113495bSYour Name /* 204*5113495bSYour Name * <ini> 205*5113495bSYour Name * gBusBandwidthDBSThreshold - bus bandwidth for DBS mode threshold 206*5113495bSYour Name * 207*5113495bSYour Name * @Min: 0 208*5113495bSYour Name * @Max: 4294967295UL 209*5113495bSYour Name * @Default: 6000 210*5113495bSYour Name * 211*5113495bSYour Name * This ini specifies the bus bandwidth high threshold 212*5113495bSYour Name * 213*5113495bSYour Name * Usage: Internal 214*5113495bSYour Name * 215*5113495bSYour Name * </ini> 216*5113495bSYour Name */ 217*5113495bSYour Name #define CFG_DP_BUS_BANDWIDTH_DBS_THRESHOLD \ 218*5113495bSYour Name CFG_INI_UINT( \ 219*5113495bSYour Name "gBusBandwidthDBSThreshold", \ 220*5113495bSYour Name 0, \ 221*5113495bSYour Name 4294967295UL, \ 222*5113495bSYour Name 6000, \ 223*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 224*5113495bSYour Name "Bus bandwidth DBS mode threshold") 225*5113495bSYour Name /* 226*5113495bSYour Name * <ini> 227*5113495bSYour Name * gBusBandwidthHighThreshold - bus bandwidth high threshold 228*5113495bSYour Name * 229*5113495bSYour Name * @Min: 0 230*5113495bSYour Name * @Max: 4294967295UL 231*5113495bSYour Name * @Default: 2000 232*5113495bSYour Name * 233*5113495bSYour Name * This ini specifies the bus bandwidth high threshold 234*5113495bSYour Name * 235*5113495bSYour Name * Usage: Internal 236*5113495bSYour Name * 237*5113495bSYour Name * </ini> 238*5113495bSYour Name */ 239*5113495bSYour Name #define CFG_DP_BUS_BANDWIDTH_HIGH_THRESHOLD \ 240*5113495bSYour Name CFG_INI_UINT( \ 241*5113495bSYour Name "gBusBandwidthHighThreshold", \ 242*5113495bSYour Name 0, \ 243*5113495bSYour Name 4294967295UL, \ 244*5113495bSYour Name 2000, \ 245*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 246*5113495bSYour Name "Bus bandwidth high threshold") 247*5113495bSYour Name 248*5113495bSYour Name /* 249*5113495bSYour Name * <ini> 250*5113495bSYour Name * gBusBandwidthMediumThreshold - bus bandwidth medium threshold 251*5113495bSYour Name * 252*5113495bSYour Name * @Min: 0 253*5113495bSYour Name * @Max: 4294967295UL 254*5113495bSYour Name * @Default: 500 255*5113495bSYour Name * 256*5113495bSYour Name * This ini specifies the bus bandwidth medium threshold 257*5113495bSYour Name * 258*5113495bSYour Name * Usage: Internal 259*5113495bSYour Name * 260*5113495bSYour Name * </ini> 261*5113495bSYour Name */ 262*5113495bSYour Name #define CFG_DP_BUS_BANDWIDTH_MEDIUM_THRESHOLD \ 263*5113495bSYour Name CFG_INI_UINT( \ 264*5113495bSYour Name "gBusBandwidthMediumThreshold", \ 265*5113495bSYour Name 0, \ 266*5113495bSYour Name 4294967295UL, \ 267*5113495bSYour Name 500, \ 268*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 269*5113495bSYour Name "Bus bandwidth medium threshold") 270*5113495bSYour Name 271*5113495bSYour Name /* 272*5113495bSYour Name * <ini> 273*5113495bSYour Name * gBusBandwidthLowThreshold - bus bandwidth low threshold 274*5113495bSYour Name * 275*5113495bSYour Name * @Min: 0 276*5113495bSYour Name * @Max: 4294967295UL 277*5113495bSYour Name * @Default: 150 278*5113495bSYour Name * 279*5113495bSYour Name * This ini specifies the bus bandwidth low threshold 280*5113495bSYour Name * 281*5113495bSYour Name * Usage: Internal 282*5113495bSYour Name * 283*5113495bSYour Name * </ini> 284*5113495bSYour Name */ 285*5113495bSYour Name #define CFG_DP_BUS_BANDWIDTH_LOW_THRESHOLD \ 286*5113495bSYour Name CFG_INI_UINT( \ 287*5113495bSYour Name "gBusBandwidthLowThreshold", \ 288*5113495bSYour Name 0, \ 289*5113495bSYour Name 4294967295UL, \ 290*5113495bSYour Name 150, \ 291*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 292*5113495bSYour Name "Bus bandwidth low threshold") 293*5113495bSYour Name 294*5113495bSYour Name /* 295*5113495bSYour Name * <ini> 296*5113495bSYour Name * gBusBandwidthComputeInterval - bus bandwidth compute interval 297*5113495bSYour Name * 298*5113495bSYour Name * @Min: 0 299*5113495bSYour Name * @Max: 10000 300*5113495bSYour Name * @Default: 100 301*5113495bSYour Name * 302*5113495bSYour Name * This ini specifies thebus bandwidth compute interval 303*5113495bSYour Name * 304*5113495bSYour Name * Usage: Internal 305*5113495bSYour Name * 306*5113495bSYour Name * </ini> 307*5113495bSYour Name */ 308*5113495bSYour Name #define CFG_DP_BUS_BANDWIDTH_COMPUTE_INTERVAL \ 309*5113495bSYour Name CFG_INI_UINT( \ 310*5113495bSYour Name "gBusBandwidthComputeInterval", \ 311*5113495bSYour Name 0, \ 312*5113495bSYour Name 10000, \ 313*5113495bSYour Name 100, \ 314*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 315*5113495bSYour Name "Bus bandwidth compute interval") 316*5113495bSYour Name 317*5113495bSYour Name /* 318*5113495bSYour Name * <ini> 319*5113495bSYour Name * gTcpLimitOutputEnable - Control to enable TCP limit output byte 320*5113495bSYour Name * @Default: true 321*5113495bSYour Name * 322*5113495bSYour Name * This ini is used to enable dynamic configuration of TCP limit output bytes 323*5113495bSYour Name * tcp_limit_output_bytes param. Enabling this will let driver post message to 324*5113495bSYour Name * cnss-daemon, accordingly cnss-daemon will modify the tcp_limit_output_bytes. 325*5113495bSYour Name * 326*5113495bSYour Name * Supported Feature: Tcp limit output bytes 327*5113495bSYour Name * 328*5113495bSYour Name * Usage: Internal 329*5113495bSYour Name * 330*5113495bSYour Name * </ini> 331*5113495bSYour Name */ 332*5113495bSYour Name #define CFG_DP_ENABLE_TCP_LIMIT_OUTPUT \ 333*5113495bSYour Name CFG_INI_BOOL( \ 334*5113495bSYour Name "gTcpLimitOutputEnable", \ 335*5113495bSYour Name true, \ 336*5113495bSYour Name "Control to enable TCP limit output byte") 337*5113495bSYour Name 338*5113495bSYour Name /* 339*5113495bSYour Name * <ini> 340*5113495bSYour Name * gTcpAdvWinScaleEnable - Control to enable TCP adv window scaling 341*5113495bSYour Name * @Default: true 342*5113495bSYour Name * 343*5113495bSYour Name * This ini is used to enable dynamic configuration of TCP adv window scaling 344*5113495bSYour Name * system parameter. 345*5113495bSYour Name * 346*5113495bSYour Name * Supported Feature: Tcp Advance Window Scaling 347*5113495bSYour Name * 348*5113495bSYour Name * Usage: Internal 349*5113495bSYour Name * 350*5113495bSYour Name * </ini> 351*5113495bSYour Name */ 352*5113495bSYour Name #define CFG_DP_ENABLE_TCP_ADV_WIN_SCALE \ 353*5113495bSYour Name CFG_INI_BOOL( \ 354*5113495bSYour Name "gTcpAdvWinScaleEnable", \ 355*5113495bSYour Name true, \ 356*5113495bSYour Name "Control to enable TCP adv window scaling") 357*5113495bSYour Name 358*5113495bSYour Name /* 359*5113495bSYour Name * <ini> 360*5113495bSYour Name * gTcpDelAckEnable - Control to enable Dynamic Configuration of Tcp Delayed Ack 361*5113495bSYour Name * @Default: true 362*5113495bSYour Name * 363*5113495bSYour Name * This ini is used to enable Dynamic Configuration of Tcp Delayed Ack 364*5113495bSYour Name * 365*5113495bSYour Name * Related: gTcpDelAckThresholdHigh, gTcpDelAckThresholdLow, 366*5113495bSYour Name * gTcpDelAckTimerCount 367*5113495bSYour Name * 368*5113495bSYour Name * Supported Feature: Tcp Delayed Ack 369*5113495bSYour Name * 370*5113495bSYour Name * Usage: Internal 371*5113495bSYour Name * 372*5113495bSYour Name * </ini> 373*5113495bSYour Name */ 374*5113495bSYour Name #define CFG_DP_ENABLE_TCP_DELACK \ 375*5113495bSYour Name CFG_INI_BOOL( \ 376*5113495bSYour Name "gTcpDelAckEnable", \ 377*5113495bSYour Name true, \ 378*5113495bSYour Name "Control to enable Dynamic Config of Tcp Delayed Ack") 379*5113495bSYour Name 380*5113495bSYour Name /* 381*5113495bSYour Name * <ini> 382*5113495bSYour Name * gTcpDelAckThresholdHigh - High Threshold inorder to trigger TCP Del Ack 383*5113495bSYour Name * indication 384*5113495bSYour Name * @Min: 0 385*5113495bSYour Name * @Max: 16000 386*5113495bSYour Name * @Default: 500 387*5113495bSYour Name * 388*5113495bSYour Name * This ini is used to mention the High Threshold inorder to trigger TCP Del Ack 389*5113495bSYour Name * indication i.e the threshold of packets received over a period of 100 ms. 390*5113495bSYour Name * i.e to have a low RX throughput requirement 391*5113495bSYour Name * Related: gTcpDelAckEnable, gTcpDelAckThresholdLow, gTcpDelAckTimerCount 392*5113495bSYour Name * 393*5113495bSYour Name * Supported Feature: Tcp Delayed Ack 394*5113495bSYour Name * 395*5113495bSYour Name * Usage: Internal 396*5113495bSYour Name * 397*5113495bSYour Name * </ini> 398*5113495bSYour Name */ 399*5113495bSYour Name #define CFG_DP_TCP_DELACK_THRESHOLD_HIGH \ 400*5113495bSYour Name CFG_INI_UINT( \ 401*5113495bSYour Name "gTcpDelAckThresholdHigh", \ 402*5113495bSYour Name 0, \ 403*5113495bSYour Name 16000, \ 404*5113495bSYour Name 500, \ 405*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 406*5113495bSYour Name "High Threshold inorder to trigger TCP Del Ack") 407*5113495bSYour Name 408*5113495bSYour Name /* 409*5113495bSYour Name * <ini> 410*5113495bSYour Name * gTcpDelAckThresholdLow - Low Threshold inorder to trigger TCP Del Ack 411*5113495bSYour Name * indication 412*5113495bSYour Name * @Min: 0 413*5113495bSYour Name * @Max: 10000 414*5113495bSYour Name * @Default: 1000 415*5113495bSYour Name * 416*5113495bSYour Name * This ini is used to mention the Low Threshold inorder to trigger TCP Del Ack 417*5113495bSYour Name * indication i.e the threshold of packets received over a period of 100 ms. 418*5113495bSYour Name * i.e to have a low RX throughput requirement 419*5113495bSYour Name * 420*5113495bSYour Name * Related: gTcpDelAckEnable, gTcpDelAckThresholdHigh, gTcpDelAckTimerCount 421*5113495bSYour Name * 422*5113495bSYour Name * Supported Feature: Tcp Delayed Ack 423*5113495bSYour Name * 424*5113495bSYour Name * Usage: Internal 425*5113495bSYour Name * 426*5113495bSYour Name * </ini> 427*5113495bSYour Name */ 428*5113495bSYour Name #define CFG_DP_TCP_DELACK_THRESHOLD_LOW \ 429*5113495bSYour Name CFG_INI_UINT( \ 430*5113495bSYour Name "gTcpDelAckThresholdLow", \ 431*5113495bSYour Name 0, \ 432*5113495bSYour Name 10000, \ 433*5113495bSYour Name 1000, \ 434*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 435*5113495bSYour Name "Low Threshold inorder to trigger TCP Del Ack") 436*5113495bSYour Name 437*5113495bSYour Name /* 438*5113495bSYour Name * <ini> 439*5113495bSYour Name * gTcpDelAckTimerCount - Del Ack Timer Count inorder to trigger TCP Del Ack 440*5113495bSYour Name * indication 441*5113495bSYour Name * @Min: 1 442*5113495bSYour Name * @Max: 1000 443*5113495bSYour Name * @Default: 30 444*5113495bSYour Name * 445*5113495bSYour Name * This ini is used to mention the Del Ack Timer Count inorder to 446*5113495bSYour Name * trigger TCP Del Ack indication i.e number of 100 ms periods 447*5113495bSYour Name * 448*5113495bSYour Name * Related: gTcpDelAckEnable, gTcpDelAckThresholdHigh, gTcpDelAckThresholdLow 449*5113495bSYour Name * 450*5113495bSYour Name * Supported Feature: Tcp Delayed Ack 451*5113495bSYour Name * 452*5113495bSYour Name * Usage: Internal 453*5113495bSYour Name * 454*5113495bSYour Name * </ini> 455*5113495bSYour Name */ 456*5113495bSYour Name #define CFG_DP_TCP_DELACK_TIMER_COUNT \ 457*5113495bSYour Name CFG_INI_UINT( \ 458*5113495bSYour Name "gTcpDelAckTimerCount", \ 459*5113495bSYour Name 1, \ 460*5113495bSYour Name 1000, \ 461*5113495bSYour Name 30, \ 462*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 463*5113495bSYour Name "Del Ack Timer Count inorder to trigger TCP Del Ack") 464*5113495bSYour Name 465*5113495bSYour Name /* 466*5113495bSYour Name * <ini> 467*5113495bSYour Name * gTcpTxHighTputThreshold - High Threshold inorder to trigger High 468*5113495bSYour Name * Tx Throughput requirement. 469*5113495bSYour Name * @Min: 0 470*5113495bSYour Name * @Max: 16000 471*5113495bSYour Name * @Default: 500 472*5113495bSYour Name * 473*5113495bSYour Name * This ini specifies the threshold of packets transmitted 474*5113495bSYour Name * over a period of 100 ms beyond which TCP can be considered to have a high 475*5113495bSYour Name * TX throughput requirement. The driver uses this condition to tweak TCP TX 476*5113495bSYour Name * specific parameters (via cnss-daemon) 477*5113495bSYour Name * 478*5113495bSYour Name * Supported Feature: To tweak TCP TX n/w parameters 479*5113495bSYour Name * 480*5113495bSYour Name * Usage: Internal 481*5113495bSYour Name * 482*5113495bSYour Name * </ini> 483*5113495bSYour Name */ 484*5113495bSYour Name #define CFG_DP_TCP_TX_HIGH_TPUT_THRESHOLD \ 485*5113495bSYour Name CFG_INI_UINT( \ 486*5113495bSYour Name "gTcpTxHighTputThreshold", \ 487*5113495bSYour Name 0, \ 488*5113495bSYour Name 16000, \ 489*5113495bSYour Name 500, \ 490*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 491*5113495bSYour Name "High Threshold inorder to trigger High Tx Tp") 492*5113495bSYour Name 493*5113495bSYour Name /* 494*5113495bSYour Name * <ini> 495*5113495bSYour Name * gBusLowTputCntThreshold - Threshold count to trigger low Tput 496*5113495bSYour Name * GRO flush skip 497*5113495bSYour Name * @Min: 0 498*5113495bSYour Name * @Max: 200 499*5113495bSYour Name * @Default: 10 500*5113495bSYour Name * 501*5113495bSYour Name * This ini is a threshold that if count of times for bus Tput level 502*5113495bSYour Name * PLD_BUS_WIDTH_LOW in bus_bw_timer() >= this threshold, will enable skipping 503*5113495bSYour Name * GRO flush, current default threshold is 10, then will delay GRO flush-skip 504*5113495bSYour Name * 1 second for low Tput level. 505*5113495bSYour Name * 506*5113495bSYour Name * Supported Feature: GRO flush skip when low T-put 507*5113495bSYour Name * 508*5113495bSYour Name * Usage: Internal 509*5113495bSYour Name * 510*5113495bSYour Name * </ini> 511*5113495bSYour Name */ 512*5113495bSYour Name #define CFG_DP_BUS_LOW_BW_CNT_THRESHOLD \ 513*5113495bSYour Name CFG_INI_UINT( \ 514*5113495bSYour Name "gBusLowTputCntThreshold", \ 515*5113495bSYour Name 0, \ 516*5113495bSYour Name 200, \ 517*5113495bSYour Name 10, \ 518*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 519*5113495bSYour Name "Threshold to trigger GRO flush skip for low T-put") 520*5113495bSYour Name 521*5113495bSYour Name /* 522*5113495bSYour Name * <ini> 523*5113495bSYour Name * gHandleLatencyCriticalClients - Enable the handling of latency critical 524*5113495bSYour Name * clients in bus bandwidth timer. 525*5113495bSYour Name * @Default: false 526*5113495bSYour Name * 527*5113495bSYour Name * This ini enables the handling of latency critical clients, eg: 11g/a 528*5113495bSYour Name * clients, when they are running their corresponding peak throughput. 529*5113495bSYour Name * 530*5113495bSYour Name * Supported Feature: Latency critical clients in host 531*5113495bSYour Name * 532*5113495bSYour Name * Usage: External 533*5113495bSYour Name * 534*5113495bSYour Name * </ini> 535*5113495bSYour Name */ 536*5113495bSYour Name #define CFG_DP_BUS_HANDLE_LATENCY_CRITICAL_CLIENTS \ 537*5113495bSYour Name CFG_INI_BOOL( \ 538*5113495bSYour Name "gHandleLatencyCriticalClients", \ 539*5113495bSYour Name false, \ 540*5113495bSYour Name "Control to enable latency critical clients") 541*5113495bSYour Name 542*5113495bSYour Name #endif /*WLAN_FEATURE_DP_BUS_BANDWIDTH*/ 543*5113495bSYour Name 544*5113495bSYour Name #ifdef QCA_SUPPORT_TXRX_DRIVER_TCP_DEL_ACK 545*5113495bSYour Name /* 546*5113495bSYour Name * <ini> 547*5113495bSYour Name * gDriverDelAckHighThreshold - High Threshold inorder to trigger TCP 548*5113495bSYour Name * delay ack feature in the host. 549*5113495bSYour Name * @Min: 0 550*5113495bSYour Name * @Max: 70000 551*5113495bSYour Name * @Default: 300 552*5113495bSYour Name * 553*5113495bSYour Name * This ini specifies the threshold of RX packets transmitted 554*5113495bSYour Name * over a period of 100 ms beyond which TCP delay ack can be enabled 555*5113495bSYour Name * to improve TCP RX throughput requirement. 556*5113495bSYour Name * 557*5113495bSYour Name * Supported Feature: Tcp Delayed Ack in the host 558*5113495bSYour Name * 559*5113495bSYour Name * Usage: Internal 560*5113495bSYour Name * 561*5113495bSYour Name * </ini> 562*5113495bSYour Name */ 563*5113495bSYour Name #define CFG_DP_DRIVER_TCP_DELACK_HIGH_THRESHOLD \ 564*5113495bSYour Name CFG_INI_UINT( \ 565*5113495bSYour Name "gDriverDelAckHighThreshold", \ 566*5113495bSYour Name 0, \ 567*5113495bSYour Name 70000, \ 568*5113495bSYour Name 300, \ 569*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 570*5113495bSYour Name "TCP delack high threshold") 571*5113495bSYour Name 572*5113495bSYour Name /* 573*5113495bSYour Name * <ini> 574*5113495bSYour Name * gDriverDelAckLowThreshold - Low Threshold inorder to disable TCP 575*5113495bSYour Name * delay ack feature in the host. 576*5113495bSYour Name * @Min: 0 577*5113495bSYour Name * @Max: 70000 578*5113495bSYour Name * @Default: 100 579*5113495bSYour Name * 580*5113495bSYour Name * This ini is used to mention the Low Threshold inorder to disable TCP Del 581*5113495bSYour Name * Ack feature in the host. 582*5113495bSYour Name * 583*5113495bSYour Name * Supported Feature: Tcp Delayed Ack in the host 584*5113495bSYour Name * 585*5113495bSYour Name * Usage: Internal 586*5113495bSYour Name * 587*5113495bSYour Name * </ini> 588*5113495bSYour Name */ 589*5113495bSYour Name #define CFG_DP_DRIVER_TCP_DELACK_LOW_THRESHOLD \ 590*5113495bSYour Name CFG_INI_UINT( \ 591*5113495bSYour Name "gDriverDelAckLowThreshold", \ 592*5113495bSYour Name 0, \ 593*5113495bSYour Name 70000, \ 594*5113495bSYour Name 100, \ 595*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 596*5113495bSYour Name "TCP delack low threshold") 597*5113495bSYour Name 598*5113495bSYour Name /* 599*5113495bSYour Name * <ini> 600*5113495bSYour Name * gDriverDelAckTimerValue - Timeout value (ms) to send out all TCP del 601*5113495bSYour Name * ack frames 602*5113495bSYour Name * @Min: 1 603*5113495bSYour Name * @Max: 15 604*5113495bSYour Name * @Default: 3 605*5113495bSYour Name * 606*5113495bSYour Name * This ini specifies the time out value to send out all pending TCP delay 607*5113495bSYour Name * ACK frames. 608*5113495bSYour Name * 609*5113495bSYour Name * Supported Feature: Tcp Delayed Ack in the host 610*5113495bSYour Name * 611*5113495bSYour Name * Usage: Internal 612*5113495bSYour Name * 613*5113495bSYour Name * </ini> 614*5113495bSYour Name */ 615*5113495bSYour Name #define CFG_DP_DRIVER_TCP_DELACK_TIMER_VALUE \ 616*5113495bSYour Name CFG_INI_UINT( \ 617*5113495bSYour Name "gDriverDelAckTimerValue", \ 618*5113495bSYour Name 1, \ 619*5113495bSYour Name 15, \ 620*5113495bSYour Name 3, \ 621*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 622*5113495bSYour Name "Send out all TCP Del Acks if time out") 623*5113495bSYour Name 624*5113495bSYour Name /* 625*5113495bSYour Name * <ini> 626*5113495bSYour Name * gDriverDelAckPktCount - The maximum number of TCP delay ack frames 627*5113495bSYour Name * @Min: 0 628*5113495bSYour Name * @Max: 50 629*5113495bSYour Name * @Default: 20 630*5113495bSYour Name * 631*5113495bSYour Name * This ini specifies the maximum number of TCP delayed ack frames. 632*5113495bSYour Name * 633*5113495bSYour Name * Supported Feature: Tcp Delayed Ack in the host 634*5113495bSYour Name * 635*5113495bSYour Name * Usage: Internal 636*5113495bSYour Name * 637*5113495bSYour Name * </ini> 638*5113495bSYour Name */ 639*5113495bSYour Name #define CFG_DP_DRIVER_TCP_DELACK_PKT_CNT \ 640*5113495bSYour Name CFG_INI_UINT( \ 641*5113495bSYour Name "gDriverDelAckPktCount", \ 642*5113495bSYour Name 0, \ 643*5113495bSYour Name 50, \ 644*5113495bSYour Name 20, \ 645*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 646*5113495bSYour Name "No of TCP Del ACK count") 647*5113495bSYour Name 648*5113495bSYour Name /* 649*5113495bSYour Name * <ini> 650*5113495bSYour Name * gDriverDelAckEnable - Control to enable Dynamic Configuration of Tcp 651*5113495bSYour Name * Delayed Ack in the host. 652*5113495bSYour Name * @Default: true 653*5113495bSYour Name * 654*5113495bSYour Name * This ini is used to enable Dynamic Configuration of Tcp Delayed Ack 655*5113495bSYour Name * in the host. 656*5113495bSYour Name * 657*5113495bSYour Name * Related: gDriverDelAckHighThreshold, gDriverDelAckLowThreshold, 658*5113495bSYour Name * gDriverDelAckPktCount, gDriverDelAckTimerValue 659*5113495bSYour Name * 660*5113495bSYour Name * Supported Feature: Tcp Delayed Ack in the host 661*5113495bSYour Name * 662*5113495bSYour Name * Usage: Internal 663*5113495bSYour Name * 664*5113495bSYour Name * </ini> 665*5113495bSYour Name */ 666*5113495bSYour Name #define CFG_DP_DRIVER_TCP_DELACK_ENABLE \ 667*5113495bSYour Name CFG_INI_BOOL( \ 668*5113495bSYour Name "gDriverDelAckEnable", \ 669*5113495bSYour Name true, \ 670*5113495bSYour Name "Enable tcp del ack in the driver") 671*5113495bSYour Name #endif 672*5113495bSYour Name 673*5113495bSYour Name /* 674*5113495bSYour Name * <ini> 675*5113495bSYour Name * RX_THREAD_CPU_AFFINITY_MASK - CPU mask to affine Rx_thread 676*5113495bSYour Name * 677*5113495bSYour Name * @Min: 0 678*5113495bSYour Name * @Max: 0xFF 679*5113495bSYour Name * @Default: 0x02 680*5113495bSYour Name * 681*5113495bSYour Name * This ini is used to set Rx_thread CPU affinity 682*5113495bSYour Name * 683*5113495bSYour Name * Supported Feature: Rx_thread 684*5113495bSYour Name * 685*5113495bSYour Name * Usage: Internal 686*5113495bSYour Name * 687*5113495bSYour Name * </ini> 688*5113495bSYour Name */ 689*5113495bSYour Name #ifdef RX_PERFORMANCE 690*5113495bSYour Name #define CFG_DP_RX_THREAD_CPU_MASK \ 691*5113495bSYour Name CFG_INI_UINT( \ 692*5113495bSYour Name "RX_THREAD_CPU_AFFINITY_MASK", \ 693*5113495bSYour Name 0, \ 694*5113495bSYour Name 0xFF, \ 695*5113495bSYour Name 0xFE, \ 696*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 697*5113495bSYour Name "CPU mask to affine Rx_thread") 698*5113495bSYour Name #else 699*5113495bSYour Name #define CFG_DP_RX_THREAD_CPU_MASK \ 700*5113495bSYour Name CFG_INI_UINT( \ 701*5113495bSYour Name "RX_THREAD_CPU_AFFINITY_MASK", \ 702*5113495bSYour Name 0, \ 703*5113495bSYour Name 0xFF, \ 704*5113495bSYour Name 0, \ 705*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 706*5113495bSYour Name "CPU mask to affine Rx_thread") 707*5113495bSYour Name #endif 708*5113495bSYour Name 709*5113495bSYour Name /* 710*5113495bSYour Name * <ini> 711*5113495bSYour Name * RX_THREAD_UL_CPU_AFFINITY_MASK - CPU mask to affine Rx_thread 712*5113495bSYour Name * 713*5113495bSYour Name * @Min: 0 714*5113495bSYour Name * @Max: 0xFF 715*5113495bSYour Name * @Default: 0x0 716*5113495bSYour Name * 717*5113495bSYour Name * This ini is used to set Rx_thread CPU affinity for uplink traffic 718*5113495bSYour Name * 719*5113495bSYour Name * Supported Feature: Rx_thread 720*5113495bSYour Name * 721*5113495bSYour Name * Usage: Internal 722*5113495bSYour Name * 723*5113495bSYour Name * </ini> 724*5113495bSYour Name */ 725*5113495bSYour Name #define CFG_DP_RX_THREAD_UL_CPU_MASK \ 726*5113495bSYour Name CFG_INI_UINT( \ 727*5113495bSYour Name "RX_THREAD_UL_CPU_AFFINITY_MASK", \ 728*5113495bSYour Name 0, \ 729*5113495bSYour Name 0xFF, \ 730*5113495bSYour Name 0x0, \ 731*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 732*5113495bSYour Name "CPU mask to affine Rx_thread for uplink traffic") 733*5113495bSYour Name 734*5113495bSYour Name /* 735*5113495bSYour Name * <ini> 736*5113495bSYour Name * rpsRxQueueCpuMapList - RPS map for different RX queues 737*5113495bSYour Name * 738*5113495bSYour Name * @Default: e 739*5113495bSYour Name * 740*5113495bSYour Name * This ini is used to set RPS map for different RX queues. 741*5113495bSYour Name * 742*5113495bSYour Name * List of RPS CPU maps for different rx queues registered by WLAN driver 743*5113495bSYour Name * Ref - Kernel/Documentation/networking/scaling.txt 744*5113495bSYour Name * RPS CPU map for a particular RX queue, selects CPU(s) for bottom half 745*5113495bSYour Name * processing of RX packets. For example, for a system with 4 CPUs, 746*5113495bSYour Name * 0xe: Use CPU1 - CPU3 and donot use CPU0. 747*5113495bSYour Name * 0x0: RPS is disabled, packets are processed on the interrupting CPU. 748*5113495bSYour Name .* 749*5113495bSYour Name * WLAN driver registers NUM_TX_QUEUES queues for tx and rx each during 750*5113495bSYour Name * alloc_netdev_mq. Hence, we need to have a cpu mask for each of the rx queues. 751*5113495bSYour Name * 752*5113495bSYour Name * For example, if the NUM_TX_QUEUES is 4, a sample WLAN ini entry may look like 753*5113495bSYour Name * rpsRxQueueCpuMapList=a b c d 754*5113495bSYour Name * For a 4 CPU system (CPU0 - CPU3), this implies: 755*5113495bSYour Name * 0xa - (1010) use CPU1, CPU3 for rx queue 0 756*5113495bSYour Name * 0xb - (1011) use CPU0, CPU1 and CPU3 for rx queue 1 757*5113495bSYour Name * 0xc - (1100) use CPU2, CPU3 for rx queue 2 758*5113495bSYour Name * 0xd - (1101) use CPU0, CPU2 and CPU3 for rx queue 3 759*5113495bSYour Name 760*5113495bSYour Name * In practice, we may want to avoid the cores which are heavily loaded. 761*5113495bSYour Name * 762*5113495bSYour Name * Default value of rpsRxQueueCpuMapList. Different platforms may have 763*5113495bSYour Name * different configurations for NUM_TX_QUEUES and # of cpus, and will need to 764*5113495bSYour Name * configure an appropriate value via ini file. Setting default value to 'e' to 765*5113495bSYour Name * avoid use of CPU0 (since its heavily used by other system processes) by rx 766*5113495bSYour Name * queue 0, which is currently being used for rx packet processing. 767*5113495bSYour Name * 768*5113495bSYour Name * Maximum length of string used to hold a list of cpu maps for various rx 769*5113495bSYour Name * queues. Considering a 16 core system with 5 rx queues, a RPS CPU map 770*5113495bSYour Name * list may look like - 771*5113495bSYour Name * rpsRxQueueCpuMapList = ffff ffff ffff ffff ffff 772*5113495bSYour Name * (all 5 rx queues can be processed on all 16 cores) 773*5113495bSYour Name * max string len = 24 + 1(for '\0'). Considering 30 to be on safe side. 774*5113495bSYour Name * 775*5113495bSYour Name * Supported Feature: Rx_thread 776*5113495bSYour Name * 777*5113495bSYour Name * Usage: Internal 778*5113495bSYour Name * </ini> 779*5113495bSYour Name */ 780*5113495bSYour Name #define CFG_DP_RPS_RX_QUEUE_CPU_MAP_LIST \ 781*5113495bSYour Name CFG_INI_STRING( \ 782*5113495bSYour Name "rpsRxQueueCpuMapList", \ 783*5113495bSYour Name 1, \ 784*5113495bSYour Name 30, \ 785*5113495bSYour Name "e", \ 786*5113495bSYour Name "specify RPS map for different RX queues") 787*5113495bSYour Name 788*5113495bSYour Name /* 789*5113495bSYour Name * <ini> 790*5113495bSYour Name * gEnableTxOrphan- Enable/Disable orphaning of Tx packets 791*5113495bSYour Name * @Default: false 792*5113495bSYour Name * 793*5113495bSYour Name * This ini is used to enable/disable orphaning of Tx packets. 794*5113495bSYour Name * 795*5113495bSYour Name * Related: None 796*5113495bSYour Name * 797*5113495bSYour Name * Usage: External 798*5113495bSYour Name * 799*5113495bSYour Name * </ini> 800*5113495bSYour Name */ 801*5113495bSYour Name #define CFG_DP_TX_ORPHAN_ENABLE \ 802*5113495bSYour Name CFG_INI_BOOL( \ 803*5113495bSYour Name "gEnableTxOrphan", \ 804*5113495bSYour Name false, \ 805*5113495bSYour Name "orphaning of Tx packets") 806*5113495bSYour Name 807*5113495bSYour Name /* 808*5113495bSYour Name * <ini> 809*5113495bSYour Name * rx_mode - Control to decide rx mode for packet processing 810*5113495bSYour Name * 811*5113495bSYour Name * @Min: 0 812*5113495bSYour Name * @Max: (CFG_ENABLE_RX_THREAD | CFG_ENABLE_RPS | CFG_ENABLE_NAPI | \ 813*5113495bSYour Name * CFG_ENABLE_DYNAMIC_RPS) 814*5113495bSYour Name * 815*5113495bSYour Name * Some possible configurations: 816*5113495bSYour Name * rx_mode=0 - Uses tasklets for bottom half 817*5113495bSYour Name * CFG_ENABLE_NAPI (rx_mode=4) - Uses NAPI for bottom half 818*5113495bSYour Name * CFG_ENABLE_RX_THREAD | CFG_ENABLE_NAPI (rx_mode=5) - NAPI for bottom half, 819*5113495bSYour Name * rx_thread for stack. Single threaded. 820*5113495bSYour Name * CFG_ENABLE_DP_RX_THREAD | CFG_ENABLE_NAPI (rx_mode=10) - NAPI for bottom 821*5113495bSYour Name * half, dp_rx_thread for stack processing. Supports multiple rx threads. 822*5113495bSYour Name * 823*5113495bSYour Name * Usage: Internal 824*5113495bSYour Name * 825*5113495bSYour Name * </ini> 826*5113495bSYour Name */ 827*5113495bSYour Name #define CFG_DP_RX_MODE \ 828*5113495bSYour Name CFG_INI_UINT("rx_mode", \ 829*5113495bSYour Name 0, CFG_RX_MODE_MAX, CFG_RX_MODE_DEFAULT, \ 830*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 831*5113495bSYour Name "Control to decide rx mode for packet processing") 832*5113495bSYour Name 833*5113495bSYour Name /* 834*5113495bSYour Name * <ini> 835*5113495bSYour Name * tx_comp_loop_pkt_limit - Control to decide max # of packets to be processed 836*5113495bSYour Name * in 1 tx comp loop 837*5113495bSYour Name * 838*5113495bSYour Name * @Min: 8 839*5113495bSYour Name * @Max: CFG_DP_TX_COMP_LOOP_PKT_LIMIT_MAX 840*5113495bSYour Name * 841*5113495bSYour Name * Usage: Internal 842*5113495bSYour Name * 843*5113495bSYour Name * </ini> 844*5113495bSYour Name */ 845*5113495bSYour Name #define CFG_DP_TX_COMP_LOOP_PKT_LIMIT \ 846*5113495bSYour Name CFG_INI_UINT("tx_comp_loop_pkt_limit", \ 847*5113495bSYour Name 1, CFG_DP_TX_COMP_LOOP_PKT_LIMIT_MAX, \ 848*5113495bSYour Name CFG_DP_TX_COMP_LOOP_PKT_LIMIT_DEFAULT, \ 849*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 850*5113495bSYour Name "Control to decide tx comp loop pkt limit") 851*5113495bSYour Name /* 852*5113495bSYour Name * <ini> 853*5113495bSYour Name * rx_reap_loop_pkt_limit - Control to decide max # of packets to be reaped 854*5113495bSYour Name * in 1 dp_rx_process reap loop 855*5113495bSYour Name * 856*5113495bSYour Name * @Min: 8 857*5113495bSYour Name * @Max: CFG_DP_RX_REAP_LOOP_PKT_LIMIT_MAX 858*5113495bSYour Name * 859*5113495bSYour Name * Usage: Internal 860*5113495bSYour Name * 861*5113495bSYour Name * </ini> 862*5113495bSYour Name */ 863*5113495bSYour Name #define CFG_DP_RX_REAP_LOOP_PKT_LIMIT \ 864*5113495bSYour Name CFG_INI_UINT("rx_reap_loop_pkt_limit", \ 865*5113495bSYour Name 0, CFG_DP_RX_REAP_LOOP_PKT_LIMIT_MAX, \ 866*5113495bSYour Name CFG_DP_RX_REAP_LOOP_PKT_LIMIT_DEFAULT, \ 867*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 868*5113495bSYour Name "Control to decide rx reap loop packet limit") 869*5113495bSYour Name 870*5113495bSYour Name /* 871*5113495bSYour Name * <ini> 872*5113495bSYour Name * rx_hp_oos_update_limit - Control to decide max # of HP OOS (out of sync) 873*5113495bSYour Name * updates 874*5113495bSYour Name * 875*5113495bSYour Name * @Min: 0 876*5113495bSYour Name * @Max: CFG_DP_RX_HP_OOS_UPDATE_LIMIT_MAX 877*5113495bSYour Name * 878*5113495bSYour Name * Usage: Internal 879*5113495bSYour Name * 880*5113495bSYour Name * </ini> 881*5113495bSYour Name */ 882*5113495bSYour Name #define CFG_DP_RX_HP_OOS_UPDATE_LIMIT \ 883*5113495bSYour Name CFG_INI_UINT("rx_hp_oos_update_limit", \ 884*5113495bSYour Name 0, CFG_DP_RX_HP_OOS_UPDATE_LIMIT_MAX, \ 885*5113495bSYour Name CFG_DP_RX_HP_OOS_UPDATE_LIMIT_DEFAULT, \ 886*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 887*5113495bSYour Name "Control to decide HP OOS update limit") 888*5113495bSYour Name 889*5113495bSYour Name /* 890*5113495bSYour Name * <ini> 891*5113495bSYour Name * rx_softirq_max_yield_duration_ns - Control to decide max duration for RX 892*5113495bSYour Name * softirq 893*5113495bSYour Name * 894*5113495bSYour Name * @Min: 100 * 1000 , 100us 895*5113495bSYour Name * @Max: CFG_DP_RX_SOFTIRQ_MAX_YIELD_TIME_NS_MAX 896*5113495bSYour Name * 897*5113495bSYour Name * Usage: Internal 898*5113495bSYour Name * 899*5113495bSYour Name * </ini> 900*5113495bSYour Name */ 901*5113495bSYour Name #define CFG_DP_RX_SOFTIRQ_MAX_YIELD_TIME_NS \ 902*5113495bSYour Name CFG_INI_UINT("rx_softirq_max_yield_duration_ns", \ 903*5113495bSYour Name 100 * 1000, CFG_DP_RX_SOFTIRQ_MAX_YIELD_TIME_NS_MAX, \ 904*5113495bSYour Name CFG_DP_RX_SOFTIRQ_MAX_YIELD_TIME_NS_DEFAULT, \ 905*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 906*5113495bSYour Name "max yield time duration for RX Softirq") 907*5113495bSYour Name 908*5113495bSYour Name /* 909*5113495bSYour Name * <ini> 910*5113495bSYour Name * enable_multicast_replay_filter - Enable filtering of replayed multicast 911*5113495bSYour Name * packets 912*5113495bSYour Name * 913*5113495bSYour Name * In a typical infrastructure setup, it is quite normal to receive 914*5113495bSYour Name * replayed multicast packets. These packets may cause more harm than 915*5113495bSYour Name * help if not handled properly. Providing a configuration option 916*5113495bSYour Name * to enable filtering of such packets 917*5113495bSYour Name * 918*5113495bSYour Name * </ini> 919*5113495bSYour Name */ 920*5113495bSYour Name #define CFG_DP_FILTER_MULTICAST_REPLAY \ 921*5113495bSYour Name CFG_INI_BOOL("enable_multicast_replay_filter", \ 922*5113495bSYour Name true, "Enable filtering of replayed multicast packets") 923*5113495bSYour Name 924*5113495bSYour Name /* 925*5113495bSYour Name * <ini> 926*5113495bSYour Name * rx_wakelock_timeout - Amount of time to hold wakelock for RX unicast packets 927*5113495bSYour Name * @Min: 0 928*5113495bSYour Name * @Max: 100 929*5113495bSYour Name * @Default: 50 930*5113495bSYour Name * 931*5113495bSYour Name * This ini item configures the amount of time, in milliseconds, that the driver 932*5113495bSYour Name * should prevent system power collapse after receiving an RX unicast packet. 933*5113495bSYour Name * A conigured value of 0 disables the RX Wakelock feature completely. 934*5113495bSYour Name * 935*5113495bSYour Name * Related: None. 936*5113495bSYour Name * 937*5113495bSYour Name * Supported Feature: RX Wakelock 938*5113495bSYour Name * 939*5113495bSYour Name * Usage: Internal/External 940*5113495bSYour Name * 941*5113495bSYour Name * </ini> 942*5113495bSYour Name */ 943*5113495bSYour Name #define CFG_DP_RX_WAKELOCK_TIMEOUT \ 944*5113495bSYour Name CFG_INI_UINT("rx_wakelock_timeout", \ 945*5113495bSYour Name 0, 100, 50, CFG_VALUE_OR_DEFAULT, \ 946*5113495bSYour Name "Amount of time to hold wakelock for RX unicast packets") 947*5113495bSYour Name 948*5113495bSYour Name /* 949*5113495bSYour Name * <ini> 950*5113495bSYour Name * num_dp_rx_threads - Control to set the number of dp rx threads 951*5113495bSYour Name * 952*5113495bSYour Name * @Min: 1 953*5113495bSYour Name * @Max: 4 954*5113495bSYour Name * @Default: 1 955*5113495bSYour Name * 956*5113495bSYour Name * Usage: Internal 957*5113495bSYour Name * 958*5113495bSYour Name * </ini> 959*5113495bSYour Name */ 960*5113495bSYour Name #define CFG_DP_NUM_DP_RX_THREADS \ 961*5113495bSYour Name CFG_INI_UINT("num_dp_rx_threads", \ 962*5113495bSYour Name 1, 4, 1, CFG_VALUE_OR_DEFAULT, \ 963*5113495bSYour Name "Control to set the number of dp rx threads") 964*5113495bSYour Name 965*5113495bSYour Name /* 966*5113495bSYour Name * <ini> 967*5113495bSYour Name * ce_service_max_rx_ind_flush - Maximum number of HTT messages 968*5113495bSYour Name * to be processed per NAPI poll 969*5113495bSYour Name * 970*5113495bSYour Name * @Min: 1 971*5113495bSYour Name * @Max: 32 972*5113495bSYour Name * @Default: 1 973*5113495bSYour Name * 974*5113495bSYour Name * Usage: Internal 975*5113495bSYour Name * 976*5113495bSYour Name * </ini> 977*5113495bSYour Name */ 978*5113495bSYour Name #define CFG_DP_CE_SERVICE_MAX_RX_IND_FLUSH \ 979*5113495bSYour Name CFG_INI_UINT("ce_service_max_rx_ind_flush", \ 980*5113495bSYour Name 1, 32, 1, \ 981*5113495bSYour Name CFG_VALUE_OR_DEFAULT, "Ctrl to set ce service max rx ind flsh") 982*5113495bSYour Name 983*5113495bSYour Name /* 984*5113495bSYour Name * <ini> 985*5113495bSYour Name * ce_service_max_yield_time - Time in microseconds after which 986*5113495bSYour Name * a NAPI poll must yield 987*5113495bSYour Name * 988*5113495bSYour Name * @Min: 500 989*5113495bSYour Name * @Max: 10000 990*5113495bSYour Name * @Default: 500 991*5113495bSYour Name * 992*5113495bSYour Name * Usage: Internal 993*5113495bSYour Name * 994*5113495bSYour Name * </ini> 995*5113495bSYour Name */ 996*5113495bSYour Name #define CFG_DP_CE_SERVICE_MAX_YIELD_TIME \ 997*5113495bSYour Name CFG_INI_UINT("ce_service_max_yield_time", \ 998*5113495bSYour Name 500, 10000, 500, \ 999*5113495bSYour Name CFG_VALUE_OR_DEFAULT, "Ctrl to set ce service max yield time") 1000*5113495bSYour Name 1001*5113495bSYour Name #ifdef WLAN_FEATURE_FASTPATH 1002*5113495bSYour Name #define CFG_DP_ENABLE_FASTPATH \ 1003*5113495bSYour Name CFG_INI_BOOL("gEnableFastPath", \ 1004*5113495bSYour Name false, "Ctrl to enable fastpath feature") 1005*5113495bSYour Name 1006*5113495bSYour Name #define CFG_DP_ENABLE_FASTPATH_ALL \ 1007*5113495bSYour Name CFG(CFG_DP_ENABLE_FASTPATH) 1008*5113495bSYour Name #else 1009*5113495bSYour Name #define CFG_DP_ENABLE_FASTPATH_ALL 1010*5113495bSYour Name #endif 1011*5113495bSYour Name 1012*5113495bSYour Name #define CFG_DP_ENABLE_TCP_PARAM_UPDATE \ 1013*5113495bSYour Name CFG_INI_BOOL("enable_tcp_param_update", \ 1014*5113495bSYour Name false, "configure TCP param through Wi-Fi HAL") 1015*5113495bSYour Name /* 1016*5113495bSYour Name * <ini> 1017*5113495bSYour Name * 1018*5113495bSYour Name * Enable/disable DPTRACE 1019*5113495bSYour Name * Enabling this might have performance impact. 1020*5113495bSYour Name * 1021*5113495bSYour Name * Config DPTRACE 1022*5113495bSYour Name * The sequence of params is important. If some param is missing, defaults are 1023*5113495bSYour Name * considered. 1024*5113495bSYour Name * Param 1: Enable/Disable DP Trace live mode (uint8_t) 1025*5113495bSYour Name * Param 2: DP Trace live mode high bandwidth thresh.(uint8_t) 1026*5113495bSYour Name * (packets/second) beyond which DP Trace is disabled. Decimal Val. 1027*5113495bSYour Name * MGMT, DHCP, EAPOL, ARP pkts are not counted. ICMP and Data are. 1028*5113495bSYour Name * Param 3: Default Verbosity (0-4) 1029*5113495bSYour Name * Param 4: Proto Bitmap (uint8_t). Decimal Value. 1030*5113495bSYour Name * (decimal 62 = 0x3e) 1031*5113495bSYour Name * e.g., to disable live mode, use the following param in the ini file. 1032*5113495bSYour Name * gDptraceConfig = 0 1033*5113495bSYour Name * e.g., to enable dptrace live mode and set the thresh as 6, 1034*5113495bSYour Name * use the following param in the ini file. 1035*5113495bSYour Name * gDptraceConfig = 1, 6 1036*5113495bSYour Name * 1037*5113495bSYour Name * </ini> 1038*5113495bSYour Name */ 1039*5113495bSYour Name #ifdef CONFIG_DP_TRACE 1040*5113495bSYour Name #define CFG_DP_ENABLE_DP_TRACE \ 1041*5113495bSYour Name CFG_INI_BOOL("enable_dp_trace", \ 1042*5113495bSYour Name true, "Ctrl to enable dp trace feature") 1043*5113495bSYour Name 1044*5113495bSYour Name #define CFG_DP_DP_TRACE_CONFIG \ 1045*5113495bSYour Name CFG_INI_STRING( \ 1046*5113495bSYour Name "gDptraceConfig", \ 1047*5113495bSYour Name 1, \ 1048*5113495bSYour Name 20, \ 1049*5113495bSYour Name "1, 6, 2, 126", \ 1050*5113495bSYour Name "dp trace configuration string") 1051*5113495bSYour Name 1052*5113495bSYour Name /* 1053*5113495bSYour Name * <ini> 1054*5113495bSYour Name * dp_proto_event_bitmap - Control for which protocol packet diag event should 1055*5113495bSYour Name * be sent to user space. 1056*5113495bSYour Name * @Min: 0 1057*5113495bSYour Name * @Max: 0x17 1058*5113495bSYour Name * @Default: 0x6 1059*5113495bSYour Name * 1060*5113495bSYour Name * This ini is used to control for which protocol packet diag event should be 1061*5113495bSYour Name * sent to user space. 1062*5113495bSYour Name * 1063*5113495bSYour Name * QDF_NBUF_PKT_TRAC_TYPE_DNS 0x01 1064*5113495bSYour Name * QDF_NBUF_PKT_TRAC_TYPE_EAPOL 0x02 1065*5113495bSYour Name * QDF_NBUF_PKT_TRAC_TYPE_DHCP 0x04 1066*5113495bSYour Name * QDF_NBUF_PKT_TRAC_TYPE_ARP 0x10 1067*5113495bSYour Name * 1068*5113495bSYour Name * Related: None 1069*5113495bSYour Name * 1070*5113495bSYour Name * Supported Feature: STA, SAP 1071*5113495bSYour Name * 1072*5113495bSYour Name * Usage: Internal 1073*5113495bSYour Name * 1074*5113495bSYour Name * <ini> 1075*5113495bSYour Name */ 1076*5113495bSYour Name #define CFG_DP_PROTO_EVENT_BITMAP \ 1077*5113495bSYour Name CFG_INI_UINT("dp_proto_event_bitmap", \ 1078*5113495bSYour Name 0, 0x17, 0x17, \ 1079*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 1080*5113495bSYour Name "Control for which protocol type diag log should be sent") 1081*5113495bSYour Name 1082*5113495bSYour Name #define CFG_DP_CONFIG_DP_TRACE_ALL \ 1083*5113495bSYour Name CFG(CFG_DP_ENABLE_DP_TRACE) \ 1084*5113495bSYour Name CFG(CFG_DP_DP_TRACE_CONFIG) \ 1085*5113495bSYour Name CFG(CFG_DP_PROTO_EVENT_BITMAP) 1086*5113495bSYour Name #else 1087*5113495bSYour Name #define CFG_DP_CONFIG_DP_TRACE_ALL 1088*5113495bSYour Name #endif 1089*5113495bSYour Name 1090*5113495bSYour Name #ifdef WLAN_NUD_TRACKING 1091*5113495bSYour Name /* 1092*5113495bSYour Name * <ini> 1093*5113495bSYour Name * gEnableNUDTracking - Will enable or disable NUD tracking within driver 1094*5113495bSYour Name * @Min: 0 1095*5113495bSYour Name * @Max: 3 1096*5113495bSYour Name * @Default: 2 1097*5113495bSYour Name * 1098*5113495bSYour Name * This ini is used to specify the behaviour of the driver for NUD tracking. 1099*5113495bSYour Name * If the ini value is:- 1100*5113495bSYour Name * 0: Driver will not track the NUD failures, and ignore the same. 1101*5113495bSYour Name * 1: Driver will track the NUD failures and if honoured will disconnect from 1102*5113495bSYour Name * the connected BSSID. 1103*5113495bSYour Name * 2: Driver will track the NUD failures and if honoured will roam away from 1104*5113495bSYour Name * the connected BSSID to a new BSSID to retain the data connectivity. 1105*5113495bSYour Name * 3: Driver will try to roam to a new AP but if roam fails, disconnect. 1106*5113495bSYour Name * Related: None 1107*5113495bSYour Name * 1108*5113495bSYour Name * Supported Feature: STA 1109*5113495bSYour Name * 1110*5113495bSYour Name * Usage: External 1111*5113495bSYour Name * 1112*5113495bSYour Name * <ini> 1113*5113495bSYour Name */ 1114*5113495bSYour Name #define CFG_DP_ENABLE_NUD_TRACKING \ 1115*5113495bSYour Name CFG_INI_UINT("gEnableNUDTracking", \ 1116*5113495bSYour Name 0, \ 1117*5113495bSYour Name 3, \ 1118*5113495bSYour Name 2, \ 1119*5113495bSYour Name CFG_VALUE_OR_DEFAULT, "Driver NUD tracking behaviour") 1120*5113495bSYour Name 1121*5113495bSYour Name #define CFG_DP_ENABLE_NUD_TRACKING_ALL \ 1122*5113495bSYour Name CFG(CFG_DP_ENABLE_NUD_TRACKING) 1123*5113495bSYour Name #else 1124*5113495bSYour Name #define CFG_DP_ENABLE_NUD_TRACKING_ALL 1125*5113495bSYour Name #endif 1126*5113495bSYour Name 1127*5113495bSYour Name #ifdef WLAN_SUPPORT_TXRX_HL_BUNDLE 1128*5113495bSYour Name 1129*5113495bSYour Name #define CFG_DP_HL_BUNDLE_HIGH_TH \ 1130*5113495bSYour Name CFG_INI_UINT( \ 1131*5113495bSYour Name "tx_bundle_high_threashold", \ 1132*5113495bSYour Name 0, \ 1133*5113495bSYour Name 70000, \ 1134*5113495bSYour Name 4330, \ 1135*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 1136*5113495bSYour Name "tx bundle high threashold") 1137*5113495bSYour Name 1138*5113495bSYour Name #define CFG_DP_HL_BUNDLE_LOW_TH \ 1139*5113495bSYour Name CFG_INI_UINT( \ 1140*5113495bSYour Name "tx_bundle_low_threashold", \ 1141*5113495bSYour Name 0, \ 1142*5113495bSYour Name 70000, \ 1143*5113495bSYour Name 4000, \ 1144*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 1145*5113495bSYour Name "tx bundle low threashold") 1146*5113495bSYour Name 1147*5113495bSYour Name #define CFG_DP_HL_BUNDLE_TIMER_VALUE \ 1148*5113495bSYour Name CFG_INI_UINT( \ 1149*5113495bSYour Name "tx_bundle_timer_in_ms", \ 1150*5113495bSYour Name 10, \ 1151*5113495bSYour Name 10000, \ 1152*5113495bSYour Name 100, \ 1153*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 1154*5113495bSYour Name "tx bundle timer value in ms") 1155*5113495bSYour Name 1156*5113495bSYour Name #define CFG_DP_HL_BUNDLE_SIZE \ 1157*5113495bSYour Name CFG_INI_UINT( \ 1158*5113495bSYour Name "tx_bundle_size", \ 1159*5113495bSYour Name 0, \ 1160*5113495bSYour Name 64, \ 1161*5113495bSYour Name 16, \ 1162*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 1163*5113495bSYour Name "tx bundle size") 1164*5113495bSYour Name 1165*5113495bSYour Name #endif 1166*5113495bSYour Name 1167*5113495bSYour Name #define WLAN_CFG_ICMP_REQ_TO_FW_MARK_ALL (-1) 1168*5113495bSYour Name #define WLAN_CFG_ICMP_REQ_TO_FW_MARK_INTERVAL 0 1169*5113495bSYour Name #define WLAN_CFG_ICMP_REQ_TO_FW_MARK_INTERVAL_MIN (-1) 1170*5113495bSYour Name #define WLAN_CFG_ICMP_REQ_TO_FW_MARK_INTERVAL_MAX 100000 1171*5113495bSYour Name 1172*5113495bSYour Name /* 1173*5113495bSYour Name * <ini> 1174*5113495bSYour Name * icmp_req_to_fw_mark_interval - Interval to mark the ICMP Request packet 1175*5113495bSYour Name * to be sent to FW. 1176*5113495bSYour Name * @Min: -1 1177*5113495bSYour Name * @Max: 100000 1178*5113495bSYour Name * @Default: 0 1179*5113495bSYour Name * 1180*5113495bSYour Name * This ini is used to control DP Software to mark the ICMP request packets 1181*5113495bSYour Name * to be sent to FW at certain interval (in milliseconds). 1182*5113495bSYour Name * The value 0 is used to disable marking of ICMP requests to be sent to FW. 1183*5113495bSYour Name * The value -1 is used to mark all the ICMP requests to be sent to FW. 1184*5113495bSYour Name * Any value greater than zero indicates the time interval (in milliseconds) 1185*5113495bSYour Name * at which ICMP requests are marked to be sent to FW. 1186*5113495bSYour Name * 1187*5113495bSYour Name * Supported modes: All modes 1188*5113495bSYour Name * 1189*5113495bSYour Name * Usage: External 1190*5113495bSYour Name * 1191*5113495bSYour Name * </ini> 1192*5113495bSYour Name */ 1193*5113495bSYour Name #define CFG_DP_ICMP_REQ_TO_FW_MARK_INTERVAL \ 1194*5113495bSYour Name CFG_INI_INT("icmp_req_to_fw_mark_interval", \ 1195*5113495bSYour Name WLAN_CFG_ICMP_REQ_TO_FW_MARK_INTERVAL_MIN, \ 1196*5113495bSYour Name WLAN_CFG_ICMP_REQ_TO_FW_MARK_INTERVAL_MAX, \ 1197*5113495bSYour Name WLAN_CFG_ICMP_REQ_TO_FW_MARK_INTERVAL, \ 1198*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 1199*5113495bSYour Name "Interval to mark ICMP Request packets to be sent to FW") 1200*5113495bSYour Name 1201*5113495bSYour Name /* 1202*5113495bSYour Name * <ini> 1203*5113495bSYour Name * enable_direct_link_ut_cmd - Enable direct link unit testing 1204*5113495bSYour Name * @Min: 0 1205*5113495bSYour Name * @Max: 1 1206*5113495bSYour Name * @Default: 0 1207*5113495bSYour Name * 1208*5113495bSYour Name * This ini is used to enable direct link unit test 1209*5113495bSYour Name * 1210*5113495bSYour Name * Supported feature: Direct link 1211*5113495bSYour Name * 1212*5113495bSYour Name * Usage: Internal 1213*5113495bSYour Name * 1214*5113495bSYour Name * </ini> 1215*5113495bSYour Name */ 1216*5113495bSYour Name #define CFG_ENABLE_DIRECT_LINK_UT_CMD \ 1217*5113495bSYour Name CFG_INI_BOOL("enable_direct_link_ut_cmd", false, \ 1218*5113495bSYour Name "enable/disable direct link unit test") 1219*5113495bSYour Name 1220*5113495bSYour Name /* 1221*5113495bSYour Name * <ini> 1222*5113495bSYour Name * dp_apply_mem_profile - Apply mem profile config 1223*5113495bSYour Name * @Min: 0 1224*5113495bSYour Name * @Max: 1 1225*5113495bSYour Name * @Default: 0 1226*5113495bSYour Name * 1227*5113495bSYour Name * This ini is used to apply DP mem profile config 1228*5113495bSYour Name * 1229*5113495bSYour Name * Supported feature: All modes 1230*5113495bSYour Name * 1231*5113495bSYour Name * Usage: Internal 1232*5113495bSYour Name * 1233*5113495bSYour Name * </ini> 1234*5113495bSYour Name */ 1235*5113495bSYour Name #define CFG_DP_APPLY_MEM_PROFILE \ 1236*5113495bSYour Name CFG_INI_BOOL("dp_apply_mem_profile", false, \ 1237*5113495bSYour Name "enable/disable dp mem profile") 1238*5113495bSYour Name 1239*5113495bSYour Name #ifdef WLAN_SUPPORT_RX_FISA 1240*5113495bSYour Name /* 1241*5113495bSYour Name * <ini> 1242*5113495bSYour Name * dp_rx_fisa_enable - Control Rx datapath FISA 1243*5113495bSYour Name * @Min: 0 1244*5113495bSYour Name * @Max: 1 1245*5113495bSYour Name * @Default: 1 1246*5113495bSYour Name * 1247*5113495bSYour Name * This ini is used to enable DP Rx FISA feature 1248*5113495bSYour Name * 1249*5113495bSYour Name * Related: dp_rx_flow_search_table_size 1250*5113495bSYour Name * 1251*5113495bSYour Name * Supported Feature: STA,P2P and SAP IPA disabled terminating 1252*5113495bSYour Name * 1253*5113495bSYour Name * Usage: Internal 1254*5113495bSYour Name * 1255*5113495bSYour Name * </ini> 1256*5113495bSYour Name */ 1257*5113495bSYour Name #define CFG_DP_RX_FISA_ENABLE \ 1258*5113495bSYour Name CFG_INI_BOOL("dp_rx_fisa_enable", true, \ 1259*5113495bSYour Name "Enable/Disable DP Rx FISA") 1260*5113495bSYour Name 1261*5113495bSYour Name /* 1262*5113495bSYour Name * <ini> 1263*5113495bSYour Name * dp_rx_fisa_lru_del_enable - Control Rx datapath FISA 1264*5113495bSYour Name * @Min: 0 1265*5113495bSYour Name * @Max: 1 1266*5113495bSYour Name * @Default: 1 1267*5113495bSYour Name * 1268*5113495bSYour Name * This ini is used to enable DP Rx FISA lru deletion feature 1269*5113495bSYour Name * 1270*5113495bSYour Name * Related: dp_rx_fisa_enable 1271*5113495bSYour Name * 1272*5113495bSYour Name * Supported Feature: STA,P2P and SAP IPA disabled terminating 1273*5113495bSYour Name * 1274*5113495bSYour Name * Usage: Internal 1275*5113495bSYour Name * 1276*5113495bSYour Name * </ini> 1277*5113495bSYour Name */ 1278*5113495bSYour Name #define CFG_DP_RX_FISA_LRU_DEL_ENABLE \ 1279*5113495bSYour Name CFG_INI_BOOL("dp_rx_fisa_lru_del_enable", true, \ 1280*5113495bSYour Name "Enable/Disable DP Rx FISA LRU deletion") 1281*5113495bSYour Name 1282*5113495bSYour Name #define CFG_DP_FISA \ 1283*5113495bSYour Name CFG(CFG_DP_RX_FISA_ENABLE) \ 1284*5113495bSYour Name CFG(CFG_DP_RX_FISA_LRU_DEL_ENABLE) 1285*5113495bSYour Name #else 1286*5113495bSYour Name #define CFG_DP_FISA 1287*5113495bSYour Name #endif 1288*5113495bSYour Name 1289*5113495bSYour Name /*TODO Flow control part to be moved to DP later*/ 1290*5113495bSYour Name 1291*5113495bSYour Name #ifdef WLAN_FEATURE_DP_BUS_BANDWIDTH 1292*5113495bSYour Name #define CFG_DP_BUS_BANDWIDTH \ 1293*5113495bSYour Name CFG(CFG_DP_BUS_BANDWIDTH_SUPER_HIGH_THRESHOLD) \ 1294*5113495bSYour Name CFG(CFG_DP_BUS_BANDWIDTH_ULTRA_HIGH_THRESHOLD) \ 1295*5113495bSYour Name CFG(CFG_DP_BUS_BANDWIDTH_VERY_HIGH_THRESHOLD) \ 1296*5113495bSYour Name CFG(CFG_DP_BUS_BANDWIDTH_MID_HIGH_THRESHOLD) \ 1297*5113495bSYour Name CFG(CFG_DP_BUS_BANDWIDTH_DBS_THRESHOLD) \ 1298*5113495bSYour Name CFG(CFG_DP_BUS_BANDWIDTH_HIGH_THRESHOLD) \ 1299*5113495bSYour Name CFG(CFG_DP_BUS_BANDWIDTH_MEDIUM_THRESHOLD) \ 1300*5113495bSYour Name CFG(CFG_DP_BUS_BANDWIDTH_LOW_THRESHOLD) \ 1301*5113495bSYour Name CFG(CFG_DP_BUS_BANDWIDTH_COMPUTE_INTERVAL) \ 1302*5113495bSYour Name CFG(CFG_DP_ENABLE_TCP_LIMIT_OUTPUT) \ 1303*5113495bSYour Name CFG(CFG_DP_ENABLE_TCP_ADV_WIN_SCALE) \ 1304*5113495bSYour Name CFG(CFG_DP_ENABLE_TCP_DELACK) \ 1305*5113495bSYour Name CFG(CFG_DP_TCP_DELACK_THRESHOLD_HIGH) \ 1306*5113495bSYour Name CFG(CFG_DP_TCP_DELACK_THRESHOLD_LOW) \ 1307*5113495bSYour Name CFG(CFG_DP_TCP_DELACK_TIMER_COUNT) \ 1308*5113495bSYour Name CFG(CFG_DP_TCP_TX_HIGH_TPUT_THRESHOLD) \ 1309*5113495bSYour Name CFG(CFG_DP_BUS_LOW_BW_CNT_THRESHOLD) \ 1310*5113495bSYour Name CFG(CFG_DP_BUS_HANDLE_LATENCY_CRITICAL_CLIENTS) 1311*5113495bSYour Name 1312*5113495bSYour Name #else 1313*5113495bSYour Name #define CFG_DP_BUS_BANDWIDTH 1314*5113495bSYour Name #endif 1315*5113495bSYour Name 1316*5113495bSYour Name #ifdef QCA_SUPPORT_TXRX_DRIVER_TCP_DEL_ACK 1317*5113495bSYour Name #define CFG_DP_DRIVER_TCP_DELACK \ 1318*5113495bSYour Name CFG(CFG_DP_DRIVER_TCP_DELACK_HIGH_THRESHOLD) \ 1319*5113495bSYour Name CFG(CFG_DP_DRIVER_TCP_DELACK_LOW_THRESHOLD) \ 1320*5113495bSYour Name CFG(CFG_DP_DRIVER_TCP_DELACK_TIMER_VALUE) \ 1321*5113495bSYour Name CFG(CFG_DP_DRIVER_TCP_DELACK_PKT_CNT) \ 1322*5113495bSYour Name CFG(CFG_DP_DRIVER_TCP_DELACK_ENABLE) 1323*5113495bSYour Name #else 1324*5113495bSYour Name #define CFG_DP_DRIVER_TCP_DELACK 1325*5113495bSYour Name #endif 1326*5113495bSYour Name 1327*5113495bSYour Name #ifdef WLAN_SUPPORT_TXRX_HL_BUNDLE 1328*5113495bSYour Name #define CFG_DP_HL_BUNDLE \ 1329*5113495bSYour Name CFG(CFG_DP_HL_BUNDLE_HIGH_TH) \ 1330*5113495bSYour Name CFG(CFG_DP_HL_BUNDLE_LOW_TH) \ 1331*5113495bSYour Name CFG(CFG_DP_HL_BUNDLE_TIMER_VALUE) \ 1332*5113495bSYour Name CFG(CFG_DP_HL_BUNDLE_SIZE) 1333*5113495bSYour Name #else 1334*5113495bSYour Name #define CFG_DP_HL_BUNDLE 1335*5113495bSYour Name #endif 1336*5113495bSYour Name 1337*5113495bSYour Name #define CFG_DP_ALL \ 1338*5113495bSYour Name CFG(CFG_DP_RX_THREAD_CPU_MASK) \ 1339*5113495bSYour Name CFG(CFG_DP_RX_THREAD_UL_CPU_MASK) \ 1340*5113495bSYour Name CFG(CFG_DP_RPS_RX_QUEUE_CPU_MAP_LIST) \ 1341*5113495bSYour Name CFG(CFG_DP_TX_ORPHAN_ENABLE) \ 1342*5113495bSYour Name CFG(CFG_DP_RX_MODE) \ 1343*5113495bSYour Name CFG(CFG_DP_TX_COMP_LOOP_PKT_LIMIT)\ 1344*5113495bSYour Name CFG(CFG_DP_RX_REAP_LOOP_PKT_LIMIT)\ 1345*5113495bSYour Name CFG(CFG_DP_RX_HP_OOS_UPDATE_LIMIT)\ 1346*5113495bSYour Name CFG(CFG_DP_RX_SOFTIRQ_MAX_YIELD_TIME_NS)\ 1347*5113495bSYour Name CFG(CFG_DP_CE_SERVICE_MAX_RX_IND_FLUSH) \ 1348*5113495bSYour Name CFG(CFG_DP_CE_SERVICE_MAX_YIELD_TIME) \ 1349*5113495bSYour Name CFG(CFG_DP_ENABLE_TCP_PARAM_UPDATE) \ 1350*5113495bSYour Name CFG(CFG_DP_FILTER_MULTICAST_REPLAY) \ 1351*5113495bSYour Name CFG(CFG_DP_RX_WAKELOCK_TIMEOUT) \ 1352*5113495bSYour Name CFG(CFG_DP_NUM_DP_RX_THREADS) \ 1353*5113495bSYour Name CFG(CFG_DP_ICMP_REQ_TO_FW_MARK_INTERVAL) \ 1354*5113495bSYour Name CFG(CFG_ENABLE_DIRECT_LINK_UT_CMD) \ 1355*5113495bSYour Name CFG(CFG_DP_APPLY_MEM_PROFILE) \ 1356*5113495bSYour Name CFG_DP_ENABLE_FASTPATH_ALL \ 1357*5113495bSYour Name CFG_DP_BUS_BANDWIDTH \ 1358*5113495bSYour Name CFG_DP_DRIVER_TCP_DELACK \ 1359*5113495bSYour Name CFG_DP_ENABLE_NUD_TRACKING_ALL \ 1360*5113495bSYour Name CFG_DP_CONFIG_DP_TRACE_ALL \ 1361*5113495bSYour Name CFG_DP_HL_BUNDLE \ 1362*5113495bSYour Name CFG_DP_FISA 1363*5113495bSYour Name 1364*5113495bSYour Name #endif /* WLAN_DP_CFG_H__ */ 1365