1 /* 2 * Copyright (c) 2018-2021 The Linux Foundation. All rights reserved. 3 * Copyright (c) 2021-2022 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 /** 21 * DOC: This file contains definitions of Data Path configuration. 22 */ 23 24 #ifndef _CFG_DP_H_ 25 #define _CFG_DP_H_ 26 27 #include "cfg_define.h" 28 #include "wlan_init_cfg.h" 29 30 #define WLAN_CFG_MAX_CLIENTS 64 31 #define WLAN_CFG_MAX_CLIENTS_MIN 8 32 #define WLAN_CFG_MAX_CLIENTS_MAX 64 33 34 /* Change this to a lower value to enforce scattered idle list mode */ 35 #define WLAN_CFG_MAX_ALLOC_SIZE 0x200000 36 #define WLAN_CFG_MAX_ALLOC_SIZE_MIN 0x80000 37 #define WLAN_CFG_MAX_ALLOC_SIZE_MAX 0x200000 38 39 #if defined(QCA_LL_TX_FLOW_CONTROL_V2) || \ 40 defined(QCA_LL_PDEV_TX_FLOW_CONTROL) 41 #define WLAN_CFG_TX_FLOW_START_QUEUE_OFFSET 10 42 #define WLAN_CFG_TX_FLOW_STOP_QUEUE_TH 15 43 #else 44 #define WLAN_CFG_TX_FLOW_START_QUEUE_OFFSET 0 45 #define WLAN_CFG_TX_FLOW_STOP_QUEUE_TH 0 46 #endif 47 48 #define WLAN_CFG_PER_PDEV_TX_RING_MIN 0 49 #define WLAN_CFG_PER_PDEV_TX_RING_MAX 1 50 51 #ifdef IPA_OFFLOAD 52 /* Size of TCL TX Ring */ 53 #if defined(TX_TO_NPEERS_INC_TX_DESCS) 54 #define WLAN_CFG_TX_RING_SIZE 2048 55 #else 56 #define WLAN_CFG_TX_RING_SIZE 1024 57 #endif 58 59 #define WLAN_CFG_IPA_TX_RING_SIZE_MIN 1024 60 #define WLAN_CFG_IPA_TX_RING_SIZE 1024 61 #define WLAN_CFG_IPA_TX_RING_SIZE_MAX 8096 62 63 #define WLAN_CFG_IPA_TX_COMP_RING_SIZE_MIN 1024 64 #define WLAN_CFG_IPA_TX_COMP_RING_SIZE 1024 65 #define WLAN_CFG_IPA_TX_COMP_RING_SIZE_MAX 8096 66 67 #ifdef IPA_WDI3_TX_TWO_PIPES 68 #define WLAN_CFG_IPA_TX_ALT_RING_SIZE_MIN 1024 69 #define WLAN_CFG_IPA_TX_ALT_RING_SIZE 1024 70 #define WLAN_CFG_IPA_TX_ALT_RING_SIZE_MAX 8096 71 72 #define WLAN_CFG_IPA_TX_ALT_COMP_RING_SIZE_MIN 1024 73 #define WLAN_CFG_IPA_TX_ALT_COMP_RING_SIZE 1024 74 #define WLAN_CFG_IPA_TX_ALT_COMP_RING_SIZE_MAX 8096 75 #endif 76 77 #define WLAN_CFG_PER_PDEV_TX_RING 0 78 #define WLAN_CFG_IPA_UC_TX_BUF_SIZE 2048 79 #define WLAN_CFG_IPA_UC_TX_PARTITION_BASE 3000 80 #define WLAN_CFG_IPA_UC_RX_IND_RING_COUNT 1024 81 #else 82 #define WLAN_CFG_TX_RING_SIZE 512 83 #if defined(WLAN_MAX_PDEVS) && (WLAN_MAX_PDEVS == 1) 84 #define WLAN_CFG_PER_PDEV_TX_RING 1 85 #else 86 #define WLAN_CFG_PER_PDEV_TX_RING 0 87 #endif 88 #define WLAN_CFG_IPA_UC_TX_BUF_SIZE 0 89 #define WLAN_CFG_IPA_UC_TX_PARTITION_BASE 0 90 #define WLAN_CFG_IPA_UC_RX_IND_RING_COUNT 0 91 #endif /* IPA_OFFLOAD */ 92 93 #define WLAN_CFG_TIME_CONTROL_BP 3000 94 95 #if defined(WLAN_MAX_PDEVS) && (WLAN_MAX_PDEVS == 1) 96 #define WLAN_CFG_PER_PDEV_RX_RING 0 97 #define WLAN_CFG_PER_PDEV_LMAC_RING 0 98 #define WLAN_LRO_ENABLE 0 99 #ifdef QCA_WIFI_QCA6750 100 #define WLAN_CFG_MAC_PER_TARGET 1 101 #else 102 #define WLAN_CFG_MAC_PER_TARGET 2 103 #endif 104 105 #if defined(TX_TO_NPEERS_INC_TX_DESCS) 106 #define WLAN_CFG_TX_COMP_RING_SIZE 4096 107 108 /* Tx Descriptor and Tx Extension Descriptor pool sizes */ 109 #define WLAN_CFG_NUM_TX_DESC 4096 110 #define WLAN_CFG_NUM_TX_EXT_DESC 4096 111 #else 112 #define WLAN_CFG_TX_COMP_RING_SIZE 1024 113 114 /* Tx Descriptor and Tx Extension Descriptor pool sizes */ 115 #define WLAN_CFG_NUM_TX_DESC 1024 116 #define WLAN_CFG_NUM_TX_EXT_DESC 1024 117 #endif 118 119 /* Interrupt Mitigation - Batch threshold in terms of number of frames */ 120 #define WLAN_CFG_INT_BATCH_THRESHOLD_TX 1 121 #define WLAN_CFG_INT_BATCH_THRESHOLD_OTHER 1 122 123 /* Interrupt Mitigation - Timer threshold in us */ 124 #define WLAN_CFG_INT_TIMER_THRESHOLD_TX 8 125 #define WLAN_CFG_INT_TIMER_THRESHOLD_OTHER 8 126 127 #ifdef WLAN_DP_PER_RING_TYPE_CONFIG 128 #define WLAN_CFG_INT_BATCH_THRESHOLD_RX \ 129 WLAN_CFG_INT_BATCH_THRESHOLD_REO_RING 130 #define WLAN_CFG_INT_TIMER_THRESHOLD_RX \ 131 WLAN_CFG_INT_TIMER_THRESHOLD_REO_RING 132 #else 133 #define WLAN_CFG_INT_BATCH_THRESHOLD_RX 1 134 #define WLAN_CFG_INT_TIMER_THRESHOLD_RX 8 135 #endif 136 #endif /* WLAN_MAX_PDEVS */ 137 138 #ifdef NBUF_MEMORY_DEBUG 139 #define WLAN_CFG_RX_PENDING_THRESHOLD_DEFAULT 0xFFFF 140 #else 141 #define WLAN_CFG_RX_PENDING_THRESHOLD_DEFAULT 0x1FFFF 142 #endif 143 144 #define WLAN_CFG_RX_PENDING_HL_THRESHOLD \ 145 WLAN_CFG_RX_PENDING_THRESHOLD_DEFAULT 146 #define WLAN_CFG_RX_PENDING_HL_THRESHOLD_MIN 0 147 #define WLAN_CFG_RX_PENDING_HL_THRESHOLD_MAX 0x200000 148 149 #define WLAN_CFG_RX_PENDING_LO_THRESHOLD \ 150 WLAN_CFG_RX_PENDING_THRESHOLD_DEFAULT 151 #define WLAN_CFG_RX_PENDING_LO_THRESHOLD_MIN 100 152 #define WLAN_CFG_RX_PENDING_LO_THRESHOLD_MAX 0x200000 153 154 #define WLAN_CFG_INT_TIMER_THRESHOLD_WBM_RELEASE_RING 256 155 #define WLAN_CFG_INT_TIMER_THRESHOLD_REO_RING 512 156 #define WLAN_CFG_INT_BATCH_THRESHOLD_REO_RING 0 157 158 #define WLAN_CFG_PER_PDEV_RX_RING_MIN 0 159 #define WLAN_CFG_PER_PDEV_RX_RING_MAX 0 160 161 #define WLAN_CFG_PER_PDEV_LMAC_RING_MIN 0 162 #define WLAN_CFG_PER_PDEV_LMAC_RING_MAX 1 163 164 #define WLAN_CFG_TX_RING_SIZE_MIN 512 165 #define WLAN_CFG_TX_RING_SIZE_MAX 0x80000 166 167 #define WLAN_CFG_TIME_CONTROL_BP_MIN 3000 168 #define WLAN_CFG_TIME_CONTROL_BP_MAX 1800000 169 170 #define WLAN_CFG_TX_COMP_RING_SIZE_MIN 512 171 #define WLAN_CFG_TX_COMP_RING_SIZE_MAX 0x80000 172 173 #define WLAN_CFG_NUM_TX_DESC_MIN 16 174 #define WLAN_CFG_NUM_TX_DESC_MAX 0x10000 175 176 #define WLAN_CFG_NUM_TX_EXT_DESC_MIN 16 177 #define WLAN_CFG_NUM_TX_EXT_DESC_MAX 0x80000 178 179 #define WLAN_CFG_INT_BATCH_THRESHOLD_TX_MIN 1 180 #define WLAN_CFG_INT_BATCH_THRESHOLD_TX_MAX 256 181 182 #define WLAN_CFG_INT_BATCH_THRESHOLD_RX_MIN 0 183 #define WLAN_CFG_INT_BATCH_THRESHOLD_RX_MAX 128 184 185 #define WLAN_CFG_INT_BATCH_THRESHOLD_REO_RING_MIN 1 186 #define WLAN_CFG_INT_BATCH_THRESHOLD_REO_RING_MAX 128 187 188 #define WLAN_CFG_INT_BATCH_THRESHOLD_WBM_RELEASE_RING_MIN 1 189 #define WLAN_CFG_INT_BATCH_THRESHOLD_WBM_RELEASE_RING_MAX 128 190 191 #define WLAN_CFG_INT_BATCH_THRESHOLD_OTHER_MIN 1 192 #define WLAN_CFG_INT_BATCH_THRESHOLD_OTHER_MAX 1 193 194 #define WLAN_CFG_INT_TIMER_THRESHOLD_TX_MIN 8 195 #define WLAN_CFG_INT_TIMER_THRESHOLD_TX_MAX 1000 196 197 #define WLAN_CFG_INT_TIMER_THRESHOLD_RX_MIN 8 198 #define WLAN_CFG_INT_TIMER_THRESHOLD_RX_MAX 500 199 200 #define WLAN_CFG_INT_TIMER_THRESHOLD_OTHER_MIN 8 201 #define WLAN_CFG_INT_TIMER_THRESHOLD_OTHER_MAX 1000 202 203 #define WLAN_CFG_INT_TIMER_THRESHOLD_REO_RING_MIN 8 204 #define WLAN_CFG_INT_TIMER_THRESHOLD_REO_RING_MAX 512 205 206 #define WLAN_CFG_INT_TIMER_THRESHOLD_WBM_RELEASE_RING_MIN 8 207 #define WLAN_CFG_INT_TIMER_THRESHOLD_WBM_RELEASE_RING_MAX 500 208 209 #define WLAN_CFG_NSS_TX_COMP_RING_SIZE 0x2000 210 #define WLAN_CFG_NSS_TX_COMP_RING_SIZE_MIN 0x2000 211 #define WLAN_CFG_NSS_TX_COMP_RING_SIZE_MAX 0xc000 212 213 #ifdef QCA_LL_TX_FLOW_CONTROL_V2 214 215 /* Per vdev pools */ 216 #define WLAN_CFG_NUM_TX_DESC_POOL 3 217 #define WLAN_CFG_NUM_TXEXT_DESC_POOL 3 218 219 #else /* QCA_LL_TX_FLOW_CONTROL_V2 */ 220 221 #ifdef TX_PER_PDEV_DESC_POOL 222 #define WLAN_CFG_NUM_TX_DESC_POOL MAX_PDEV_CNT 223 #define WLAN_CFG_NUM_TXEXT_DESC_POOL MAX_PDEV_CNT 224 225 #else /* TX_PER_PDEV_DESC_POOL */ 226 227 #define WLAN_CFG_NUM_TX_DESC_POOL 3 228 #define WLAN_CFG_NUM_TXEXT_DESC_POOL 3 229 230 #endif /* TX_PER_PDEV_DESC_POOL */ 231 #endif /* QCA_LL_TX_FLOW_CONTROL_V2 */ 232 233 #define WLAN_CFG_NUM_TXEXT_DESC_POOL_MIN 1 234 #define WLAN_CFG_NUM_TXEXT_DESC_POOL_MAX 4 235 236 #define WLAN_CFG_HTT_PKT_TYPE 2 237 #define WLAN_CFG_HTT_PKT_TYPE_MIN 2 238 #define WLAN_CFG_HTT_PKT_TYPE_MAX 2 239 240 #define WLAN_CFG_MAX_PEER_ID 64 241 #define WLAN_CFG_MAX_PEER_ID_MIN 64 242 #define WLAN_CFG_MAX_PEER_ID_MAX 64 243 244 #define WLAN_CFG_RX_DEFRAG_TIMEOUT 100 245 #define WLAN_CFG_RX_DEFRAG_TIMEOUT_MIN 100 246 #define WLAN_CFG_RX_DEFRAG_TIMEOUT_MAX 100 247 248 #define WLAN_CFG_NUM_TCL_DATA_RINGS 3 249 #define WLAN_CFG_NUM_TCL_DATA_RINGS_MIN 1 250 #define WLAN_CFG_NUM_TCL_DATA_RINGS_MAX MAX_TCL_DATA_RINGS 251 252 #define WLAN_CFG_NUM_TX_COMP_RINGS WLAN_CFG_NUM_TCL_DATA_RINGS 253 #define WLAN_CFG_NUM_TX_COMP_RINGS_MIN WLAN_CFG_NUM_TCL_DATA_RINGS_MIN 254 #define WLAN_CFG_NUM_TX_COMP_RINGS_MAX WLAN_CFG_NUM_TCL_DATA_RINGS_MAX 255 256 #if defined(CONFIG_BERYLLIUM) 257 #define WLAN_CFG_NUM_REO_DEST_RING 8 258 #else 259 #define WLAN_CFG_NUM_REO_DEST_RING 4 260 #endif 261 #define WLAN_CFG_NUM_REO_DEST_RING_MIN 4 262 #define WLAN_CFG_NUM_REO_DEST_RING_MAX MAX_REO_DEST_RINGS 263 264 #define WLAN_CFG_NSS_NUM_TCL_DATA_RINGS 2 265 #define WLAN_CFG_NSS_NUM_TCL_DATA_RINGS_MIN 1 266 #define WLAN_CFG_NSS_NUM_TCL_DATA_RINGS_MAX 3 267 268 #define WLAN_CFG_NSS_NUM_REO_DEST_RING 2 269 #define WLAN_CFG_NSS_NUM_REO_DEST_RING_MIN 1 270 #define WLAN_CFG_NSS_NUM_REO_DEST_RING_MAX 3 271 272 #define WLAN_CFG_WBM_RELEASE_RING_SIZE 1024 273 #define WLAN_CFG_WBM_RELEASE_RING_SIZE_MIN 64 274 #define WLAN_CFG_WBM_RELEASE_RING_SIZE_MAX 1024 275 276 #define WLAN_CFG_TCL_CMD_CREDIT_RING_SIZE 512 277 #define WLAN_CFG_TCL_CMD_CREDIT_RING_SIZE_MIN 32 278 #define WLAN_CFG_TCL_CMD_CREDIT_RING_SIZE_MAX 512 279 280 #define WLAN_CFG_TCL_STATUS_RING_SIZE 32 281 #define WLAN_CFG_TCL_STATUS_RING_SIZE_MIN 32 282 #define WLAN_CFG_TCL_STATUS_RING_SIZE_MAX 32 283 284 #if defined(QCA_WIFI_QCA6290) 285 #define WLAN_CFG_REO_DST_RING_SIZE 1024 286 #else 287 #define WLAN_CFG_REO_DST_RING_SIZE 2048 288 #endif 289 290 #define WLAN_CFG_REO_DST_RING_SIZE_MIN 8 291 #define WLAN_CFG_REO_DST_RING_SIZE_MAX 8192 292 293 #define WLAN_CFG_REO_REINJECT_RING_SIZE 128 294 #define WLAN_CFG_REO_REINJECT_RING_SIZE_MIN 32 295 #define WLAN_CFG_REO_REINJECT_RING_SIZE_MAX 128 296 297 #define WLAN_CFG_RX_RELEASE_RING_SIZE 1024 298 #define WLAN_CFG_RX_RELEASE_RING_SIZE_MIN 8 299 #if defined(QCA_WIFI_QCA6390) || defined(QCA_WIFI_QCA6490) || \ 300 defined(QCA_WIFI_QCA6750) || defined(QCA_WIFI_KIWI) 301 #define WLAN_CFG_RX_RELEASE_RING_SIZE_MAX 1024 302 #else 303 #define WLAN_CFG_RX_RELEASE_RING_SIZE_MAX 32768 304 #endif 305 306 #define WLAN_CFG_REO_EXCEPTION_RING_SIZE 256 307 #define WLAN_CFG_REO_EXCEPTION_RING_SIZE_MIN 128 308 #define WLAN_CFG_REO_EXCEPTION_RING_SIZE_MAX 512 309 310 #define WLAN_CFG_REO_CMD_RING_SIZE 128 311 #define WLAN_CFG_REO_CMD_RING_SIZE_MIN 64 312 #define WLAN_CFG_REO_CMD_RING_SIZE_MAX 128 313 314 #define WLAN_CFG_REO_STATUS_RING_SIZE 256 315 #define WLAN_CFG_REO_STATUS_RING_SIZE_MIN 128 316 #define WLAN_CFG_REO_STATUS_RING_SIZE_MAX 2048 317 318 #define WLAN_CFG_RXDMA_BUF_RING_SIZE 1024 319 #define WLAN_CFG_RXDMA_BUF_RING_SIZE_MIN 1024 320 #define WLAN_CFG_RXDMA_BUF_RING_SIZE_MAX 4096 321 322 #define WLAN_CFG_RXDMA_REFILL_RING_SIZE 4096 323 #define WLAN_CFG_RXDMA_REFILL_RING_SIZE_MIN 16 324 #define WLAN_CFG_RXDMA_REFILL_RING_SIZE_MAX 16384 325 326 #define WLAN_CFG_TX_DESC_LIMIT_0 0 327 #define WLAN_CFG_TX_DESC_LIMIT_0_MIN 4096 328 #define WLAN_CFG_TX_DESC_LIMIT_0_MAX 32768 329 330 #define WLAN_CFG_TX_DESC_LIMIT_1 0 331 #define WLAN_CFG_TX_DESC_LIMIT_1_MIN 4096 332 #define WLAN_CFG_TX_DESC_LIMIT_1_MAX 32768 333 334 #define WLAN_CFG_TX_DESC_LIMIT_2 0 335 #define WLAN_CFG_TX_DESC_LIMIT_2_MIN 4096 336 #define WLAN_CFG_TX_DESC_LIMIT_2_MAX 32768 337 338 #define WLAN_CFG_TX_DEVICE_LIMIT 65536 339 #define WLAN_CFG_TX_DEVICE_LIMIT_MIN 16384 340 #define WLAN_CFG_TX_DEVICE_LIMIT_MAX 65536 341 342 #define WLAN_CFG_TX_SW_INTERNODE_QUEUE 1024 343 #define WLAN_CFG_TX_SW_INTERNODE_QUEUE_MIN 128 344 #define WLAN_CFG_TX_SW_INTERNODE_QUEUE_MAX 1024 345 346 #define WLAN_CFG_RXDMA_MONITOR_BUF_RING_SIZE 4096 347 #define WLAN_CFG_RXDMA_MONITOR_BUF_RING_SIZE_MIN 16 348 #define WLAN_CFG_RXDMA_MONITOR_BUF_RING_SIZE_MAX 8192 349 350 #define WLAN_CFG_TX_MONITOR_BUF_RING_SIZE 4096 351 #define WLAN_CFG_TX_MONITOR_BUF_RING_SIZE_MIN 16 352 #define WLAN_CFG_TX_MONITOR_BUF_RING_SIZE_MAX 8192 353 354 #define WLAN_CFG_RXDMA_MONITOR_DST_RING_SIZE 2048 355 #define WLAN_CFG_RXDMA_MONITOR_DST_RING_SIZE_MIN 48 356 #define WLAN_CFG_RXDMA_MONITOR_DST_RING_SIZE_MAX 8192 357 358 #define WLAN_CFG_TX_MONITOR_DST_RING_SIZE 2048 359 #define WLAN_CFG_TX_MONITOR_DST_RING_SIZE_MIN 48 360 #define WLAN_CFG_TX_MONITOR_DST_RING_SIZE_MAX 8192 361 362 #define WLAN_CFG_RXDMA_MONITOR_STATUS_RING_SIZE 1024 363 #define WLAN_CFG_RXDMA_MONITOR_STATUS_RING_SIZE_MIN 16 364 #define WLAN_CFG_RXDMA_MONITOR_STATUS_RING_SIZE_MAX 8192 365 366 #define WLAN_CFG_RXDMA_MONITOR_DESC_RING_SIZE 4096 367 #define WLAN_CFG_RXDMA_MONITOR_DESC_RING_SIZE_MIN 4096 368 #define WLAN_CFG_RXDMA_MONITOR_DESC_RING_SIZE_MAX 16384 369 370 #define WLAN_CFG_RXDMA_ERR_DST_RING_SIZE 1024 371 #define WLAN_CFG_RXDMA_ERR_DST_RING_SIZE_MIN 1024 372 #define WLAN_CFG_RXDMA_ERR_DST_RING_SIZE_MAX 8192 373 374 #define WLAN_CFG_RXDMA_MONITOR_RX_DROP_THRESH_SIZE 32 375 #define WLAN_CFG_RXDMA_MONITOR_RX_DROP_THRESH_SIZE_MIN 0 376 #define WLAN_CFG_RXDMA_MONITOR_RX_DROP_THRESH_SIZE_MAX 256 377 378 /* 379 * Allocate as many RX descriptors as buffers in the SW2RXDMA 380 * ring. This value may need to be tuned later. 381 */ 382 #if defined(WLAN_MAX_PDEVS) && (WLAN_MAX_PDEVS == 1) 383 #define WLAN_CFG_RX_SW_DESC_WEIGHT_SIZE 1 384 #define WLAN_CFG_RX_SW_DESC_WEIGHT_SIZE_MIN 1 385 #define WLAN_CFG_RX_SW_DESC_WEIGHT_SIZE_MAX 1 386 #define WLAN_CFG_RX_SW_DESC_NUM_SIZE 4096 387 #define WLAN_CFG_RX_SW_DESC_NUM_SIZE_MIN 1024 388 #define WLAN_CFG_RX_SW_DESC_NUM_SIZE_MAX 16384 389 390 /* 391 * For low memory AP cases using 1 will reduce the rx descriptors memory req 392 */ 393 #elif defined(QCA_LOWMEM_CONFIG) || defined(QCA_512M_CONFIG) 394 #define WLAN_CFG_RX_SW_DESC_WEIGHT_SIZE 1 395 #define WLAN_CFG_RX_SW_DESC_WEIGHT_SIZE_MIN 1 396 #define WLAN_CFG_RX_SW_DESC_WEIGHT_SIZE_MAX 3 397 #define WLAN_CFG_RX_SW_DESC_NUM_SIZE 4096 398 #define WLAN_CFG_RX_SW_DESC_NUM_SIZE_MIN 1024 399 #define WLAN_CFG_RX_SW_DESC_NUM_SIZE_MAX 16384 400 401 /* 402 * AP use cases need to allocate more RX Descriptors than the number of 403 * entries available in the SW2RXDMA buffer replenish ring. This is to account 404 * for frames sitting in REO queues, HW-HW DMA rings etc. Hence using a 405 * multiplication factor of 3, to allocate three times as many RX descriptors 406 * as RX buffers. 407 */ 408 #else 409 #define WLAN_CFG_RX_SW_DESC_WEIGHT_SIZE 3 410 #define WLAN_CFG_RX_SW_DESC_WEIGHT_SIZE_MIN 1 411 #define WLAN_CFG_RX_SW_DESC_WEIGHT_SIZE_MAX 3 412 #define WLAN_CFG_RX_SW_DESC_NUM_SIZE 12288 413 #define WLAN_CFG_RX_SW_DESC_NUM_SIZE_MIN 4096 414 #define WLAN_CFG_RX_SW_DESC_NUM_SIZE_MAX 16384 415 #endif 416 417 #define WLAN_CFG_RX_FLOW_SEARCH_TABLE_SIZE 16384 418 #define WLAN_CFG_RX_FLOW_SEARCH_TABLE_SIZE_MIN 1 419 #define WLAN_CFG_RX_FLOW_SEARCH_TABLE_SIZE_MAX 16384 420 #define WLAN_CFG_RX_FLOW_SEARCH_TABLE_SIZE_DEFAULT 128 421 422 #define WLAN_CFG_PKTLOG_BUFFER_SIZE 10 423 #define WLAN_CFG_PKTLOG_MIN_BUFFER_SIZE 1 424 #define WLAN_CFG_PKTLOG_MAX_BUFFER_SIZE 10 425 426 #ifdef IPA_OFFLOAD 427 #define WLAN_CFG_NUM_REO_RINGS_MAP 0x7 428 #else 429 #define WLAN_CFG_NUM_REO_RINGS_MAP 0xF 430 #endif 431 #define WLAN_CFG_NUM_REO_RINGS_MAP_MIN 0x1 432 #if defined(CONFIG_BERYLLIUM) 433 #define WLAN_CFG_NUM_REO_RINGS_MAP_MAX 0xFF 434 #else 435 #define WLAN_CFG_NUM_REO_RINGS_MAP_MAX 0xF 436 #endif 437 438 #define WLAN_CFG_RADIO_0_DEFAULT_REO 0x1 439 #define WLAN_CFG_RADIO_1_DEFAULT_REO 0x2 440 #define WLAN_CFG_RADIO_2_DEFAULT_REO 0x3 441 442 #define WLAN_CFG_RADIO_DEFAULT_REO_MIN 0x1 443 #define WLAN_CFG_RADIO_DEFAULT_REO_MAX 0x4 444 445 #define WLAN_CFG_REO2PPE_RING_SIZE 2048 446 #define WLAN_CFG_REO2PPE_RING_SIZE_MIN 64 447 #define WLAN_CFG_REO2PPE_RING_SIZE_MAX 16384 448 449 #define WLAN_CFG_PPE2TCL_RING_SIZE 2048 450 #define WLAN_CFG_PPE2TCL_RING_SIZE_MIN 64 451 #define WLAN_CFG_PPE2TCL_RING_SIZE_MAX 32768 452 453 #define WLAN_CFG_PPE_RELEASE_RING_SIZE 1024 454 #define WLAN_CFG_PPE_RELEASE_RING_SIZE_MIN 64 455 #define WLAN_CFG_PPE_RELEASE_RING_SIZE_MAX 1024 456 457 #if defined(WLAN_FEATURE_11BE_MLO) && defined(WLAN_MLO_MULTI_CHIP) 458 #define WLAN_CFG_MLO_RX_RING_MAP 0x7 459 #define WLAN_CFG_MLO_RX_RING_MAP_MIN 0x0 460 #define WLAN_CFG_MLO_RX_RING_MAP_MAX 0xFF 461 #endif 462 463 #define WLAN_CFG_TX_CAPT_MAX_MEM_MIN 0 464 #define WLAN_CFG_TX_CAPT_MAX_MEM_MAX 512 465 #define WLAN_CFG_TX_CAPT_MAX_MEM_DEFAULT 0 466 467 #define CFG_DP_MPDU_RETRY_THRESHOLD_MIN 0 468 #define CFG_DP_MPDU_RETRY_THRESHOLD_MAX 255 469 #define CFG_DP_MPDU_RETRY_THRESHOLD 0 470 471 #define WLAN_CFG_DP_NAPI_SCALE_FACTOR 0 472 #define WLAN_CFG_DP_NAPI_SCALE_FACTOR_MIN 0 473 #define WLAN_CFG_DP_NAPI_SCALE_FACTOR_MAX 4 474 475 #ifdef CONFIG_SAWF_STATS 476 #define WLAN_CFG_SAWF_STATS 0x0 477 #define WLAN_CFG_SAWF_STATS_MIN 0x0 478 #define WLAN_CFG_SAWF_STATS_MAX 0x7 479 #endif 480 /* 481 * <ini> 482 * "dp_tx_capt_max_mem_mb"- maximum memory used by Tx capture 483 * @Min: 0 484 * @Max: 512 MB 485 * @Default: 0 (disabled) 486 * 487 * This ini entry is used to set a max limit beyond which frames 488 * are dropped by Tx capture. User needs to set a non-zero value 489 * to enable it. 490 * 491 * Usage: External 492 * 493 * </ini> 494 */ 495 #define CFG_DP_TX_CAPT_MAX_MEM_MB \ 496 CFG_INI_UINT("dp_tx_capt_max_mem_mb", \ 497 WLAN_CFG_TX_CAPT_MAX_MEM_MIN, \ 498 WLAN_CFG_TX_CAPT_MAX_MEM_MAX, \ 499 WLAN_CFG_TX_CAPT_MAX_MEM_DEFAULT, \ 500 CFG_VALUE_OR_DEFAULT, "Max Memory (in MB) used by Tx Capture") 501 502 /* DP INI Declarations */ 503 #define CFG_DP_HTT_PACKET_TYPE \ 504 CFG_INI_UINT("dp_htt_packet_type", \ 505 WLAN_CFG_HTT_PKT_TYPE_MIN, \ 506 WLAN_CFG_HTT_PKT_TYPE_MAX, \ 507 WLAN_CFG_HTT_PKT_TYPE, \ 508 CFG_VALUE_OR_DEFAULT, "DP HTT packet type") 509 510 #define CFG_DP_INT_BATCH_THRESHOLD_OTHER \ 511 CFG_INI_UINT("dp_int_batch_threshold_other", \ 512 WLAN_CFG_INT_BATCH_THRESHOLD_OTHER_MIN, \ 513 WLAN_CFG_INT_BATCH_THRESHOLD_OTHER_MAX, \ 514 WLAN_CFG_INT_BATCH_THRESHOLD_OTHER, \ 515 CFG_VALUE_OR_DEFAULT, "DP INT batch threshold Other") 516 517 #define CFG_DP_INT_BATCH_THRESHOLD_RX \ 518 CFG_INI_UINT("dp_int_batch_threshold_rx", \ 519 WLAN_CFG_INT_BATCH_THRESHOLD_RX_MIN, \ 520 WLAN_CFG_INT_BATCH_THRESHOLD_RX_MAX, \ 521 WLAN_CFG_INT_BATCH_THRESHOLD_RX, \ 522 CFG_VALUE_OR_DEFAULT, "DP INT batch threshold Rx") 523 524 #define CFG_DP_INT_BATCH_THRESHOLD_TX \ 525 CFG_INI_UINT("dp_int_batch_threshold_tx", \ 526 WLAN_CFG_INT_BATCH_THRESHOLD_TX_MIN, \ 527 WLAN_CFG_INT_BATCH_THRESHOLD_TX_MAX, \ 528 WLAN_CFG_INT_BATCH_THRESHOLD_TX, \ 529 CFG_VALUE_OR_DEFAULT, "DP INT threshold Tx") 530 531 #define CFG_DP_INT_TIMER_THRESHOLD_OTHER \ 532 CFG_INI_UINT("dp_int_timer_threshold_other", \ 533 WLAN_CFG_INT_TIMER_THRESHOLD_OTHER_MIN, \ 534 WLAN_CFG_INT_TIMER_THRESHOLD_OTHER_MAX, \ 535 WLAN_CFG_INT_TIMER_THRESHOLD_OTHER, \ 536 CFG_VALUE_OR_DEFAULT, "DP INT timer threshold Other") 537 538 #define CFG_DP_INT_TIMER_THRESHOLD_RX \ 539 CFG_INI_UINT("dp_int_timer_threshold_rx", \ 540 WLAN_CFG_INT_TIMER_THRESHOLD_RX_MIN, \ 541 WLAN_CFG_INT_TIMER_THRESHOLD_RX_MAX, \ 542 WLAN_CFG_INT_TIMER_THRESHOLD_RX, \ 543 CFG_VALUE_OR_DEFAULT, "DP INT timer threshold Rx") 544 545 #define CFG_DP_INT_TIMER_THRESHOLD_REO_RING \ 546 CFG_INI_UINT("dp_int_timer_threshold_reo_ring", \ 547 WLAN_CFG_INT_TIMER_THRESHOLD_REO_RING_MIN, \ 548 WLAN_CFG_INT_TIMER_THRESHOLD_REO_RING_MAX, \ 549 WLAN_CFG_INT_TIMER_THRESHOLD_REO_RING, \ 550 CFG_VALUE_OR_DEFAULT, "DP INT timer threshold Reo ring") 551 552 #define CFG_DP_INT_TIMER_THRESHOLD_WBM_RELEASE_RING \ 553 CFG_INI_UINT("dp_int_timer_threshold_wbm_release_ring", \ 554 WLAN_CFG_INT_TIMER_THRESHOLD_WBM_RELEASE_RING_MIN, \ 555 WLAN_CFG_INT_TIMER_THRESHOLD_WBM_RELEASE_RING_MAX, \ 556 WLAN_CFG_INT_TIMER_THRESHOLD_WBM_RELEASE_RING, \ 557 CFG_VALUE_OR_DEFAULT, "DP INT timer threshold wbm release ring") 558 559 #define CFG_DP_INT_TIMER_THRESHOLD_TX \ 560 CFG_INI_UINT("dp_int_timer_threshold_tx", \ 561 WLAN_CFG_INT_TIMER_THRESHOLD_TX_MIN, \ 562 WLAN_CFG_INT_TIMER_THRESHOLD_TX_MAX, \ 563 WLAN_CFG_INT_TIMER_THRESHOLD_TX, \ 564 CFG_VALUE_OR_DEFAULT, "DP INT timer threshold Tx") 565 566 #define CFG_DP_MAX_ALLOC_SIZE \ 567 CFG_INI_UINT("dp_max_alloc_size", \ 568 WLAN_CFG_MAX_ALLOC_SIZE_MIN, \ 569 WLAN_CFG_MAX_ALLOC_SIZE_MAX, \ 570 WLAN_CFG_MAX_ALLOC_SIZE, \ 571 CFG_VALUE_OR_DEFAULT, "DP Max Alloc Size") 572 573 #define CFG_DP_MAX_CLIENTS \ 574 CFG_INI_UINT("dp_max_clients", \ 575 WLAN_CFG_MAX_CLIENTS_MIN, \ 576 WLAN_CFG_MAX_CLIENTS_MAX, \ 577 WLAN_CFG_MAX_CLIENTS, \ 578 CFG_VALUE_OR_DEFAULT, "DP Max Clients") 579 580 #define CFG_DP_MAX_PEER_ID \ 581 CFG_INI_UINT("dp_max_peer_id", \ 582 WLAN_CFG_MAX_PEER_ID_MIN, \ 583 WLAN_CFG_MAX_PEER_ID_MAX, \ 584 WLAN_CFG_MAX_PEER_ID, \ 585 CFG_VALUE_OR_DEFAULT, "DP Max Peer ID") 586 587 #define CFG_DP_REO_DEST_RINGS \ 588 CFG_INI_UINT("dp_reo_dest_rings", \ 589 WLAN_CFG_NUM_REO_DEST_RING_MIN, \ 590 WLAN_CFG_NUM_REO_DEST_RING_MAX, \ 591 WLAN_CFG_NUM_REO_DEST_RING, \ 592 CFG_VALUE_OR_DEFAULT, "DP REO Destination Rings") 593 594 #define CFG_DP_TX_COMP_RINGS \ 595 CFG_INI_UINT("dp_tx_comp_rings", \ 596 WLAN_CFG_NUM_TX_COMP_RINGS_MIN, \ 597 WLAN_CFG_NUM_TX_COMP_RINGS_MAX, \ 598 WLAN_CFG_NUM_TX_COMP_RINGS, \ 599 CFG_VALUE_OR_DEFAULT, "DP Tx Comp Rings") 600 601 #define CFG_DP_TCL_DATA_RINGS \ 602 CFG_INI_UINT("dp_tcl_data_rings", \ 603 WLAN_CFG_NUM_TCL_DATA_RINGS_MIN, \ 604 WLAN_CFG_NUM_TCL_DATA_RINGS_MAX, \ 605 WLAN_CFG_NUM_TCL_DATA_RINGS, \ 606 CFG_VALUE_OR_DEFAULT, "DP TCL Data Rings") 607 608 #define CFG_DP_NSS_REO_DEST_RINGS \ 609 CFG_INI_UINT("dp_nss_reo_dest_rings", \ 610 WLAN_CFG_NSS_NUM_REO_DEST_RING_MIN, \ 611 WLAN_CFG_NSS_NUM_REO_DEST_RING_MAX, \ 612 WLAN_CFG_NSS_NUM_REO_DEST_RING, \ 613 CFG_VALUE_OR_DEFAULT, "DP NSS REO Destination Rings") 614 615 #define CFG_DP_NSS_TCL_DATA_RINGS \ 616 CFG_INI_UINT("dp_nss_tcl_data_rings", \ 617 WLAN_CFG_NSS_NUM_TCL_DATA_RINGS_MIN, \ 618 WLAN_CFG_NSS_NUM_TCL_DATA_RINGS_MAX, \ 619 WLAN_CFG_NSS_NUM_TCL_DATA_RINGS, \ 620 CFG_VALUE_OR_DEFAULT, "DP NSS TCL Data Rings") 621 622 #define CFG_DP_TX_DESC \ 623 CFG_INI_UINT("dp_tx_desc", \ 624 WLAN_CFG_NUM_TX_DESC_MIN, \ 625 WLAN_CFG_NUM_TX_DESC_MAX, \ 626 WLAN_CFG_NUM_TX_DESC, \ 627 CFG_VALUE_OR_DEFAULT, "DP Tx Descriptors") 628 629 #define CFG_DP_TX_EXT_DESC \ 630 CFG_INI_UINT("dp_tx_ext_desc", \ 631 WLAN_CFG_NUM_TX_EXT_DESC_MIN, \ 632 WLAN_CFG_NUM_TX_EXT_DESC_MAX, \ 633 WLAN_CFG_NUM_TX_EXT_DESC, \ 634 CFG_VALUE_OR_DEFAULT, "DP Tx Ext Descriptors") 635 636 #define CFG_DP_TX_EXT_DESC_POOLS \ 637 CFG_INI_UINT("dp_tx_ext_desc_pool", \ 638 WLAN_CFG_NUM_TXEXT_DESC_POOL_MIN, \ 639 WLAN_CFG_NUM_TXEXT_DESC_POOL_MAX, \ 640 WLAN_CFG_NUM_TXEXT_DESC_POOL, \ 641 CFG_VALUE_OR_DEFAULT, "DP Tx Ext Descriptors Pool") 642 643 #define CFG_DP_PDEV_RX_RING \ 644 CFG_INI_UINT("dp_pdev_rx_ring", \ 645 WLAN_CFG_PER_PDEV_RX_RING_MIN, \ 646 WLAN_CFG_PER_PDEV_RX_RING_MAX, \ 647 WLAN_CFG_PER_PDEV_RX_RING, \ 648 CFG_VALUE_OR_DEFAULT, "DP PDEV Rx Ring") 649 650 #define CFG_DP_PDEV_TX_RING \ 651 CFG_INI_UINT("dp_pdev_tx_ring", \ 652 WLAN_CFG_PER_PDEV_TX_RING_MIN, \ 653 WLAN_CFG_PER_PDEV_TX_RING_MAX, \ 654 WLAN_CFG_PER_PDEV_TX_RING, \ 655 CFG_VALUE_OR_DEFAULT, \ 656 "DP PDEV Tx Ring") 657 658 #define CFG_DP_RX_DEFRAG_TIMEOUT \ 659 CFG_INI_UINT("dp_rx_defrag_timeout", \ 660 WLAN_CFG_RX_DEFRAG_TIMEOUT_MIN, \ 661 WLAN_CFG_RX_DEFRAG_TIMEOUT_MAX, \ 662 WLAN_CFG_RX_DEFRAG_TIMEOUT, \ 663 CFG_VALUE_OR_DEFAULT, "DP Rx Defrag Timeout") 664 665 #define CFG_DP_TX_COMPL_RING_SIZE \ 666 CFG_INI_UINT("dp_tx_compl_ring_size", \ 667 WLAN_CFG_TX_COMP_RING_SIZE_MIN, \ 668 WLAN_CFG_TX_COMP_RING_SIZE_MAX, \ 669 WLAN_CFG_TX_COMP_RING_SIZE, \ 670 CFG_VALUE_OR_DEFAULT, "DP Tx Completion Ring Size") 671 672 #define CFG_DP_TX_RING_SIZE \ 673 CFG_INI_UINT("dp_tx_ring_size", \ 674 WLAN_CFG_TX_RING_SIZE_MIN,\ 675 WLAN_CFG_TX_RING_SIZE_MAX,\ 676 WLAN_CFG_TX_RING_SIZE,\ 677 CFG_VALUE_OR_DEFAULT, "DP Tx Ring Size") 678 679 #define CFG_DP_NSS_COMP_RING_SIZE \ 680 CFG_INI_UINT("dp_nss_comp_ring_size", \ 681 WLAN_CFG_NSS_TX_COMP_RING_SIZE_MIN, \ 682 WLAN_CFG_NSS_TX_COMP_RING_SIZE_MAX, \ 683 WLAN_CFG_NSS_TX_COMP_RING_SIZE, \ 684 CFG_VALUE_OR_DEFAULT, "DP NSS completion Ring Size") 685 686 #define CFG_DP_PDEV_LMAC_RING \ 687 CFG_INI_UINT("dp_pdev_lmac_ring", \ 688 WLAN_CFG_PER_PDEV_LMAC_RING_MIN, \ 689 WLAN_CFG_PER_PDEV_LMAC_RING_MAX, \ 690 WLAN_CFG_PER_PDEV_LMAC_RING, \ 691 CFG_VALUE_OR_DEFAULT, "DP pdev LMAC ring") 692 693 #define CFG_DP_TIME_CONTROL_BP \ 694 CFG_INI_UINT("dp_time_control_bp", \ 695 WLAN_CFG_TIME_CONTROL_BP_MIN,\ 696 WLAN_CFG_TIME_CONTROL_BP_MAX,\ 697 WLAN_CFG_TIME_CONTROL_BP,\ 698 CFG_VALUE_OR_DEFAULT, "DP time control back pressure") 699 700 #ifdef CONFIG_SAWF_STATS 701 #define CFG_DP_SAWF_STATS \ 702 CFG_INI_UINT("dp_sawf_stats", \ 703 WLAN_CFG_SAWF_STATS_MIN,\ 704 WLAN_CFG_SAWF_STATS_MAX,\ 705 WLAN_CFG_SAWF_STATS,\ 706 CFG_VALUE_OR_DEFAULT, "DP sawf stats config") 707 #define CFG_DP_SAWF_STATS_CONFIG CFG(CFG_DP_SAWF_STATS) 708 #else 709 #define CFG_DP_SAWF_STATS_CONFIG 710 #endif 711 712 /* 713 * <ini> 714 * dp_rx_pending_hl_threshold - High threshold of frame number to start 715 * frame dropping scheme 716 * @Min: 0 717 * @Max: 524288 718 * @Default: 393216 719 * 720 * This ini entry is used to set a high limit threshold to start frame 721 * dropping scheme 722 * 723 * Usage: External 724 * 725 * </ini> 726 */ 727 #define CFG_DP_RX_PENDING_HL_THRESHOLD \ 728 CFG_INI_UINT("dp_rx_pending_hl_threshold", \ 729 WLAN_CFG_RX_PENDING_HL_THRESHOLD_MIN, \ 730 WLAN_CFG_RX_PENDING_HL_THRESHOLD_MAX, \ 731 WLAN_CFG_RX_PENDING_HL_THRESHOLD, \ 732 CFG_VALUE_OR_DEFAULT, "DP rx pending hl threshold") 733 734 /* 735 * <ini> 736 * dp_rx_pending_lo_threshold - Low threshold of frame number to stop 737 * frame dropping scheme 738 * @Min: 100 739 * @Max: 524288 740 * @Default: 393216 741 * 742 * This ini entry is used to set a low limit threshold to stop frame 743 * dropping scheme 744 * 745 * Usage: External 746 * 747 * </ini> 748 */ 749 #define CFG_DP_RX_PENDING_LO_THRESHOLD \ 750 CFG_INI_UINT("dp_rx_pending_lo_threshold", \ 751 WLAN_CFG_RX_PENDING_LO_THRESHOLD_MIN, \ 752 WLAN_CFG_RX_PENDING_LO_THRESHOLD_MAX, \ 753 WLAN_CFG_RX_PENDING_LO_THRESHOLD, \ 754 CFG_VALUE_OR_DEFAULT, "DP rx pending lo threshold") 755 756 #define CFG_DP_BASE_HW_MAC_ID \ 757 CFG_INI_UINT("dp_base_hw_macid", \ 758 0, 1, 1, \ 759 CFG_VALUE_OR_DEFAULT, "DP Base HW Mac ID") 760 761 #define CFG_DP_RX_HASH \ 762 CFG_INI_BOOL("dp_rx_hash", true, \ 763 "DP Rx Hash") 764 765 #define CFG_DP_TSO \ 766 CFG_INI_BOOL("TSOEnable", false, \ 767 "DP TSO Enabled") 768 769 #define CFG_DP_LRO \ 770 CFG_INI_BOOL("LROEnable", WLAN_LRO_ENABLE, \ 771 "DP LRO Enable") 772 773 #ifdef WLAN_USE_CONFIG_PARAMS 774 /* 775 * <ini> 776 * dp_tx_desc_use_512p - Use 512M tx descriptor size 777 * @Min: 0 778 * @Max: 1 779 * @Default: 0 780 * 781 * This ini entry is used as flag to use 512M tx descriptor size or not 782 * 783 * Usage: Internal 784 * 785 * </ini> 786 */ 787 #define CFG_DP_TX_DESC_512P \ 788 CFG_INI_BOOL("dp_tx_desc_use_512p", false, \ 789 "DP TX DESC PINE SPECIFIC") 790 791 /* 792 * <ini> 793 * dp_nss_3radio_ring - Use 3 Radio NSS comp ring size 794 * @Min: 0 795 * @Max: 1 796 * @Default: 0 797 * 798 * This ini entry is used as flag to use 3 Radio NSS com ring size or not 799 * 800 * Usage: Internal 801 * 802 * </ini> 803 */ 804 #define CFG_DP_NSS_3RADIO_RING \ 805 CFG_INI_BOOL("dp_nss_3radio_ring", false, \ 806 "DP NSS 3 RADIO RING SIZE") 807 808 /* 809 * <ini> 810 * dp_mon_ring_per_512M - Update monitor status ring as 512M profile 811 * @Min: 0 812 * @Max: 1 813 * @Default: 0 814 * 815 * This ini entry is used as flag to update monitor status ring as 512M profile 816 * 817 * Usage: Internal 818 * 819 * </ini> 820 */ 821 #define CFG_DP_MON_STATUS_512M \ 822 CFG_INI_BOOL("dp_mon_ring_per_512M", false, \ 823 "DP MON STATUS RING SIZE PER 512M PROFILE") 824 825 /* 826 * <ini> 827 * dp_mon_2chain_ring - Reduce monitor rings size as for 2 Chains case 828 * @Min: 0 829 * @Max: 1 830 * @Default: 0 831 * 832 * This ini entry is used as flag to reduce monitor rings size as those used 833 * in case of 2 Tx/RxChains 834 * 835 * Usage: Internal 836 * 837 * </ini> 838 */ 839 #define CFG_DP_MON_2CHAIN_RING \ 840 CFG_INI_BOOL("dp_mon_2chain_ring", false, \ 841 "DP MON UPDATE RINGS FOR 2CHAIN") 842 843 /* 844 * <ini> 845 * dp_mon_4chain_ring - Update monitor rings size for 4 Chains case 846 * @Min: 0 847 * @Max: 1 848 * @Default: 0 849 * 850 * This ini entry is used as flag to reduce monitor rings size as those used 851 * in case of 4 Tx/RxChains 852 * 853 * Usage: Internal 854 * 855 * </ini> 856 */ 857 #define CFG_DP_MON_4CHAIN_RING \ 858 CFG_INI_BOOL("dp_mon_4chain_ring", false, \ 859 "DP MON UPDATE RINGS FOR 4CHAIN") 860 861 /* 862 * <ini> 863 * dp_4radip_rdp_reo - Update RDP REO map based on 4 radio config 864 * @Min: 0 865 * @Max: 1 866 * @Default: 0 867 * 868 * This ini entry is used as flag to update RDP reo map based on 4 Radio config 869 * 870 * Usage: Internal 871 * 872 * </ini> 873 */ 874 #define CFG_DP_4RADIO_RDP_REO \ 875 CFG_INI_BOOL("dp_nss_4radio_rdp_reo", \ 876 false, "Update REO destination mapping for 4radio") 877 878 #define CFG_DP_INI_SECTION_PARAMS \ 879 CFG(CFG_DP_NSS_3RADIO_RING) \ 880 CFG(CFG_DP_TX_DESC_512P) \ 881 CFG(CFG_DP_MON_STATUS_512M) \ 882 CFG(CFG_DP_MON_2CHAIN_RING) \ 883 CFG(CFG_DP_MON_4CHAIN_RING) \ 884 CFG(CFG_DP_4RADIO_RDP_REO) 885 #else 886 #define CFG_DP_INI_SECTION_PARAMS 887 #endif 888 889 /* 890 * <ini> 891 * CFG_DP_SG - Enable the SG feature standalonely 892 * @Min: 0 893 * @Max: 1 894 * @Default: 1 895 * 896 * This ini entry is used to enable/disable SG feature standalonely. 897 * Also does Rome support SG on TX, lithium does not. 898 * For example the lithium does not support SG on UDP frames. 899 * Which is able to handle SG only for TSO frames(in case TSO is enabled). 900 * 901 * Usage: External 902 * 903 * </ini> 904 */ 905 #define CFG_DP_SG \ 906 CFG_INI_BOOL("dp_sg_support", false, \ 907 "DP SG Enable") 908 909 #define WLAN_CFG_GRO_ENABLE_MIN 0 910 #define WLAN_CFG_GRO_ENABLE_MAX 3 911 #define WLAN_CFG_GRO_ENABLE_DEFAULT 0 912 #define DP_GRO_ENABLE_BIT_SET BIT(0) 913 #define DP_TC_BASED_DYNAMIC_GRO BIT(1) 914 915 /* 916 * <ini> 917 * CFG_DP_GRO - Enable the GRO feature standalonely 918 * @Min: 0 919 * @Max: 3 920 * @Default: 0 921 * 922 * This ini entry is used to enable/disable GRO feature standalonely. 923 * Value 0: Disable GRO feature 924 * Value 1: Enable GRO feature always 925 * Value 3: Enable GRO dynamic feature where TC rule can control GRO 926 * behavior 927 * 928 * Usage: External 929 * 930 * </ini> 931 */ 932 #define CFG_DP_GRO \ 933 CFG_INI_UINT("GROEnable", \ 934 WLAN_CFG_GRO_ENABLE_MIN, \ 935 WLAN_CFG_GRO_ENABLE_MAX, \ 936 WLAN_CFG_GRO_ENABLE_DEFAULT, \ 937 CFG_VALUE_OR_DEFAULT, "DP GRO Enable") 938 939 #define WLAN_CFG_TC_INGRESS_PRIO_MIN 0 940 #define WLAN_CFG_TC_INGRESS_PRIO_MAX 0xFFFF 941 #define WLAN_CFG_TC_INGRESS_PRIO_DEFAULT 0 942 943 #define CFG_DP_TC_INGRESS_PRIO \ 944 CFG_INI_UINT("tc_ingress_prio", \ 945 WLAN_CFG_TC_INGRESS_PRIO_MIN, \ 946 WLAN_CFG_TC_INGRESS_PRIO_MAX, \ 947 WLAN_CFG_TC_INGRESS_PRIO_DEFAULT, \ 948 CFG_VALUE_OR_DEFAULT, "DP tc ingress prio") 949 950 #define CFG_DP_OL_TX_CSUM \ 951 CFG_INI_BOOL("dp_offload_tx_csum_support", false, \ 952 "DP tx csum Enable") 953 954 #define CFG_DP_OL_RX_CSUM \ 955 CFG_INI_BOOL("dp_offload_rx_csum_support", false, \ 956 "DP rx csum Enable") 957 958 #define CFG_DP_RAWMODE \ 959 CFG_INI_BOOL("dp_rawmode_support", false, \ 960 "DP rawmode Enable") 961 962 #define CFG_DP_PEER_FLOW_CTRL \ 963 CFG_INI_BOOL("dp_peer_flow_control_support", false, \ 964 "DP peer flow ctrl Enable") 965 966 #define CFG_DP_NAPI \ 967 CFG_INI_BOOL("dp_napi_enabled", PLATFORM_VALUE(true, false), \ 968 "DP Napi Enabled") 969 /* 970 * <ini> 971 * gEnableP2pIpTcpUdpChecksumOffload - Enable checksum offload for P2P mode 972 * @Min: 0 973 * @Max: 1 974 * @Default: 1 975 * 976 * This ini entry is used to enable/disable TX checksum(UDP/TCP) for P2P modes. 977 * This includes P2P device mode, P2P client mode and P2P GO mode. 978 * The feature is enabled by default. To disable TX checksum for P2P, add the 979 * following entry in ini file: 980 * gEnableP2pIpTcpUdpChecksumOffload=0 981 * 982 * Usage: External 983 * 984 * </ini> 985 */ 986 #define CFG_DP_P2P_TCP_UDP_CKSUM_OFFLOAD \ 987 CFG_INI_BOOL("gEnableP2pIpTcpUdpChecksumOffload", true, \ 988 "DP TCP UDP Checksum Offload for P2P mode (device/cli/go)") 989 990 /* 991 * <ini> 992 * gEnableNanIpTcpUdpChecksumOffload - Enable checksum offload for NAN mode 993 * @Min: 0 994 * @Max: 1 995 * @Default: 1 996 * 997 * Usage: External 998 * 999 * </ini> 1000 */ 1001 #define CFG_DP_NAN_TCP_UDP_CKSUM_OFFLOAD \ 1002 CFG_INI_BOOL("gEnableNanIpTcpUdpChecksumOffload", true, \ 1003 "DP TCP UDP Checksum Offload for NAN mode") 1004 1005 /* 1006 * <ini> 1007 * gEnableIpTcpUdpChecksumOffload - Enable checksum offload 1008 * @Min: 0 1009 * @Max: 1 1010 * @Default: 1 1011 * 1012 * Usage: External 1013 * 1014 * </ini> 1015 */ 1016 #define CFG_DP_TCP_UDP_CKSUM_OFFLOAD \ 1017 CFG_INI_BOOL("gEnableIpTcpUdpChecksumOffload", true, \ 1018 "DP TCP UDP Checksum Offload") 1019 1020 #define CFG_DP_DEFRAG_TIMEOUT_CHECK \ 1021 CFG_INI_BOOL("dp_defrag_timeout_check", true, \ 1022 "DP Defrag Timeout Check") 1023 1024 #define CFG_DP_WBM_RELEASE_RING \ 1025 CFG_INI_UINT("dp_wbm_release_ring", \ 1026 WLAN_CFG_WBM_RELEASE_RING_SIZE_MIN, \ 1027 WLAN_CFG_WBM_RELEASE_RING_SIZE_MAX, \ 1028 WLAN_CFG_WBM_RELEASE_RING_SIZE, \ 1029 CFG_VALUE_OR_DEFAULT, "DP WBM Release Ring") 1030 1031 #define CFG_DP_TCL_CMD_CREDIT_RING \ 1032 CFG_INI_UINT("dp_tcl_cmd_credit_ring", \ 1033 WLAN_CFG_TCL_CMD_CREDIT_RING_SIZE_MIN, \ 1034 WLAN_CFG_TCL_CMD_CREDIT_RING_SIZE_MAX, \ 1035 WLAN_CFG_TCL_CMD_CREDIT_RING_SIZE, \ 1036 CFG_VALUE_OR_DEFAULT, "DP TCL Cmd_Credit ring") 1037 1038 #define CFG_DP_TCL_STATUS_RING \ 1039 CFG_INI_UINT("dp_tcl_status_ring",\ 1040 WLAN_CFG_TCL_STATUS_RING_SIZE_MIN, \ 1041 WLAN_CFG_TCL_STATUS_RING_SIZE_MAX, \ 1042 WLAN_CFG_TCL_STATUS_RING_SIZE, \ 1043 CFG_VALUE_OR_DEFAULT, "DP TCL status ring") 1044 1045 #define CFG_DP_REO_REINJECT_RING \ 1046 CFG_INI_UINT("dp_reo_reinject_ring", \ 1047 WLAN_CFG_REO_REINJECT_RING_SIZE_MIN, \ 1048 WLAN_CFG_REO_REINJECT_RING_SIZE_MAX, \ 1049 WLAN_CFG_REO_REINJECT_RING_SIZE, \ 1050 CFG_VALUE_OR_DEFAULT, "DP REO reinject ring") 1051 1052 #define CFG_DP_RX_RELEASE_RING \ 1053 CFG_INI_UINT("dp_rx_release_ring", \ 1054 WLAN_CFG_RX_RELEASE_RING_SIZE_MIN, \ 1055 WLAN_CFG_RX_RELEASE_RING_SIZE_MAX, \ 1056 WLAN_CFG_RX_RELEASE_RING_SIZE, \ 1057 CFG_VALUE_OR_DEFAULT, "DP Rx release ring") 1058 1059 #define CFG_DP_RX_DESTINATION_RING \ 1060 CFG_INI_UINT("dp_reo_dst_ring", \ 1061 WLAN_CFG_REO_DST_RING_SIZE_MIN, \ 1062 WLAN_CFG_REO_DST_RING_SIZE_MAX, \ 1063 WLAN_CFG_REO_DST_RING_SIZE, \ 1064 CFG_VALUE_OR_DEFAULT, "DP REO destination ring") 1065 1066 #define CFG_DP_REO_EXCEPTION_RING \ 1067 CFG_INI_UINT("dp_reo_exception_ring", \ 1068 WLAN_CFG_REO_EXCEPTION_RING_SIZE_MIN, \ 1069 WLAN_CFG_REO_EXCEPTION_RING_SIZE_MAX, \ 1070 WLAN_CFG_REO_EXCEPTION_RING_SIZE, \ 1071 CFG_VALUE_OR_DEFAULT, "DP REO exception ring") 1072 1073 #define CFG_DP_REO_CMD_RING \ 1074 CFG_INI_UINT("dp_reo_cmd_ring", \ 1075 WLAN_CFG_REO_CMD_RING_SIZE_MIN, \ 1076 WLAN_CFG_REO_CMD_RING_SIZE_MAX, \ 1077 WLAN_CFG_REO_CMD_RING_SIZE, \ 1078 CFG_VALUE_OR_DEFAULT, "DP REO command ring") 1079 1080 #define CFG_DP_REO_STATUS_RING \ 1081 CFG_INI_UINT("dp_reo_status_ring", \ 1082 WLAN_CFG_REO_STATUS_RING_SIZE_MIN, \ 1083 WLAN_CFG_REO_STATUS_RING_SIZE_MAX, \ 1084 WLAN_CFG_REO_STATUS_RING_SIZE, \ 1085 CFG_VALUE_OR_DEFAULT, "DP REO status ring") 1086 1087 #define CFG_DP_RXDMA_BUF_RING \ 1088 CFG_INI_UINT("dp_rxdma_buf_ring", \ 1089 WLAN_CFG_RXDMA_BUF_RING_SIZE_MIN, \ 1090 WLAN_CFG_RXDMA_BUF_RING_SIZE_MAX, \ 1091 WLAN_CFG_RXDMA_BUF_RING_SIZE, \ 1092 CFG_VALUE_OR_DEFAULT, "DP RXDMA buffer ring") 1093 1094 #define CFG_DP_RXDMA_REFILL_RING \ 1095 CFG_INI_UINT("dp_rxdma_refill_ring", \ 1096 WLAN_CFG_RXDMA_REFILL_RING_SIZE_MIN, \ 1097 WLAN_CFG_RXDMA_REFILL_RING_SIZE_MAX, \ 1098 WLAN_CFG_RXDMA_REFILL_RING_SIZE, \ 1099 CFG_VALUE_OR_DEFAULT, "DP RXDMA refilll ring") 1100 1101 #define CFG_DP_RXDMA_REFILL_LT_DISABLE \ 1102 CFG_INI_BOOL("dp_disable_rx_buf_low_threshold", false, \ 1103 "Disable Low threshold interrupts for Rx Refill ring") 1104 1105 #define CFG_DP_TX_DESC_LIMIT_0 \ 1106 CFG_INI_UINT("dp_tx_desc_limit_0", \ 1107 WLAN_CFG_TX_DESC_LIMIT_0_MIN, \ 1108 WLAN_CFG_TX_DESC_LIMIT_0_MAX, \ 1109 WLAN_CFG_TX_DESC_LIMIT_0, \ 1110 CFG_VALUE_OR_DEFAULT, "DP TX DESC limit 0") 1111 1112 #define CFG_DP_TX_DESC_LIMIT_1 \ 1113 CFG_INI_UINT("dp_tx_desc_limit_1", \ 1114 WLAN_CFG_TX_DESC_LIMIT_1_MIN, \ 1115 WLAN_CFG_TX_DESC_LIMIT_1_MAX, \ 1116 WLAN_CFG_TX_DESC_LIMIT_1, \ 1117 CFG_VALUE_OR_DEFAULT, "DP TX DESC limit 1") 1118 1119 #define CFG_DP_TX_DESC_LIMIT_2 \ 1120 CFG_INI_UINT("dp_tx_desc_limit_2", \ 1121 WLAN_CFG_TX_DESC_LIMIT_2_MIN, \ 1122 WLAN_CFG_TX_DESC_LIMIT_2_MAX, \ 1123 WLAN_CFG_TX_DESC_LIMIT_2, \ 1124 CFG_VALUE_OR_DEFAULT, "DP TX DESC limit 2") 1125 1126 #define CFG_DP_TX_DEVICE_LIMIT \ 1127 CFG_INI_UINT("dp_tx_device_limit", \ 1128 WLAN_CFG_TX_DEVICE_LIMIT_MIN, \ 1129 WLAN_CFG_TX_DEVICE_LIMIT_MAX, \ 1130 WLAN_CFG_TX_DEVICE_LIMIT, \ 1131 CFG_VALUE_OR_DEFAULT, "DP TX DEVICE limit") 1132 1133 #define CFG_DP_TX_SW_INTERNODE_QUEUE \ 1134 CFG_INI_UINT("dp_tx_sw_internode_queue", \ 1135 WLAN_CFG_TX_SW_INTERNODE_QUEUE_MIN, \ 1136 WLAN_CFG_TX_SW_INTERNODE_QUEUE_MAX, \ 1137 WLAN_CFG_TX_SW_INTERNODE_QUEUE, \ 1138 CFG_VALUE_OR_DEFAULT, "DP TX SW internode queue") 1139 1140 #define CFG_DP_RXDMA_MONITOR_BUF_RING \ 1141 CFG_INI_UINT("dp_rxdma_monitor_buf_ring", \ 1142 WLAN_CFG_RXDMA_MONITOR_BUF_RING_SIZE_MIN, \ 1143 WLAN_CFG_RXDMA_MONITOR_BUF_RING_SIZE_MAX, \ 1144 WLAN_CFG_RXDMA_MONITOR_BUF_RING_SIZE, \ 1145 CFG_VALUE_OR_DEFAULT, "DP RXDMA monitor buffer ring") 1146 1147 #define CFG_DP_TX_MONITOR_BUF_RING \ 1148 CFG_INI_UINT("dp_tx_monitor_buf_ring", \ 1149 WLAN_CFG_TX_MONITOR_BUF_RING_SIZE_MIN, \ 1150 WLAN_CFG_TX_MONITOR_BUF_RING_SIZE_MAX, \ 1151 WLAN_CFG_TX_MONITOR_BUF_RING_SIZE, \ 1152 CFG_VALUE_OR_DEFAULT, "DP TX monitor buffer ring") 1153 1154 #define CFG_DP_RXDMA_MONITOR_DST_RING \ 1155 CFG_INI_UINT("dp_rxdma_monitor_dst_ring", \ 1156 WLAN_CFG_RXDMA_MONITOR_DST_RING_SIZE_MIN, \ 1157 WLAN_CFG_RXDMA_MONITOR_DST_RING_SIZE_MAX, \ 1158 WLAN_CFG_RXDMA_MONITOR_DST_RING_SIZE, \ 1159 CFG_VALUE_OR_DEFAULT, "DP RXDMA monitor destination ring") 1160 1161 #define CFG_DP_TX_MONITOR_DST_RING \ 1162 CFG_INI_UINT("dp_tx_monitor_dst_ring", \ 1163 WLAN_CFG_TX_MONITOR_DST_RING_SIZE_MIN, \ 1164 WLAN_CFG_TX_MONITOR_DST_RING_SIZE_MAX, \ 1165 WLAN_CFG_TX_MONITOR_DST_RING_SIZE, \ 1166 CFG_VALUE_OR_DEFAULT, "DP TX monitor destination ring") 1167 1168 #define CFG_DP_RXDMA_MONITOR_STATUS_RING \ 1169 CFG_INI_UINT("dp_rxdma_monitor_status_ring", \ 1170 WLAN_CFG_RXDMA_MONITOR_STATUS_RING_SIZE_MIN, \ 1171 WLAN_CFG_RXDMA_MONITOR_STATUS_RING_SIZE_MAX, \ 1172 WLAN_CFG_RXDMA_MONITOR_STATUS_RING_SIZE, \ 1173 CFG_VALUE_OR_DEFAULT, "DP RXDMA monitor status ring") 1174 1175 #define CFG_DP_RXDMA_MONITOR_DESC_RING \ 1176 CFG_INI_UINT("dp_rxdma_monitor_desc_ring", \ 1177 WLAN_CFG_RXDMA_MONITOR_DESC_RING_SIZE_MIN, \ 1178 WLAN_CFG_RXDMA_MONITOR_DESC_RING_SIZE_MAX, \ 1179 WLAN_CFG_RXDMA_MONITOR_DESC_RING_SIZE, \ 1180 CFG_VALUE_OR_DEFAULT, "DP RXDMA monitor destination ring") 1181 1182 #define CFG_DP_RXDMA_ERR_DST_RING \ 1183 CFG_INI_UINT("dp_rxdma_err_dst_ring", \ 1184 WLAN_CFG_RXDMA_ERR_DST_RING_SIZE_MIN, \ 1185 WLAN_CFG_RXDMA_ERR_DST_RING_SIZE_MAX, \ 1186 WLAN_CFG_RXDMA_ERR_DST_RING_SIZE, \ 1187 CFG_VALUE_OR_DEFAULT, "RXDMA err destination ring") 1188 1189 #define CFG_DP_PER_PKT_LOGGING \ 1190 CFG_INI_UINT("enable_verbose_debug", \ 1191 0, 0xffff, 0, \ 1192 CFG_VALUE_OR_DEFAULT, "Enable excessive per packet logging") 1193 1194 #define CFG_DP_TX_FLOW_START_QUEUE_OFFSET \ 1195 CFG_INI_UINT("TxFlowStartQueueOffset", \ 1196 0, 30, WLAN_CFG_TX_FLOW_START_QUEUE_OFFSET, \ 1197 CFG_VALUE_OR_DEFAULT, "Start queue offset") 1198 1199 #define CFG_DP_TX_FLOW_STOP_QUEUE_TH \ 1200 CFG_INI_UINT("TxFlowStopQueueThreshold", \ 1201 0, 50, 15, \ 1202 CFG_VALUE_OR_DEFAULT, "Stop queue Threshold") 1203 1204 #define CFG_DP_IPA_UC_TX_BUF_SIZE \ 1205 CFG_INI_UINT("IpaUcTxBufSize", \ 1206 0, 4096, WLAN_CFG_IPA_UC_TX_BUF_SIZE, \ 1207 CFG_VALUE_OR_DEFAULT, "IPA tx buffer size") 1208 1209 #define CFG_DP_IPA_UC_TX_PARTITION_BASE \ 1210 CFG_INI_UINT("IpaUcTxPartitionBase", \ 1211 0, 9000, WLAN_CFG_IPA_UC_TX_PARTITION_BASE, \ 1212 CFG_VALUE_OR_DEFAULT, "IPA tx partition base") 1213 1214 #define CFG_DP_IPA_UC_RX_IND_RING_COUNT \ 1215 CFG_INI_UINT("IpaUcRxIndRingCount", \ 1216 0, 2048, WLAN_CFG_IPA_UC_RX_IND_RING_COUNT, \ 1217 CFG_VALUE_OR_DEFAULT, "IPA rx indication ring count") 1218 1219 #define CFG_DP_AP_STA_SECURITY_SEPERATION \ 1220 CFG_INI_BOOL("gDisableIntraBssFwd", \ 1221 false, "Disable intrs BSS Rx packets") 1222 1223 #define CFG_DP_ENABLE_DATA_STALL_DETECTION \ 1224 CFG_INI_UINT("gEnableDataStallDetection", \ 1225 0, 0xFFFFFFFF, 0x1, \ 1226 CFG_VALUE_OR_DEFAULT, "Enable/Disable Data stall detection") 1227 1228 #define CFG_DP_RX_SW_DESC_WEIGHT \ 1229 CFG_INI_UINT("dp_rx_sw_desc_weight", \ 1230 WLAN_CFG_RX_SW_DESC_WEIGHT_SIZE_MIN, \ 1231 WLAN_CFG_RX_SW_DESC_WEIGHT_SIZE_MAX, \ 1232 WLAN_CFG_RX_SW_DESC_WEIGHT_SIZE, \ 1233 CFG_VALUE_OR_DEFAULT, "DP RX SW DESC weight") 1234 1235 #define CFG_DP_RX_SW_DESC_NUM \ 1236 CFG_INI_UINT("dp_rx_sw_desc_num", \ 1237 WLAN_CFG_RX_SW_DESC_NUM_SIZE_MIN, \ 1238 WLAN_CFG_RX_SW_DESC_NUM_SIZE_MAX, \ 1239 WLAN_CFG_RX_SW_DESC_NUM_SIZE, \ 1240 CFG_VALUE_OR_DEFAULT, "DP RX SW DESC num") 1241 1242 #define CFG_DP_RX_FLOW_SEARCH_TABLE_SIZE \ 1243 CFG_INI_UINT("dp_rx_flow_search_table_size", \ 1244 WLAN_CFG_RX_FLOW_SEARCH_TABLE_SIZE_MIN, \ 1245 WLAN_CFG_RX_FLOW_SEARCH_TABLE_SIZE_MAX, \ 1246 WLAN_CFG_RX_FLOW_SEARCH_TABLE_SIZE_DEFAULT, \ 1247 CFG_VALUE_OR_DEFAULT, \ 1248 "DP Rx Flow Search Table Size in number of entries") 1249 1250 #define CFG_DP_RX_FLOW_TAG_ENABLE \ 1251 CFG_INI_BOOL("dp_rx_flow_tag_enable", false, \ 1252 "Enable/Disable DP Rx Flow Tag") 1253 1254 #define CFG_DP_RX_FLOW_SEARCH_TABLE_PER_PDEV \ 1255 CFG_INI_BOOL("dp_rx_per_pdev_flow_search", false, \ 1256 "DP Rx Flow Search Table Is Per PDev") 1257 1258 #define CFG_DP_RX_MON_PROTOCOL_FLOW_TAG_ENABLE \ 1259 CFG_INI_BOOL("dp_rx_monitor_protocol_flow_tag_enable", true, \ 1260 "Enable/Disable Rx Protocol & Flow tags in Monitor mode") 1261 1262 #define CFG_DP_TX_PER_PKT_VDEV_ID_CHECK \ 1263 CFG_INI_BOOL("dp_tx_allow_per_pkt_vdev_id_check", false, \ 1264 "Enable/Disable tx Per Pkt vdev id check") 1265 1266 #define CFG_DP_HANDLE_INVALID_DECAP_TYPE_DISABLE \ 1267 CFG_INI_BOOL("dp_handle_invalid_decap_type_disable", false, \ 1268 "Enable/Disable DP TLV out of order WAR") 1269 1270 /* 1271 * <ini> 1272 * dp_rx_fisa_enable - Control Rx datapath FISA 1273 * @Min: 0 1274 * @Max: 1 1275 * @Default: 1 1276 * 1277 * This ini is used to enable DP Rx FISA feature 1278 * 1279 * Related: dp_rx_flow_search_table_size 1280 * 1281 * Supported Feature: STA,P2P and SAP IPA disabled terminating 1282 * 1283 * Usage: Internal 1284 * 1285 * </ini> 1286 */ 1287 #define CFG_DP_RX_FISA_ENABLE \ 1288 CFG_INI_BOOL("dp_rx_fisa_enable", true, \ 1289 "Enable/Disable DP Rx FISA") 1290 1291 /* 1292 * <ini> 1293 * dp_rx_fisa_lru_del_enable - Control Rx datapath FISA 1294 * @Min: 0 1295 * @Max: 1 1296 * @Default: 1 1297 * 1298 * This ini is used to enable DP Rx FISA lru deletion feature 1299 * 1300 * Related: dp_rx_fisa_enable 1301 * 1302 * Supported Feature: STA,P2P and SAP IPA disabled terminating 1303 * 1304 * Usage: Internal 1305 * 1306 * </ini> 1307 */ 1308 #define CFG_DP_RX_FISA_LRU_DEL_ENABLE \ 1309 CFG_INI_BOOL("dp_rx_fisa_lru_del_enable", true, \ 1310 "Enable/Disable DP Rx FISA LRU deletion") 1311 1312 #define CFG_DP_RXDMA_MONITOR_RX_DROP_THRESHOLD \ 1313 CFG_INI_UINT("mon_drop_thresh", \ 1314 WLAN_CFG_RXDMA_MONITOR_RX_DROP_THRESH_SIZE_MIN, \ 1315 WLAN_CFG_RXDMA_MONITOR_RX_DROP_THRESH_SIZE_MAX, \ 1316 WLAN_CFG_RXDMA_MONITOR_RX_DROP_THRESH_SIZE, \ 1317 CFG_VALUE_OR_DEFAULT, "RXDMA monitor rx drop threshold") 1318 1319 #define CFG_DP_PKTLOG_BUFFER_SIZE \ 1320 CFG_INI_UINT("PktlogBufSize", \ 1321 WLAN_CFG_PKTLOG_MIN_BUFFER_SIZE, \ 1322 WLAN_CFG_PKTLOG_MAX_BUFFER_SIZE, \ 1323 WLAN_CFG_PKTLOG_BUFFER_SIZE, \ 1324 CFG_VALUE_OR_DEFAULT, "Packet Log buffer size") 1325 1326 #define CFG_DP_FULL_MON_MODE \ 1327 CFG_INI_BOOL("full_mon_mode", \ 1328 false, "Full Monitor mode support") 1329 1330 #define CFG_DP_REO_RINGS_MAP \ 1331 CFG_INI_UINT("dp_reo_rings_map", \ 1332 WLAN_CFG_NUM_REO_RINGS_MAP_MIN, \ 1333 WLAN_CFG_NUM_REO_RINGS_MAP_MAX, \ 1334 WLAN_CFG_NUM_REO_RINGS_MAP, \ 1335 CFG_VALUE_OR_DEFAULT, "REO Destination Rings Mapping") 1336 1337 #define CFG_DP_RX_RADIO_0_DEFAULT_REO \ 1338 CFG_INI_UINT("dp_rx_radio0_default_reo", \ 1339 WLAN_CFG_RADIO_DEFAULT_REO_MIN, \ 1340 WLAN_CFG_RADIO_DEFAULT_REO_MAX, \ 1341 WLAN_CFG_RADIO_0_DEFAULT_REO, \ 1342 CFG_VALUE_OR_DEFAULT, "Radio0 to REO destination default mapping") 1343 1344 #define CFG_DP_RX_RADIO_1_DEFAULT_REO \ 1345 CFG_INI_UINT("dp_rx_radio1_default_reo", \ 1346 WLAN_CFG_RADIO_DEFAULT_REO_MIN, \ 1347 WLAN_CFG_RADIO_DEFAULT_REO_MAX, \ 1348 WLAN_CFG_RADIO_1_DEFAULT_REO, \ 1349 CFG_VALUE_OR_DEFAULT, "Radio1 to REO destination default mapping") 1350 1351 #define CFG_DP_RX_RADIO_2_DEFAULT_REO \ 1352 CFG_INI_UINT("dp_rx_radio2_default_reo", \ 1353 WLAN_CFG_RADIO_DEFAULT_REO_MIN, \ 1354 WLAN_CFG_RADIO_DEFAULT_REO_MAX, \ 1355 WLAN_CFG_RADIO_2_DEFAULT_REO, \ 1356 CFG_VALUE_OR_DEFAULT, "Radio2 to REO destination default mapping") 1357 1358 #define CFG_DP_PEER_EXT_STATS \ 1359 CFG_INI_BOOL("peer_ext_stats", \ 1360 false, "Peer extended stats") 1361 1362 #define CFG_DP_PEER_JITTER_STATS \ 1363 CFG_INI_BOOL("peer_jitter_stats", \ 1364 false, "Peer Jitter stats") 1365 1366 #define CFG_DP_NAPI_SCALE_FACTOR \ 1367 CFG_INI_UINT("dp_napi_scale_factor", \ 1368 WLAN_CFG_DP_NAPI_SCALE_FACTOR_MIN, \ 1369 WLAN_CFG_DP_NAPI_SCALE_FACTOR_MAX, \ 1370 WLAN_CFG_DP_NAPI_SCALE_FACTOR, \ 1371 CFG_VALUE_OR_DEFAULT, "NAPI scale factor for DP") 1372 1373 /* 1374 * <ini> 1375 * legacy_mode_csum_disable - Disable csum offload for legacy 802.11abg modes 1376 * @Min: 0 1377 * @Max: 1 1378 * @Default: Default value indicating if checksum should be disabled for 1379 * legacy WLAN modes 1380 * 1381 * This ini is used to disable HW checksum offload capability for legacy 1382 * connections 1383 * 1384 * Related: gEnableIpTcpUdpChecksumOffload should be enabled 1385 * 1386 * Usage: Internal 1387 * 1388 * </ini> 1389 */ 1390 #ifndef DP_LEGACY_MODE_CSM_DEFAULT_DISABLE 1391 #define DP_LEGACY_MODE_CSM_DEFAULT_DISABLE 1 1392 #endif 1393 1394 #define CFG_DP_LEGACY_MODE_CSUM_DISABLE \ 1395 CFG_INI_BOOL("legacy_mode_csum_disable", \ 1396 DP_LEGACY_MODE_CSM_DEFAULT_DISABLE, \ 1397 "Enable/Disable legacy mode checksum") 1398 1399 #define CFG_DP_RX_BUFF_POOL_ENABLE \ 1400 CFG_INI_BOOL("dp_rx_buff_prealloc_pool", false, \ 1401 "Enable/Disable DP RX emergency buffer pool support") 1402 1403 #define CFG_DP_RX_REFILL_BUFF_POOL_ENABLE \ 1404 CFG_INI_BOOL("dp_rx_refill_buff_pool", false, \ 1405 "Enable/Disable DP RX refill buffer pool support") 1406 1407 #define CFG_DP_POLL_MODE_ENABLE \ 1408 CFG_INI_BOOL("dp_poll_mode_enable", false, \ 1409 "Enable/Disable Polling mode for data path") 1410 1411 #define CFG_DP_RX_FST_IN_CMEM \ 1412 CFG_INI_BOOL("dp_rx_fst_in_cmem", false, \ 1413 "Enable/Disable flow search table in CMEM") 1414 /* 1415 * <ini> 1416 * gEnableSWLM - Control DP Software latency manager 1417 * @Min: 0 1418 * @Max: 1 1419 * @Default: 0 1420 * 1421 * This ini is used to enable DP Software latency Manager 1422 * 1423 * Supported Feature: STA,P2P and SAP IPA disabled terminating 1424 * 1425 * Usage: Internal 1426 * 1427 * </ini> 1428 */ 1429 #define CFG_DP_SWLM_ENABLE \ 1430 CFG_INI_BOOL("gEnableSWLM", false, \ 1431 "Enable/Disable DP SWLM") 1432 /* 1433 * <ini> 1434 * wow_check_rx_pending_enable - control to check RX frames pending in Wow 1435 * @Min: 0 1436 * @Max: 1 1437 * @Default: 0 1438 * 1439 * This ini is used to control DP Software to perform RX pending check 1440 * before entering WoW mode 1441 * 1442 * Usage: Internal 1443 * 1444 * </ini> 1445 */ 1446 #define CFG_DP_WOW_CHECK_RX_PENDING \ 1447 CFG_INI_BOOL("wow_check_rx_pending_enable", \ 1448 false, \ 1449 "enable rx frame pending check in WoW mode") 1450 #define CFG_DP_DELAY_MON_REPLENISH \ 1451 CFG_INI_BOOL("delay_mon_replenish", \ 1452 true, "Delay Monitor Replenish") 1453 1454 #ifdef QCA_VDEV_STATS_HW_OFFLOAD_SUPPORT 1455 #define WLAN_CFG_INT_VDEV_STATS_HW_OFFLOAD_TIMER_MIN 500 1456 #define WLAN_CFG_INT_VDEV_STATS_HW_OFFLOAD_TIMER_MAX 2000 1457 #define WLAN_CFG_INT_VDEV_STATS_HW_OFFLOAD_TIMER 500 1458 1459 #define CFG_DP_VDEV_STATS_HW_OFFLOAD_CONFIG \ 1460 CFG_INI_BOOL("vdev_stats_hw_offload_config", \ 1461 false, "Offload vdev stats to HW") 1462 #define CFG_DP_VDEV_STATS_HW_OFFLOAD_TIMER \ 1463 CFG_INI_UINT("vdev_stats_hw_offload_timer", \ 1464 WLAN_CFG_INT_VDEV_STATS_HW_OFFLOAD_TIMER_MIN, \ 1465 WLAN_CFG_INT_VDEV_STATS_HW_OFFLOAD_TIMER_MAX, \ 1466 WLAN_CFG_INT_VDEV_STATS_HW_OFFLOAD_TIMER, \ 1467 CFG_VALUE_OR_DEFAULT, \ 1468 "vdev stats hw offload timer duration") 1469 #define CFG_DP_VDEV_STATS_HW_OFFLOAD \ 1470 CFG(CFG_DP_VDEV_STATS_HW_OFFLOAD_CONFIG) \ 1471 CFG(CFG_DP_VDEV_STATS_HW_OFFLOAD_TIMER) 1472 #else 1473 #define CFG_DP_VDEV_STATS_HW_OFFLOAD 1474 #endif 1475 1476 /* 1477 * <ini> 1478 * ghw_cc_enable - enable HW cookie conversion by register 1479 * @Min: 0 1480 * @Max: 1 1481 * @Default: 1 1482 * 1483 * This ini is used to control HW based 20 bits cookie to 64 bits 1484 * Desc virtual address conversion 1485 * 1486 * Usage: Internal 1487 * 1488 * </ini> 1489 */ 1490 #define CFG_DP_HW_CC_ENABLE \ 1491 CFG_INI_BOOL("ghw_cc_enable", \ 1492 true, "Enable/Disable HW cookie conversion") 1493 1494 #ifdef IPA_OFFLOAD 1495 /* 1496 * <ini> 1497 * dp_ipa_tx_ring_size - Set tcl ring size for IPA 1498 * @Min: 1024 1499 * @Max: 8096 1500 * @Default: 1024 1501 * 1502 * This ini sets the tcl ring size for IPA 1503 * 1504 * Related: N/A 1505 * 1506 * Supported Feature: IPA 1507 * 1508 * Usage: Internal 1509 * 1510 * </ini> 1511 */ 1512 #define CFG_DP_IPA_TX_RING_SIZE \ 1513 CFG_INI_UINT("dp_ipa_tx_ring_size", \ 1514 WLAN_CFG_IPA_TX_RING_SIZE_MIN, \ 1515 WLAN_CFG_IPA_TX_RING_SIZE_MAX, \ 1516 WLAN_CFG_IPA_TX_RING_SIZE, \ 1517 CFG_VALUE_OR_DEFAULT, "IPA TCL ring size") 1518 1519 /* 1520 * <ini> 1521 * dp_ipa_tx_comp_ring_size - Set tx comp ring size for IPA 1522 * @Min: 1024 1523 * @Max: 8096 1524 * @Default: 1024 1525 * 1526 * This ini sets the tx comp ring size for IPA 1527 * 1528 * Related: N/A 1529 * 1530 * Supported Feature: IPA 1531 * 1532 * Usage: Internal 1533 * 1534 * </ini> 1535 */ 1536 #define CFG_DP_IPA_TX_COMP_RING_SIZE \ 1537 CFG_INI_UINT("dp_ipa_tx_comp_ring_size", \ 1538 WLAN_CFG_IPA_TX_COMP_RING_SIZE_MIN, \ 1539 WLAN_CFG_IPA_TX_COMP_RING_SIZE_MAX, \ 1540 WLAN_CFG_IPA_TX_COMP_RING_SIZE, \ 1541 CFG_VALUE_OR_DEFAULT, "IPA tx comp ring size") 1542 1543 #ifdef IPA_WDI3_TX_TWO_PIPES 1544 /* 1545 * <ini> 1546 * dp_ipa_tx_alt_ring_size - Set alt tcl ring size for IPA 1547 * @Min: 1024 1548 * @Max: 8096 1549 * @Default: 1024 1550 * 1551 * This ini sets the alt tcl ring size for IPA 1552 * 1553 * Related: N/A 1554 * 1555 * Supported Feature: IPA 1556 * 1557 * Usage: Internal 1558 * 1559 * </ini> 1560 */ 1561 #define CFG_DP_IPA_TX_ALT_RING_SIZE \ 1562 CFG_INI_UINT("dp_ipa_tx_alt_ring_size", \ 1563 WLAN_CFG_IPA_TX_ALT_RING_SIZE_MIN, \ 1564 WLAN_CFG_IPA_TX_ALT_RING_SIZE_MAX, \ 1565 WLAN_CFG_IPA_TX_ALT_RING_SIZE, \ 1566 CFG_VALUE_OR_DEFAULT, \ 1567 "DP IPA TX Alternative Ring Size") 1568 1569 /* 1570 * <ini> 1571 * dp_ipa_tx_alt_comp_ring_size - Set tx alt comp ring size for IPA 1572 * @Min: 1024 1573 * @Max: 8096 1574 * @Default: 1024 1575 * 1576 * This ini sets the tx alt comp ring size for IPA 1577 * 1578 * Related: N/A 1579 * 1580 * Supported Feature: IPA 1581 * 1582 * Usage: Internal 1583 * 1584 * </ini> 1585 */ 1586 #define CFG_DP_IPA_TX_ALT_COMP_RING_SIZE \ 1587 CFG_INI_UINT("dp_ipa_tx_alt_comp_ring_size", \ 1588 WLAN_CFG_IPA_TX_ALT_COMP_RING_SIZE_MIN, \ 1589 WLAN_CFG_IPA_TX_ALT_COMP_RING_SIZE_MAX, \ 1590 WLAN_CFG_IPA_TX_ALT_COMP_RING_SIZE, \ 1591 CFG_VALUE_OR_DEFAULT, \ 1592 "DP IPA TX Alternative Completion Ring Size") 1593 1594 #define CFG_DP_IPA_TX_ALT_RING_CFG \ 1595 CFG(CFG_DP_IPA_TX_ALT_RING_SIZE) \ 1596 CFG(CFG_DP_IPA_TX_ALT_COMP_RING_SIZE) 1597 1598 #else 1599 #define CFG_DP_IPA_TX_ALT_RING_CFG 1600 #endif 1601 1602 #define CFG_DP_IPA_TX_RING_CFG \ 1603 CFG(CFG_DP_IPA_TX_RING_SIZE) \ 1604 CFG(CFG_DP_IPA_TX_COMP_RING_SIZE) 1605 #else 1606 #define CFG_DP_IPA_TX_RING_CFG 1607 #define CFG_DP_IPA_TX_ALT_RING_CFG 1608 #endif 1609 1610 #ifdef WLAN_SUPPORT_PPEDS 1611 #define WLAN_CFG_NUM_PPEDS_TX_DESC_MIN 16 1612 #define WLAN_CFG_NUM_PPEDS_TX_DESC_MAX 0x8000 1613 #define WLAN_CFG_NUM_PPEDS_TX_DESC 0x8000 1614 1615 #define CFG_DP_PPEDS_TX_DESC \ 1616 CFG_INI_UINT("dp_ppeds_tx_desc", \ 1617 WLAN_CFG_NUM_PPEDS_TX_DESC_MIN, \ 1618 WLAN_CFG_NUM_PPEDS_TX_DESC_MAX, \ 1619 WLAN_CFG_NUM_PPEDS_TX_DESC, \ 1620 CFG_VALUE_OR_DEFAULT, "DP PPEDS Tx Descriptors") 1621 1622 #define CFG_DP_PPE_ENABLE \ 1623 CFG_INI_BOOL("ppe_enable", false, \ 1624 "DP ppe enable flag") 1625 1626 #define CFG_DP_REO2PPE_RING \ 1627 CFG_INI_UINT("dp_reo2ppe_ring", \ 1628 WLAN_CFG_REO2PPE_RING_SIZE_MIN, \ 1629 WLAN_CFG_REO2PPE_RING_SIZE_MAX, \ 1630 WLAN_CFG_REO2PPE_RING_SIZE, \ 1631 CFG_VALUE_OR_DEFAULT, "DP REO2PPE ring") 1632 1633 #define CFG_DP_PPE2TCL_RING \ 1634 CFG_INI_UINT("dp_ppe2tcl_ring", \ 1635 WLAN_CFG_PPE2TCL_RING_SIZE_MIN, \ 1636 WLAN_CFG_PPE2TCL_RING_SIZE_MAX, \ 1637 WLAN_CFG_PPE2TCL_RING_SIZE, \ 1638 CFG_VALUE_OR_DEFAULT, "DP PPE2TCL rings") 1639 1640 #define CFG_DP_PPE_RELEASE_RING \ 1641 CFG_INI_UINT("dp_ppe_release_ring", \ 1642 WLAN_CFG_PPE_RELEASE_RING_SIZE_MIN, \ 1643 WLAN_CFG_PPE_RELEASE_RING_SIZE_MAX, \ 1644 WLAN_CFG_PPE_RELEASE_RING_SIZE, \ 1645 CFG_VALUE_OR_DEFAULT, "DP PPE Release Ring") 1646 1647 #define CFG_DP_PPE_CONFIG \ 1648 CFG(CFG_DP_PPEDS_TX_DESC) \ 1649 CFG(CFG_DP_PPE_ENABLE) \ 1650 CFG(CFG_DP_REO2PPE_RING) \ 1651 CFG(CFG_DP_PPE2TCL_RING) \ 1652 CFG(CFG_DP_PPE_RELEASE_RING) 1653 #else 1654 #define CFG_DP_PPE_CONFIG 1655 #define WLAN_CFG_NUM_PPEDS_TX_DESC_MAX 0 1656 #endif 1657 1658 #if defined(WLAN_FEATURE_11BE_MLO) && defined(WLAN_MLO_MULTI_CHIP) 1659 /* 1660 * <ini> 1661 * dp_chip0_rx_ring_map - Set Rx ring map for CHIP 0 1662 * @Min: 0x0 1663 * @Max: 0xFF 1664 * @Default: 0xF 1665 * 1666 * This ini sets Rx ring map for CHIP 0 1667 * 1668 * Usage: Internal 1669 * 1670 * </ini> 1671 */ 1672 #define CFG_DP_MLO_RX_RING_MAP \ 1673 CFG_INI_UINT("dp_mlo_reo_rings_map", \ 1674 WLAN_CFG_MLO_RX_RING_MAP_MIN, \ 1675 WLAN_CFG_MLO_RX_RING_MAP_MAX, \ 1676 WLAN_CFG_MLO_RX_RING_MAP, \ 1677 CFG_VALUE_OR_DEFAULT, "DP MLO Rx ring map") 1678 1679 1680 #define CFG_DP_MLO_CONFIG \ 1681 CFG(CFG_DP_MLO_RX_RING_MAP) 1682 #else 1683 #define CFG_DP_MLO_CONFIG 1684 #endif 1685 1686 /* 1687 * <ini> 1688 * dp_mpdu_retry_threshold_1 - threshold to increment mpdu success with retries 1689 * @Min: 0 1690 * @Max: 255 1691 * @Default: 0 1692 * 1693 * This ini entry is used to set first threshold to increment the value of 1694 * mpdu_success_with_retries 1695 * 1696 * Usage: Internal 1697 * 1698 * </ini> 1699 */ 1700 #define CFG_DP_MPDU_RETRY_THRESHOLD_1 \ 1701 CFG_INI_UINT("dp_mpdu_retry_threshold_1", \ 1702 CFG_DP_MPDU_RETRY_THRESHOLD_MIN, \ 1703 CFG_DP_MPDU_RETRY_THRESHOLD_MAX, \ 1704 CFG_DP_MPDU_RETRY_THRESHOLD, \ 1705 CFG_VALUE_OR_DEFAULT, "DP mpdu retry threshold 1") 1706 1707 /* 1708 * <ini> 1709 * dp_mpdu_retry_threshold_2 - threshold to increment mpdu success with retries 1710 * @Min: 0 1711 * @Max: 255 1712 * @Default: 0 1713 * 1714 * This ini entry is used to set second threshold to increment the value of 1715 * mpdu_success_with_retries 1716 * 1717 * Usage: Internal 1718 * 1719 * </ini> 1720 */ 1721 #define CFG_DP_MPDU_RETRY_THRESHOLD_2 \ 1722 CFG_INI_UINT("dp_mpdu_retry_threshold_2", \ 1723 CFG_DP_MPDU_RETRY_THRESHOLD_MIN, \ 1724 CFG_DP_MPDU_RETRY_THRESHOLD_MAX, \ 1725 CFG_DP_MPDU_RETRY_THRESHOLD, \ 1726 CFG_VALUE_OR_DEFAULT, "DP mpdu retry threshold 2") 1727 1728 #ifdef QCA_SUPPORT_TX_MIN_RATES_FOR_SPECIAL_FRAMES 1729 /* Macro enabling support marking of notify frames by host */ 1730 #define DP_MARK_NOTIFY_FRAME_SUPPORT 1 1731 #else 1732 #define DP_MARK_NOTIFY_FRAME_SUPPORT 0 1733 #endif /* QCA_SUPPORT_TX_MIN_RATES_FOR_SPECIAL_FRAMES */ 1734 1735 /* 1736 * <ini> 1737 * Host DP AST entries database - Enable/Disable 1738 * 1739 * @Default: 0 1740 * 1741 * This ini enables/disables AST entries database on host 1742 * 1743 * Usage: Internal 1744 * 1745 * </ini> 1746 */ 1747 #define CFG_DP_HOST_AST_DB_ENABLE \ 1748 CFG_INI_BOOL("host_ast_db_enable", false, \ 1749 "Host AST entries database Enable/Disable") 1750 1751 #define CFG_DP \ 1752 CFG(CFG_DP_HTT_PACKET_TYPE) \ 1753 CFG(CFG_DP_INT_BATCH_THRESHOLD_OTHER) \ 1754 CFG(CFG_DP_INT_BATCH_THRESHOLD_RX) \ 1755 CFG(CFG_DP_INT_BATCH_THRESHOLD_TX) \ 1756 CFG(CFG_DP_INT_TIMER_THRESHOLD_OTHER) \ 1757 CFG(CFG_DP_INT_TIMER_THRESHOLD_RX) \ 1758 CFG(CFG_DP_INT_TIMER_THRESHOLD_TX) \ 1759 CFG(CFG_DP_MAX_ALLOC_SIZE) \ 1760 CFG(CFG_DP_MAX_CLIENTS) \ 1761 CFG(CFG_DP_MAX_PEER_ID) \ 1762 CFG(CFG_DP_REO_DEST_RINGS) \ 1763 CFG(CFG_DP_TX_COMP_RINGS) \ 1764 CFG(CFG_DP_TCL_DATA_RINGS) \ 1765 CFG(CFG_DP_NSS_REO_DEST_RINGS) \ 1766 CFG(CFG_DP_NSS_TCL_DATA_RINGS) \ 1767 CFG(CFG_DP_TX_DESC) \ 1768 CFG(CFG_DP_TX_EXT_DESC) \ 1769 CFG(CFG_DP_TX_EXT_DESC_POOLS) \ 1770 CFG(CFG_DP_PDEV_RX_RING) \ 1771 CFG(CFG_DP_PDEV_TX_RING) \ 1772 CFG(CFG_DP_RX_DEFRAG_TIMEOUT) \ 1773 CFG(CFG_DP_TX_COMPL_RING_SIZE) \ 1774 CFG(CFG_DP_TX_RING_SIZE) \ 1775 CFG(CFG_DP_NSS_COMP_RING_SIZE) \ 1776 CFG(CFG_DP_PDEV_LMAC_RING) \ 1777 CFG(CFG_DP_TIME_CONTROL_BP) \ 1778 CFG(CFG_DP_BASE_HW_MAC_ID) \ 1779 CFG(CFG_DP_RX_HASH) \ 1780 CFG(CFG_DP_TSO) \ 1781 CFG(CFG_DP_LRO) \ 1782 CFG(CFG_DP_SG) \ 1783 CFG(CFG_DP_GRO) \ 1784 CFG(CFG_DP_TC_INGRESS_PRIO) \ 1785 CFG(CFG_DP_OL_TX_CSUM) \ 1786 CFG(CFG_DP_OL_RX_CSUM) \ 1787 CFG(CFG_DP_RAWMODE) \ 1788 CFG(CFG_DP_PEER_FLOW_CTRL) \ 1789 CFG(CFG_DP_NAPI) \ 1790 CFG(CFG_DP_TCP_UDP_CKSUM_OFFLOAD) \ 1791 CFG(CFG_DP_NAN_TCP_UDP_CKSUM_OFFLOAD) \ 1792 CFG(CFG_DP_P2P_TCP_UDP_CKSUM_OFFLOAD) \ 1793 CFG(CFG_DP_DEFRAG_TIMEOUT_CHECK) \ 1794 CFG(CFG_DP_WBM_RELEASE_RING) \ 1795 CFG(CFG_DP_TCL_CMD_CREDIT_RING) \ 1796 CFG(CFG_DP_TCL_STATUS_RING) \ 1797 CFG(CFG_DP_REO_REINJECT_RING) \ 1798 CFG(CFG_DP_RX_RELEASE_RING) \ 1799 CFG(CFG_DP_REO_EXCEPTION_RING) \ 1800 CFG(CFG_DP_RX_DESTINATION_RING) \ 1801 CFG(CFG_DP_REO_CMD_RING) \ 1802 CFG(CFG_DP_REO_STATUS_RING) \ 1803 CFG(CFG_DP_RXDMA_BUF_RING) \ 1804 CFG(CFG_DP_RXDMA_REFILL_RING) \ 1805 CFG(CFG_DP_RXDMA_REFILL_LT_DISABLE) \ 1806 CFG(CFG_DP_TX_DESC_LIMIT_0) \ 1807 CFG(CFG_DP_TX_DESC_LIMIT_1) \ 1808 CFG(CFG_DP_TX_DESC_LIMIT_2) \ 1809 CFG(CFG_DP_TX_DEVICE_LIMIT) \ 1810 CFG(CFG_DP_TX_SW_INTERNODE_QUEUE) \ 1811 CFG(CFG_DP_RXDMA_MONITOR_BUF_RING) \ 1812 CFG(CFG_DP_RXDMA_MONITOR_DST_RING) \ 1813 CFG(CFG_DP_RXDMA_MONITOR_STATUS_RING) \ 1814 CFG(CFG_DP_RXDMA_MONITOR_DESC_RING) \ 1815 CFG(CFG_DP_RXDMA_ERR_DST_RING) \ 1816 CFG(CFG_DP_PER_PKT_LOGGING) \ 1817 CFG(CFG_DP_TX_FLOW_START_QUEUE_OFFSET) \ 1818 CFG(CFG_DP_TX_FLOW_STOP_QUEUE_TH) \ 1819 CFG(CFG_DP_IPA_UC_TX_BUF_SIZE) \ 1820 CFG(CFG_DP_IPA_UC_TX_PARTITION_BASE) \ 1821 CFG(CFG_DP_IPA_UC_RX_IND_RING_COUNT) \ 1822 CFG(CFG_DP_AP_STA_SECURITY_SEPERATION) \ 1823 CFG(CFG_DP_ENABLE_DATA_STALL_DETECTION) \ 1824 CFG(CFG_DP_RX_SW_DESC_WEIGHT) \ 1825 CFG(CFG_DP_RX_SW_DESC_NUM) \ 1826 CFG(CFG_DP_RX_FLOW_SEARCH_TABLE_SIZE) \ 1827 CFG(CFG_DP_RX_FLOW_TAG_ENABLE) \ 1828 CFG(CFG_DP_RX_FLOW_SEARCH_TABLE_PER_PDEV) \ 1829 CFG(CFG_DP_RX_MON_PROTOCOL_FLOW_TAG_ENABLE) \ 1830 CFG(CFG_DP_RXDMA_MONITOR_RX_DROP_THRESHOLD) \ 1831 CFG(CFG_DP_PKTLOG_BUFFER_SIZE) \ 1832 CFG(CFG_DP_RX_FISA_ENABLE) \ 1833 CFG(CFG_DP_RX_FISA_LRU_DEL_ENABLE) \ 1834 CFG(CFG_DP_FULL_MON_MODE) \ 1835 CFG(CFG_DP_REO_RINGS_MAP) \ 1836 CFG(CFG_DP_PEER_EXT_STATS) \ 1837 CFG(CFG_DP_PEER_JITTER_STATS) \ 1838 CFG(CFG_DP_RX_BUFF_POOL_ENABLE) \ 1839 CFG(CFG_DP_RX_REFILL_BUFF_POOL_ENABLE) \ 1840 CFG(CFG_DP_RX_PENDING_HL_THRESHOLD) \ 1841 CFG(CFG_DP_RX_PENDING_LO_THRESHOLD) \ 1842 CFG(CFG_DP_LEGACY_MODE_CSUM_DISABLE) \ 1843 CFG(CFG_DP_POLL_MODE_ENABLE) \ 1844 CFG(CFG_DP_SWLM_ENABLE) \ 1845 CFG(CFG_DP_TX_PER_PKT_VDEV_ID_CHECK) \ 1846 CFG(CFG_DP_RX_FST_IN_CMEM) \ 1847 CFG(CFG_DP_RX_RADIO_0_DEFAULT_REO) \ 1848 CFG(CFG_DP_RX_RADIO_1_DEFAULT_REO) \ 1849 CFG(CFG_DP_RX_RADIO_2_DEFAULT_REO) \ 1850 CFG(CFG_DP_WOW_CHECK_RX_PENDING) \ 1851 CFG(CFG_DP_HW_CC_ENABLE) \ 1852 CFG(CFG_DP_DELAY_MON_REPLENISH) \ 1853 CFG(CFG_DP_TX_MONITOR_BUF_RING) \ 1854 CFG(CFG_DP_TX_MONITOR_DST_RING) \ 1855 CFG(CFG_DP_MPDU_RETRY_THRESHOLD_1) \ 1856 CFG(CFG_DP_MPDU_RETRY_THRESHOLD_2) \ 1857 CFG_DP_IPA_TX_RING_CFG \ 1858 CFG_DP_PPE_CONFIG \ 1859 CFG_DP_IPA_TX_ALT_RING_CFG \ 1860 CFG_DP_MLO_CONFIG \ 1861 CFG_DP_INI_SECTION_PARAMS \ 1862 CFG_DP_VDEV_STATS_HW_OFFLOAD \ 1863 CFG(CFG_DP_TX_CAPT_MAX_MEM_MB) \ 1864 CFG(CFG_DP_NAPI_SCALE_FACTOR) \ 1865 CFG(CFG_DP_HOST_AST_DB_ENABLE) \ 1866 CFG_DP_SAWF_STATS_CONFIG \ 1867 CFG(CFG_DP_HANDLE_INVALID_DECAP_TYPE_DISABLE) 1868 #endif /* _CFG_DP_H_ */ 1869