hc
2023-11-06 e3e12f52b214121840b44c91de5b3e5af5d3eb84
kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_static_buf.c
....@@ -7,7 +7,7 @@
77 #include <linux/err.h>
88 #include <linux/skbuff.h>
99
10
-#define DHD_STATIC_VERSION_STR "101.10.361.24 (wlan=r892223-20220916-1)"
10
+#define DHD_STATIC_VERSION_STR "101.10.361.26 (wlan=r892223-20221011-1)"
1111 #define STATIC_ERROR_LEVEL BIT(0)
1212 #define STATIC_TRACE_LEVEL BIT(1)
1313 #define STATIC_MSG_LEVEL BIT(0)
....@@ -32,12 +32,19 @@
3232 } \
3333 } while (0)
3434
35
-#define BCMDHD_SDIO
36
-#define BCMDHD_PCIE
37
-//#define BCMDHD_USB
35
+#ifdef DHD_STATIC_IN_DRIVER
36
+#if ANDROID_VERSION > 0
37
+#define CONFIG_BCMDHD_VTS { : = y}
38
+#define CONFIG_BCMDHD_DEBUG { : = y}
39
+#endif
40
+#else
41
+#define BCMSDIO
42
+#define BCMPCIE
43
+//#define BCMDBUS
3844 #define CONFIG_BCMDHD_VTS { : = y}
3945 #define CONFIG_BCMDHD_DEBUG { : = y}
4046 //#define BCMDHD_UNUSE_MEM
47
+#endif
4148
4249 #ifndef MAX_NUM_ADAPTERS
4350 #define MAX_NUM_ADAPTERS 1
....@@ -45,28 +52,28 @@
4552
4653 enum dhd_prealloc_index {
4754 DHD_PREALLOC_PROT = 0,
48
-#if defined(BCMDHD_SDIO)
55
+#if defined(BCMSDIO)
4956 DHD_PREALLOC_RXBUF = 1,
5057 DHD_PREALLOC_DATABUF = 2,
51
-#endif /* BCMDHD_SDIO */
58
+#endif /* BCMSDIO */
5259 DHD_PREALLOC_OSL_BUF = 3,
5360 DHD_PREALLOC_SKB_BUF = 4,
5461 DHD_PREALLOC_WIPHY_ESCAN0 = 5,
5562 DHD_PREALLOC_WIPHY_ESCAN1 = 6,
5663 DHD_PREALLOC_DHD_INFO = 7,
57
-#if defined(BCMDHD_SDIO) || defined(BCMDHD_USB)
64
+#if defined(BCMSDIO) || defined(BCMDBUS)
5865 DHD_PREALLOC_DHD_WLFC_INFO = 8,
59
-#endif /* BCMDHD_SDIO | BCMDHD_USB */
60
-#ifdef BCMDHD_PCIE
66
+#endif /* BCMSDIO | BCMDBUS */
67
+#ifdef BCMPCIE
6168 DHD_PREALLOC_IF_FLOW_LKUP = 9,
62
-#endif /* BCMDHD_PCIE */
69
+#endif /* BCMPCIE */
6370 DHD_PREALLOC_MEMDUMP_BUF = 10,
6471 #if defined(CONFIG_BCMDHD_VTS) || defined(CONFIG_BCMDHD_DEBUG)
6572 DHD_PREALLOC_MEMDUMP_RAM = 11,
6673 #endif /* CONFIG_BCMDHD_VTS | CONFIG_BCMDHD_DEBUG */
67
-#if defined(BCMDHD_SDIO) || defined(BCMDHD_USB)
74
+#if defined(BCMSDIO) || defined(BCMDBUS)
6875 DHD_PREALLOC_DHD_WLFC_HANGER = 12,
69
-#endif /* BCMDHD_SDIO | BCMDHD_USB */
76
+#endif /* BCMSDIO | BCMDBUS */
7077 DHD_PREALLOC_PKTID_MAP = 13,
7178 DHD_PREALLOC_PKTID_MAP_IOCTL = 14,
7279 #if defined(CONFIG_BCMDHD_VTS) || defined(CONFIG_BCMDHD_DEBUG)
....@@ -98,7 +105,7 @@
98105 #define DHD_PREALLOC_DATABUF_SIZE (64 * 1024)
99106 #define DHD_PREALLOC_OSL_BUF_SIZE (STATIC_BUF_MAX_NUM * STATIC_BUF_SIZE)
100107 #define DHD_PREALLOC_WIPHY_ESCAN0_SIZE (64 * 1024)
101
-#define DHD_PREALLOC_DHD_INFO_SIZE (42 * 1024)
108
+#define DHD_PREALLOC_DHD_INFO_SIZE (43 * 1024)
102109 #if defined(CONFIG_BCMDHD_VTS) || defined(CONFIG_BCMDHD_DEBUG)
103110 #define DHD_PREALLOC_MEMDUMP_RAM_SIZE (1290 * 1024)
104111 #endif /* CONFIG_BCMDHD_VTS | CONFIG_BCMDHD_DEBUG */
....@@ -133,20 +140,20 @@
133140 #define DHD_SKB_2PAGE_BUFSIZE (PAGE_SIZE * 2)
134141 #define DHD_SKB_4PAGE_BUFSIZE (PAGE_SIZE * 4)
135142
136
-#ifdef BCMDHD_PCIE
143
+#ifdef BCMPCIE
137144 #define DHD_SKB_1PAGE_BUF_NUM 0
138145 #define DHD_SKB_2PAGE_BUF_NUM 192
139
-#elif defined(BCMDHD_SDIO)
146
+#elif defined(BCMSDIO)
140147 #define DHD_SKB_1PAGE_BUF_NUM 8
141148 #define DHD_SKB_2PAGE_BUF_NUM 8
142
-#endif /* BCMDHD_PCIE */
149
+#endif /* BCMPCIE */
143150 #define DHD_SKB_4PAGE_BUF_NUM 1
144151
145152 /* The number is defined in linux_osl.c
146153 * WLAN_SKB_1_2PAGE_BUF_NUM => STATIC_PKT_1_2PAGE_NUM
147154 * WLAN_SKB_BUF_NUM => STATIC_PKT_MAX_NUM
148155 */
149
-#if defined(BCMDHD_SDIO) || defined(BCMDHD_PCIE)
156
+#if defined(BCMSDIO) || defined(BCMPCIE)
150157 #define WLAN_SKB_1_2PAGE_BUF_NUM ((DHD_SKB_1PAGE_BUF_NUM) + \
151158 (DHD_SKB_2PAGE_BUF_NUM))
152159 #define WLAN_SKB_BUF_NUM ((WLAN_SKB_1_2PAGE_BUF_NUM) + (DHD_SKB_4PAGE_BUF_NUM))
....@@ -173,9 +180,9 @@
173180 void *wlan_static_dhd_event_ring_buf[MAX_NUM_ADAPTERS] = {};
174181 void *wlan_static_nan_event_ring_buf[MAX_NUM_ADAPTERS] = {};
175182
176
-#if defined(BCMDHD_SDIO) || defined(BCMDHD_PCIE)
183
+#if defined(BCMSDIO) || defined(BCMPCIE)
177184 static struct sk_buff *wlan_static_skb[MAX_NUM_ADAPTERS][WLAN_SKB_BUF_NUM] = {};
178
-#endif /* BCMDHD_SDIO | BCMDHD_PCIE */
185
+#endif /* BCMSDIO | BCMPCIE */
179186
180187 void *
181188 dhd_wlan_mem_prealloc(
....@@ -198,18 +205,18 @@
198205 if (section == DHD_PREALLOC_PROT)
199206 return wlan_static_prot[index];
200207
201
-#if defined(BCMDHD_SDIO)
208
+#if defined(BCMSDIO)
202209 if (section == DHD_PREALLOC_RXBUF)
203210 return wlan_static_rxbuf[index];
204211
205212 if (section == DHD_PREALLOC_DATABUF)
206213 return wlan_static_databuf[index];
207
-#endif /* BCMDHD_SDIO */
214
+#endif /* BCMSDIO */
208215
209
-#if defined(BCMDHD_SDIO) || defined(BCMDHD_PCIE)
216
+#if defined(BCMSDIO) || defined(BCMPCIE)
210217 if (section == DHD_PREALLOC_SKB_BUF)
211218 return wlan_static_skb[index];
212
-#endif /* BCMDHD_SDIO | BCMDHD_PCIE */
219
+#endif /* BCMSDIO | BCMPCIE */
213220
214221 if (section == DHD_PREALLOC_WIPHY_ESCAN0)
215222 return wlan_static_scan_buf0[index];
....@@ -234,7 +241,7 @@
234241 }
235242 return wlan_static_dhd_info_buf[index];
236243 }
237
-#if defined(BCMDHD_SDIO) || defined(BCMDHD_USB)
244
+#if defined(BCMSDIO) || defined(BCMDBUS)
238245 if (section == DHD_PREALLOC_DHD_WLFC_INFO) {
239246 if (size > WLAN_DHD_WLFC_BUF_SIZE) {
240247 DHD_STATIC_ERROR("request DHD_WLFC_INFO(%lu) > %d\n",
....@@ -243,8 +250,8 @@
243250 }
244251 return wlan_static_dhd_wlfc_info_buf[index];
245252 }
246
-#endif /* BCMDHD_SDIO | BCMDHD_USB */
247
-#ifdef BCMDHD_PCIE
253
+#endif /* BCMSDIO | BCMDBUS */
254
+#ifdef BCMPCIE
248255 if (section == DHD_PREALLOC_IF_FLOW_LKUP) {
249256 if (size > DHD_PREALLOC_IF_FLOW_LKUP_SIZE) {
250257 DHD_STATIC_ERROR("request DHD_IF_FLOW_LKUP(%lu) > %d\n",
....@@ -253,7 +260,7 @@
253260 }
254261 return wlan_static_if_flow_lkup[index];
255262 }
256
-#endif /* BCMDHD_PCIE */
263
+#endif /* BCMPCIE */
257264 #if defined(CONFIG_BCMDHD_VTS) || defined(CONFIG_BCMDHD_DEBUG)
258265 if (section == DHD_PREALLOC_MEMDUMP_RAM) {
259266 if (size > DHD_PREALLOC_MEMDUMP_RAM_SIZE) {
....@@ -264,7 +271,7 @@
264271 return wlan_static_dhd_memdump_ram_buf[index];
265272 }
266273 #endif /* CONFIG_BCMDHD_VTS | CONFIG_BCMDHD_DEBUG */
267
-#if defined(BCMDHD_SDIO) || defined(BCMDHD_USB)
274
+#if defined(BCMSDIO) || defined(BCMDBUS)
268275 if (section == DHD_PREALLOC_DHD_WLFC_HANGER) {
269276 if (size > DHD_PREALLOC_DHD_WLFC_HANGER_SIZE) {
270277 DHD_STATIC_ERROR("request DHD_WLFC_HANGER(%lu) > %d\n",
....@@ -273,7 +280,7 @@
273280 }
274281 return wlan_static_dhd_wlfc_hanger_buf[index];
275282 }
276
-#endif /* BCMDHD_SDIO | BCMDHD_USB */
283
+#endif /* BCMSDIO | BCMDBUS */
277284 #if defined(CONFIG_BCMDHD_VTS) || defined(CONFIG_BCMDHD_DEBUG)
278285 if (section == DHD_PREALLOC_DHD_LOG_DUMP_BUF) {
279286 if (size > DHD_PREALLOC_DHD_LOG_DUMP_BUF_SIZE) {
....@@ -350,18 +357,18 @@
350357 static void
351358 dhd_deinit_wlan_mem(int index)
352359 {
353
-#if defined(BCMDHD_SDIO) || defined(BCMDHD_PCIE)
360
+#if defined(BCMSDIO) || defined(BCMPCIE)
354361 int i;
355
-#endif /* BCMDHD_SDIO | BCMDHD_PCIE */
362
+#endif /* BCMSDIO | BCMPCIE */
356363
357364 if (wlan_static_prot[index])
358365 kfree(wlan_static_prot[index]);
359
-#if defined(BCMDHD_SDIO)
366
+#if defined(BCMSDIO)
360367 if (wlan_static_rxbuf[index])
361368 kfree(wlan_static_rxbuf[index]);
362369 if (wlan_static_databuf[index])
363370 kfree(wlan_static_databuf[index]);
364
-#endif /* BCMDHD_SDIO */
371
+#endif /* BCMSDIO */
365372 if (wlan_static_osl_buf[index])
366373 kfree(wlan_static_osl_buf[index]);
367374 if (wlan_static_scan_buf0[index])
....@@ -370,22 +377,22 @@
370377 kfree(wlan_static_scan_buf1[index]);
371378 if (wlan_static_dhd_info_buf[index])
372379 kfree(wlan_static_dhd_info_buf[index]);
373
-#if defined(BCMDHD_SDIO) || defined(BCMDHD_USB)
380
+#if defined(BCMSDIO) || defined(BCMDBUS)
374381 if (wlan_static_dhd_wlfc_info_buf[index])
375382 kfree(wlan_static_dhd_wlfc_info_buf[index]);
376
-#endif /* BCMDHD_SDIO | BCMDHD_USB */
377
-#ifdef BCMDHD_PCIE
383
+#endif /* BCMSDIO | BCMDBUS */
384
+#ifdef BCMPCIE
378385 if (wlan_static_if_flow_lkup[index])
379386 kfree(wlan_static_if_flow_lkup[index]);
380
-#endif /* BCMDHD_PCIE */
387
+#endif /* BCMPCIE */
381388 #if defined(CONFIG_BCMDHD_VTS) || defined(CONFIG_BCMDHD_DEBUG)
382389 if (wlan_static_dhd_memdump_ram_buf[index])
383390 kfree(wlan_static_dhd_memdump_ram_buf[index]);
384391 #endif /* CONFIG_BCMDHD_VTS | CONFIG_BCMDHD_DEBUG */
385
-#if defined(BCMDHD_SDIO) || defined(BCMDHD_USB)
392
+#if defined(BCMSDIO) || defined(BCMDBUS)
386393 if (wlan_static_dhd_wlfc_hanger_buf[index])
387394 kfree(wlan_static_dhd_wlfc_hanger_buf[index]);
388
-#endif /* BCMDHD_SDIO | BCMDHD_USB */
395
+#endif /* BCMSDIO | BCMDBUS */
389396 #if defined(CONFIG_BCMDHD_VTS) || defined(CONFIG_BCMDHD_DEBUG)
390397 if (wlan_static_dhd_log_dump_buf[index])
391398 kfree(wlan_static_dhd_log_dump_buf[index]);
....@@ -405,12 +412,12 @@
405412 kfree(wlan_static_nan_event_ring_buf[index]);
406413 #endif /* BCMDHD_UNUSE_MEM */
407414
408
-#if defined(BCMDHD_SDIO) || defined(BCMDHD_PCIE)
415
+#if defined(BCMSDIO) || defined(BCMPCIE)
409416 for (i=0; i<WLAN_SKB_BUF_NUM; i++) {
410417 if (wlan_static_skb[index][i])
411418 dev_kfree_skb(wlan_static_skb[index][i]);
412419 }
413
-#endif /* BCMDHD_SDIO | BCMDHD_PCIE */
420
+#endif /* BCMSDIO | BCMPCIE */
414421
415422 return;
416423 }
....@@ -418,12 +425,12 @@
418425 static int
419426 dhd_init_wlan_mem(int index)
420427 {
421
-#if defined(BCMDHD_SDIO) || defined(BCMDHD_PCIE)
428
+#if defined(BCMSDIO) || defined(BCMPCIE)
422429 int i;
423430 #endif
424431 unsigned long size = 0;
425432
426
-#if defined(BCMDHD_SDIO) || defined(BCMDHD_PCIE)
433
+#if defined(BCMSDIO) || defined(BCMPCIE)
427434 for (i = 0; i < WLAN_SKB_BUF_NUM; i++)
428435 wlan_static_skb[index][i] = NULL;
429436
....@@ -444,16 +451,16 @@
444451 DHD_STATIC_TRACE("section %d skb[%d], size=%ld\n",
445452 DHD_PREALLOC_SKB_BUF, i, DHD_SKB_2PAGE_BUFSIZE);
446453 }
447
-#endif /* BCMDHD_SDIO | BCMDHD_PCIE */
454
+#endif /* BCMSDIO | BCMPCIE */
448455
449
-#if defined(BCMDHD_SDIO)
456
+#if defined(BCMSDIO)
450457 wlan_static_skb[index][i] = dev_alloc_skb(DHD_SKB_4PAGE_BUFSIZE);
451458 if (!wlan_static_skb[index][i])
452459 goto err_mem_alloc;
453460 size += DHD_SKB_4PAGE_BUFSIZE;
454461 DHD_STATIC_TRACE("section %d skb[%d], size=%ld\n",
455462 DHD_PREALLOC_SKB_BUF, i, DHD_SKB_4PAGE_BUFSIZE);
456
-#endif /* BCMDHD_SDIO */
463
+#endif /* BCMSDIO */
457464
458465 wlan_static_prot[index] = kmalloc(DHD_PREALLOC_PROT_SIZE, GFP_KERNEL);
459466 if (!wlan_static_prot[index])
....@@ -462,7 +469,7 @@
462469 DHD_STATIC_TRACE("section %d, size=%d\n",
463470 DHD_PREALLOC_PROT, DHD_PREALLOC_PROT_SIZE);
464471
465
-#if defined(BCMDHD_SDIO)
472
+#if defined(BCMSDIO)
466473 wlan_static_rxbuf[index] = kmalloc(DHD_PREALLOC_RXBUF_SIZE, GFP_KERNEL);
467474 if (!wlan_static_rxbuf[index])
468475 goto err_mem_alloc;
....@@ -476,7 +483,7 @@
476483 size += DHD_PREALLOC_DATABUF_SIZE;
477484 DHD_STATIC_TRACE("section %d, size=%d\n",
478485 DHD_PREALLOC_DATABUF, DHD_PREALLOC_DATABUF_SIZE);
479
-#endif /* BCMDHD_SDIO */
486
+#endif /* BCMSDIO */
480487
481488 wlan_static_osl_buf[index] = kmalloc(DHD_PREALLOC_OSL_BUF_SIZE, GFP_KERNEL);
482489 if (!wlan_static_osl_buf[index])
....@@ -499,23 +506,23 @@
499506 DHD_STATIC_TRACE("section %d, size=%d\n",
500507 DHD_PREALLOC_DHD_INFO, DHD_PREALLOC_DHD_INFO_SIZE);
501508
502
-#if defined(BCMDHD_SDIO) || defined(BCMDHD_USB)
509
+#if defined(BCMSDIO) || defined(BCMDBUS)
503510 wlan_static_dhd_wlfc_info_buf[index] = kmalloc(WLAN_DHD_WLFC_BUF_SIZE, GFP_KERNEL);
504511 if (!wlan_static_dhd_wlfc_info_buf[index])
505512 goto err_mem_alloc;
506513 size += WLAN_DHD_WLFC_BUF_SIZE;
507514 DHD_STATIC_TRACE("section %d, size=%d\n",
508515 DHD_PREALLOC_DHD_WLFC_INFO, WLAN_DHD_WLFC_BUF_SIZE);
509
-#endif /* BCMDHD_SDIO | BCMDHD_USB */
516
+#endif /* BCMSDIO | BCMDBUS */
510517
511
-#ifdef BCMDHD_PCIE
518
+#ifdef BCMPCIE
512519 wlan_static_if_flow_lkup[index] = kmalloc(DHD_PREALLOC_IF_FLOW_LKUP_SIZE, GFP_KERNEL);
513520 if (!wlan_static_if_flow_lkup[index])
514521 goto err_mem_alloc;
515522 size += DHD_PREALLOC_IF_FLOW_LKUP_SIZE;
516523 DHD_STATIC_TRACE("section %d, size=%d\n",
517524 DHD_PREALLOC_IF_FLOW_LKUP, DHD_PREALLOC_IF_FLOW_LKUP_SIZE);
518
-#endif /* BCMDHD_PCIE */
525
+#endif /* BCMPCIE */
519526
520527 #if defined(CONFIG_BCMDHD_VTS) || defined(CONFIG_BCMDHD_DEBUG)
521528 wlan_static_dhd_memdump_ram_buf[index] = kmalloc(DHD_PREALLOC_MEMDUMP_RAM_SIZE, GFP_KERNEL);
....@@ -526,14 +533,14 @@
526533 DHD_PREALLOC_MEMDUMP_RAM, DHD_PREALLOC_MEMDUMP_RAM_SIZE);
527534 #endif /* CONFIG_BCMDHD_VTS | CONFIG_BCMDHD_DEBUG */
528535
529
-#if defined(BCMDHD_SDIO) || defined(BCMDHD_USB)
536
+#if defined(BCMSDIO) || defined(BCMDBUS)
530537 wlan_static_dhd_wlfc_hanger_buf[index] = kmalloc(DHD_PREALLOC_DHD_WLFC_HANGER_SIZE, GFP_KERNEL);
531538 if (!wlan_static_dhd_wlfc_hanger_buf[index])
532539 goto err_mem_alloc;
533540 size += DHD_PREALLOC_DHD_WLFC_HANGER_SIZE;
534541 DHD_STATIC_TRACE("section %d, size=%d\n",
535542 DHD_PREALLOC_DHD_WLFC_HANGER, DHD_PREALLOC_DHD_WLFC_HANGER_SIZE);
536
-#endif /* BCMDHD_SDIO | BCMDHD_USB */
543
+#endif /* BCMSDIO | BCMDBUS */
537544
538545 #if defined(CONFIG_BCMDHD_VTS) || defined(CONFIG_BCMDHD_DEBUG)
539546 wlan_static_dhd_log_dump_buf[index] = kmalloc(DHD_PREALLOC_DHD_LOG_DUMP_BUF_SIZE, GFP_KERNEL);