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