tzh
2024-08-15 d4a1bd480003f3e1a0590bc46fbcb24f05652ca7
longan/kernel/linux-4.9/drivers/net/wireless/aic8800/aic8800_fdrv/rwnx_utils.h
old mode 100644new mode 100755
....@@ -121,90 +121,11 @@
121121 * @idx: Index of the last pushed skb.(Use to find the next free entry quicker)
122122 *
123123 * Note: contrary to softmac version, dma_addr are stored inside skb->cb.
124
- * (cf &struct rwnx_skb_cb)
125124 */
126125 struct rwnx_ipc_rxbuf_elems {
127126 struct sk_buff *skb[RWNX_RXBUFF_MAX];
128127 int idx;
129128 };
130129
131
-/**
132
- * struct rwnx_skb_cb - Control Buffer structure for RX buffer
133
- *
134
- * @dma_addr: DMA address of the data buffer
135
- * @pattern: Known pattern (used to check pointer on skb)
136
- * @idx: Index in &struct rwnx_hw.rxbuff_table that contains address of this
137
- * buffer
138
- */
139
-struct rwnx_skb_cb {
140
- dma_addr_t dma_addr;
141
- uint32_t pattern;
142
- uint32_t idx;
143
-};
144
-
145
-#define RWNX_RXBUFF_DMA_ADDR_SET(skbuff, addr) \
146
- (((struct rwnx_skb_cb *)(skbuff->cb))->dma_addr = addr)
147
-#define RWNX_RXBUFF_DMA_ADDR_GET(skbuff) \
148
- (((struct rwnx_skb_cb *)(skbuff->cb))->dma_addr)
149
-
150
-#define RWNX_RXBUFF_PATTERN_SET(skbuff, pat) \
151
- (((struct rwnx_skb_cb *)(skbuff->cb))->pattern = pat)
152
-#define RWNX_RXBUFF_PATTERN_GET(skbuff) \
153
- (((struct rwnx_skb_cb *)(skbuff->cb))->pattern)
154
-
155
-#define RWNX_RXBUFF_IDX_SET(skbuff, val) \
156
- (((struct rwnx_skb_cb *)(skbuff->cb))->idx = val)
157
-#define RWNX_RXBUFF_IDX_GET(skbuff) \
158
- (((struct rwnx_skb_cb *)(skbuff->cb))->idx)
159
-
160
-#define RWNX_RXBUFF_VALID_IDX(idx) ((idx) < RWNX_RXBUFF_MAX)
161
-
162
-/* Used to ensure that hostid set to fw is never 0 */
163
-#define RWNX_RXBUFF_IDX_TO_HOSTID(idx) ((idx) + 1)
164
-#define RWNX_RXBUFF_HOSTID_TO_IDX(hostid) ((hostid) - 1)
165
-
166130 #endif /* CONFIG_RWNX_FULLMAC */
167
-
168
-
169
-#ifdef CONFIG_RWNX_FULLMAC
170
-int rwnx_ipc_rxbuf_elem_allocs(struct rwnx_hw *rwnx_hw);
171
-void rwnx_ipc_rxbuf_elem_pull(struct rwnx_hw *rwnx_hw, struct sk_buff *skb);
172
-void rwnx_ipc_rxbuf_elem_sync(struct rwnx_hw *rwnx_hw, struct sk_buff *skb,
173
- int len);
174
-void rwnx_ipc_rxdesc_elem_repush(struct rwnx_hw *rwnx_hw,
175
- struct rwnx_ipc_elem *elem);
176
-void rwnx_ipc_rxbuf_elem_repush(struct rwnx_hw *rwnx_hw,
177
- struct sk_buff *skb);
178
-#endif /* CONFIG_RWNX_FULLMAC */
179
-
180
-void rwnx_ipc_msg_push(struct rwnx_hw *rwnx_hw, void *msg_buf, uint16_t len);
181
-void rwnx_ipc_txdesc_push(struct rwnx_hw *rwnx_hw, void *tx_desc,
182
- void *hostid, int hw_queue, int user);
183
-
184
-void *rwnx_ipc_fw_trace_desc_get(struct rwnx_hw *rwnx_hw);
185
-
186
-int rwnx_ipc_rxbuf_init(struct rwnx_hw *rwnx_hw, uint32_t rx_bufsz);
187
-int rwnx_ipc_init(struct rwnx_hw *rwnx_hw, u8 *shared_ram);
188
-void rwnx_ipc_deinit(struct rwnx_hw *rwnx_hw);
189
-void rwnx_ipc_start(struct rwnx_hw *rwnx_hw);
190
-void rwnx_ipc_stop(struct rwnx_hw *rwnx_hw);
191
-void rwnx_ipc_tx_drain(struct rwnx_hw *rwnx_hw);
192
-bool rwnx_ipc_tx_pending(struct rwnx_hw *rwnx_hw);
193
-
194
-struct ipc_host_env_tag;
195
-int rwnx_ipc_elem_var_allocs(struct rwnx_hw *rwnx_hw,
196
- struct rwnx_ipc_elem_var *elem, size_t elem_size,
197
- enum dma_data_direction dir,
198
- void *buf, const void *init,
199
- void (*push)(struct ipc_host_env_tag *, uint32_t));
200
-void rwnx_ipc_elem_var_deallocs(struct rwnx_hw *rwnx_hw,
201
- struct rwnx_ipc_elem_var *elem);
202
-int rwnx_ipc_unsup_rx_vec_elem_allocs(struct rwnx_hw *rwnx_hw,
203
- struct rwnx_ipc_skb_elem *elem);
204
-
205
-void rwnx_error_ind(struct rwnx_hw *rwnx_hw);
206
-void rwnx_umh_done(struct rwnx_hw *rwnx_hw);
207
-
208
-void rwnx_ipc_sta_buffer_init(struct rwnx_hw *rwnx_hw, int sta_idx);
209
-void rwnx_ipc_sta_buffer(struct rwnx_hw *rwnx_hw, struct rwnx_sta *sta, int tid, int size);
210131 #endif /* _RWNX_IPC_UTILS_H_ */