Lines Matching refs:entry

218 static void rt2x00usb_work_txdone_entry(struct queue_entry *entry)  in rt2x00usb_work_txdone_entry()  argument
228 if (test_bit(ENTRY_DATA_IO_FAILED, &entry->flags)) in rt2x00usb_work_txdone_entry()
229 rt2x00lib_txdone_noinfo(entry, TXDONE_FAILURE); in rt2x00usb_work_txdone_entry()
231 rt2x00lib_txdone_noinfo(entry, TXDONE_UNKNOWN); in rt2x00usb_work_txdone_entry()
239 struct queue_entry *entry; in rt2x00usb_work_txdone() local
243 entry = rt2x00queue_get_entry(queue, Q_INDEX_DONE); in rt2x00usb_work_txdone()
245 if (test_bit(ENTRY_OWNER_DEVICE_DATA, &entry->flags) || in rt2x00usb_work_txdone()
246 !test_bit(ENTRY_DATA_STATUS_PENDING, &entry->flags)) in rt2x00usb_work_txdone()
249 rt2x00usb_work_txdone_entry(entry); in rt2x00usb_work_txdone()
256 struct queue_entry *entry = (struct queue_entry *)urb->context; in rt2x00usb_interrupt_txdone() local
257 struct rt2x00_dev *rt2x00dev = entry->queue->rt2x00dev; in rt2x00usb_interrupt_txdone()
259 if (!test_bit(ENTRY_OWNER_DEVICE_DATA, &entry->flags)) in rt2x00usb_interrupt_txdone()
265 set_bit(ENTRY_DATA_IO_FAILED, &entry->flags); in rt2x00usb_interrupt_txdone()
269 rt2x00lib_dmadone(entry); in rt2x00usb_interrupt_txdone()
272 rt2x00dev->ops->lib->tx_dma_done(entry); in rt2x00usb_interrupt_txdone()
282 static bool rt2x00usb_kick_tx_entry(struct queue_entry *entry, void *data) in rt2x00usb_kick_tx_entry() argument
284 struct rt2x00_dev *rt2x00dev = entry->queue->rt2x00dev; in rt2x00usb_kick_tx_entry()
286 struct queue_entry_priv_usb *entry_priv = entry->priv_data; in rt2x00usb_kick_tx_entry()
290 if (!test_and_clear_bit(ENTRY_DATA_PENDING, &entry->flags) || in rt2x00usb_kick_tx_entry()
291 test_bit(ENTRY_DATA_STATUS_PENDING, &entry->flags)) in rt2x00usb_kick_tx_entry()
299 length = rt2x00dev->ops->lib->get_tx_data_len(entry); in rt2x00usb_kick_tx_entry()
301 status = skb_padto(entry->skb, length); in rt2x00usb_kick_tx_entry()
305 set_bit(ENTRY_DATA_IO_FAILED, &entry->flags); in rt2x00usb_kick_tx_entry()
306 rt2x00lib_dmadone(entry); in rt2x00usb_kick_tx_entry()
312 usb_sndbulkpipe(usb_dev, entry->queue->usb_endpoint), in rt2x00usb_kick_tx_entry()
313 entry->skb->data, length, in rt2x00usb_kick_tx_entry()
314 rt2x00usb_interrupt_txdone, entry); in rt2x00usb_kick_tx_entry()
320 set_bit(ENTRY_DATA_IO_FAILED, &entry->flags); in rt2x00usb_kick_tx_entry()
321 rt2x00lib_dmadone(entry); in rt2x00usb_kick_tx_entry()
334 struct queue_entry *entry; in rt2x00usb_work_rxdone() local
339 entry = rt2x00queue_get_entry(rt2x00dev->rx, Q_INDEX_DONE); in rt2x00usb_work_rxdone()
341 if (test_bit(ENTRY_OWNER_DEVICE_DATA, &entry->flags) || in rt2x00usb_work_rxdone()
342 !test_bit(ENTRY_DATA_STATUS_PENDING, &entry->flags)) in rt2x00usb_work_rxdone()
348 skbdesc = get_skb_frame_desc(entry->skb); in rt2x00usb_work_rxdone()
350 skbdesc->desc_len = entry->queue->desc_size; in rt2x00usb_work_rxdone()
355 rt2x00lib_rxdone(entry, GFP_KERNEL); in rt2x00usb_work_rxdone()
361 struct queue_entry *entry = (struct queue_entry *)urb->context; in rt2x00usb_interrupt_rxdone() local
362 struct rt2x00_dev *rt2x00dev = entry->queue->rt2x00dev; in rt2x00usb_interrupt_rxdone()
364 if (!test_and_clear_bit(ENTRY_OWNER_DEVICE_DATA, &entry->flags)) in rt2x00usb_interrupt_rxdone()
370 rt2x00lib_dmadone(entry); in rt2x00usb_interrupt_rxdone()
377 if (urb->actual_length < entry->queue->desc_size || urb->status) in rt2x00usb_interrupt_rxdone()
378 set_bit(ENTRY_DATA_IO_FAILED, &entry->flags); in rt2x00usb_interrupt_rxdone()
387 static bool rt2x00usb_kick_rx_entry(struct queue_entry *entry, void *data) in rt2x00usb_kick_rx_entry() argument
389 struct rt2x00_dev *rt2x00dev = entry->queue->rt2x00dev; in rt2x00usb_kick_rx_entry()
391 struct queue_entry_priv_usb *entry_priv = entry->priv_data; in rt2x00usb_kick_rx_entry()
394 if (test_and_set_bit(ENTRY_OWNER_DEVICE_DATA, &entry->flags) || in rt2x00usb_kick_rx_entry()
395 test_bit(ENTRY_DATA_STATUS_PENDING, &entry->flags)) in rt2x00usb_kick_rx_entry()
398 rt2x00lib_dmastart(entry); in rt2x00usb_kick_rx_entry()
401 usb_rcvbulkpipe(usb_dev, entry->queue->usb_endpoint), in rt2x00usb_kick_rx_entry()
402 entry->skb->data, entry->skb->len, in rt2x00usb_kick_rx_entry()
403 rt2x00usb_interrupt_rxdone, entry); in rt2x00usb_kick_rx_entry()
409 set_bit(ENTRY_DATA_IO_FAILED, &entry->flags); in rt2x00usb_kick_rx_entry()
410 rt2x00lib_dmadone(entry); in rt2x00usb_kick_rx_entry()
444 static bool rt2x00usb_flush_entry(struct queue_entry *entry, void *data) in rt2x00usb_flush_entry() argument
446 struct rt2x00_dev *rt2x00dev = entry->queue->rt2x00dev; in rt2x00usb_flush_entry()
447 struct queue_entry_priv_usb *entry_priv = entry->priv_data; in rt2x00usb_flush_entry()
448 struct queue_entry_priv_usb_bcn *bcn_priv = entry->priv_data; in rt2x00usb_flush_entry()
450 if (!test_bit(ENTRY_OWNER_DEVICE_DATA, &entry->flags)) in rt2x00usb_flush_entry()
458 if ((entry->queue->qid == QID_BEACON) && in rt2x00usb_flush_entry()
527 struct queue_entry *entry; in rt2x00usb_dma_timeout() local
529 entry = rt2x00queue_get_entry(queue, Q_INDEX_DMA_DONE); in rt2x00usb_dma_timeout()
530 return rt2x00queue_dma_timeout(entry); in rt2x00usb_dma_timeout()
559 void rt2x00usb_clear_entry(struct queue_entry *entry) in rt2x00usb_clear_entry() argument
561 entry->flags = 0; in rt2x00usb_clear_entry()
563 if (entry->queue->qid == QID_RX) in rt2x00usb_clear_entry()
564 rt2x00usb_kick_rx_entry(entry, NULL); in rt2x00usb_clear_entry()