forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-10 cde9070d9970eef1f7ec2360586c802a16230ad8
kernel/drivers/net/wireless/rockchip_wlan/cywdhd/bcmdhd/dhd_linux_wq.h
....@@ -1,16 +1,17 @@
1
-/* SPDX-License-Identifier: GPL-2.0 */
21 /*
32 * Broadcom Dongle Host Driver (DHD), Generic work queue framework
43 * Generic interface to handle dhd deferred work events
54 *
6
- * Copyright (C) 1999-2019, Broadcom Corporation
7
- *
5
+ * Portions of this code are copyright (c) 2022 Cypress Semiconductor Corporation
6
+ *
7
+ * Copyright (C) 1999-2017, Broadcom Corporation
8
+ *
89 * Unless you and Broadcom execute a separate written software license
910 * agreement governing use of this software, this software is licensed to you
1011 * under the terms of the GNU General Public License version 2 (the "GPL"),
1112 * available at http://www.broadcom.com/licenses/GPLv2.php, with the
1213 * following added to such license:
13
- *
14
+ *
1415 * As a special exception, the copyright holders of this software give you
1516 * permission to link this software with independent modules, and to copy and
1617 * distribute the resulting executable under terms of your choice, provided that
....@@ -18,7 +19,7 @@
1819 * the license of that module. An independent module is a module which is not
1920 * derived from this software. The special exception does not apply to any
2021 * modifications of the software.
21
- *
22
+ *
2223 * Notwithstanding the above, under no circumstances may you combine this
2324 * software in any way with any other Broadcom software provided under a license
2425 * other than the GPL, without Broadcom's express prior written consent.
....@@ -26,7 +27,7 @@
2627 *
2728 * <<Broadcom-WL-IPTag/Open:>>
2829 *
29
- * $Id: dhd_linux_wq.h 606703 2015-12-16 12:22:50Z $
30
+ * $Id: dhd_linux_wq.h 701044 2017-05-23 12:16:12Z $
3031 */
3132 #ifndef _dhd_linux_wq_h_
3233 #define _dhd_linux_wq_h_
....@@ -40,17 +41,37 @@
4041 DHD_WQ_WORK_SET_MCAST_LIST,
4142 DHD_WQ_WORK_IPV6_NDO,
4243 DHD_WQ_WORK_HANG_MSG,
43
- DHD_WQ_WORK_SOC_RAM_DUMP,
44
+ DHD_WQ_WORK_DHD_LOG_DUMP,
45
+ DHD_WQ_WORK_PKTLOG_DUMP,
4446 DHD_WQ_WORK_INFORM_DHD_MON,
45
-
47
+ DHD_WQ_WORK_EVENT_LOGTRACE,
48
+ DHD_WQ_WORK_DMA_LB_MEM_REL,
49
+ DHD_WQ_WORK_NATOE_EVENT,
50
+ DHD_WQ_WORK_NATOE_IOCTL,
51
+ DHD_WQ_WORK_MACDBG,
52
+ DHD_WQ_WORK_DEBUG_UART_DUMP,
53
+ DHD_WQ_WORK_GET_BIGDATA_AP,
54
+ DHD_WQ_WORK_SOC_RAM_DUMP,
55
+#ifdef DHD_ERPOM
56
+ DHD_WQ_WORK_ERROR_RECOVERY,
57
+#endif /* DHD_ERPOM */
58
+ DHD_WQ_WORK_H2D_CONSOLE_TIME_STAMP_MATCH,
59
+ DHD_WQ_WORK_AXI_ERROR_DUMP,
60
+ DHD_WQ_WORK_CTO_RECOVERY,
61
+#ifdef DHD_BANDSTEER
62
+ DHD_WQ_WORK_BANDSTEER_STEP_MOVE,
63
+#endif /* DHD_BANDSTEER */
4664 DHD_MAX_WQ_EVENTS
4765 };
4866
4967 /*
5068 * Work event priority
5169 */
52
-#define DHD_WORK_PRIORITY_LOW 0
53
-#define DHD_WORK_PRIORITY_HIGH 1
70
+enum wq_priority {
71
+ DHD_WQ_WORK_PRIORITY_LOW = 1,
72
+ DHD_WQ_WORK_PRIORITY_HIGH,
73
+ DHD_WQ_MAX_PRIORITY
74
+};
5475
5576 /*
5677 * Error definitions
....@@ -60,6 +81,8 @@
6081 #define DHD_WQ_STS_UNINITIALIZED -2
6182 #define DHD_WQ_STS_SCHED_FAILED -3
6283 #define DHD_WQ_STS_UNKNOWN_EVENT -4
84
+#define DHD_WQ_STS_UNKNOWN_PRIORITY -5
85
+#define DHD_WQ_STS_EVENT_SKIPPED -6
6386
6487 typedef void (*event_handler_t)(void *handle, void *event_data, u8 event);
6588
....@@ -67,4 +90,5 @@
6790 void dhd_deferred_work_deinit(void *workq);
6891 int dhd_deferred_schedule_work(void *workq, void *event_data, u8 event,
6992 event_handler_t evt_handler, u8 priority);
93
+void dhd_deferred_work_set_skip(void *work, u8 event, bool set);
7094 #endif /* _dhd_linux_wq_h_ */