forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-01-31 f70575805708cabdedea7498aaa3f710fde4d920
kernel/drivers/net/wireless/ralink/rt2x00/rt2800mmio.h
....@@ -1,3 +1,4 @@
1
+/* SPDX-License-Identifier: GPL-2.0-or-later */
12 /* Copyright (C) 2009 - 2010 Ivo van Doorn <IvDoorn@gmail.com>
23 * Copyright (C) 2009 Alban Browaeys <prahal@yahoo.com>
34 * Copyright (C) 2009 Felix Fietkau <nbd@openwrt.org>
....@@ -7,19 +8,6 @@
78 * Copyright (C) 2009 Xose Vazquez Perez <xose.vazquez@gmail.com>
89 * Copyright (C) 2009 Bart Zolnierkiewicz <bzolnier@gmail.com>
910 * <http://rt2x00.serialmonkey.com>
10
- *
11
- * This program is free software; you can redistribute it and/or modify
12
- * it under the terms of the GNU General Public License as published by
13
- * the Free Software Foundation; either version 2 of the License, or
14
- * (at your option) any later version.
15
- *
16
- * This program is distributed in the hope that it will be useful,
17
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
18
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
- * GNU General Public License for more details.
20
- *
21
- * You should have received a copy of the GNU General Public License
22
- * along with this program; if not, see <http://www.gnu.org/licenses/>.
2311 */
2412
2513 /* Module: rt2800mmio
....@@ -126,6 +114,8 @@
126114 #define RXD_W3_PLCP_SIGNAL FIELD32(0x00020000)
127115 #define RXD_W3_PLCP_RSSI FIELD32(0x00040000)
128116
117
+unsigned int rt2800mmio_get_dma_done(struct data_queue *queue);
118
+
129119 /* TX descriptor initialization */
130120 __le32 *rt2800mmio_get_txwi(struct queue_entry *entry);
131121 void rt2800mmio_write_tx_desc(struct queue_entry *entry,
....@@ -136,11 +126,11 @@
136126 struct rxdone_entry_desc *rxdesc);
137127
138128 /* Interrupt functions */
139
-void rt2800mmio_txstatus_tasklet(unsigned long data);
140
-void rt2800mmio_pretbtt_tasklet(unsigned long data);
141
-void rt2800mmio_tbtt_tasklet(unsigned long data);
142
-void rt2800mmio_rxdone_tasklet(unsigned long data);
143
-void rt2800mmio_autowake_tasklet(unsigned long data);
129
+void rt2800mmio_txstatus_tasklet(struct tasklet_struct *t);
130
+void rt2800mmio_pretbtt_tasklet(struct tasklet_struct *t);
131
+void rt2800mmio_tbtt_tasklet(struct tasklet_struct *t);
132
+void rt2800mmio_rxdone_tasklet(struct tasklet_struct *t);
133
+void rt2800mmio_autowake_tasklet(struct tasklet_struct *t);
144134 irqreturn_t rt2800mmio_interrupt(int irq, void *dev_instance);
145135 void rt2800mmio_toggle_irq(struct rt2x00_dev *rt2x00dev,
146136 enum dev_state state);
....@@ -148,10 +138,12 @@
148138 /* Queue handlers */
149139 void rt2800mmio_start_queue(struct data_queue *queue);
150140 void rt2800mmio_kick_queue(struct data_queue *queue);
141
+void rt2800mmio_flush_queue(struct data_queue *queue, bool drop);
151142 void rt2800mmio_stop_queue(struct data_queue *queue);
152143 void rt2800mmio_queue_init(struct data_queue *queue);
153144
154145 /* Initialization functions */
146
+int rt2800mmio_probe_hw(struct rt2x00_dev *rt2x00dev);
155147 bool rt2800mmio_get_entry_state(struct queue_entry *entry);
156148 void rt2800mmio_clear_entry(struct queue_entry *entry);
157149 int rt2800mmio_init_queues(struct rt2x00_dev *rt2x00dev);