Lines Matching refs:rxq

956 	struct il_rx_queue *rxq = &il->rxq;  in il3945_rx_queue_restock()  local
962 spin_lock_irqsave(&rxq->lock, flags); in il3945_rx_queue_restock()
963 write = rxq->write & ~0x7; in il3945_rx_queue_restock()
964 while (il_rx_queue_space(rxq) > 0 && rxq->free_count) { in il3945_rx_queue_restock()
966 element = rxq->rx_free.next; in il3945_rx_queue_restock()
971 rxq->bd[rxq->write] = in il3945_rx_queue_restock()
973 rxq->queue[rxq->write] = rxb; in il3945_rx_queue_restock()
974 rxq->write = (rxq->write + 1) & RX_QUEUE_MASK; in il3945_rx_queue_restock()
975 rxq->free_count--; in il3945_rx_queue_restock()
977 spin_unlock_irqrestore(&rxq->lock, flags); in il3945_rx_queue_restock()
980 if (rxq->free_count <= RX_LOW_WATERMARK) in il3945_rx_queue_restock()
985 if (rxq->write_actual != (rxq->write & ~0x7) || in il3945_rx_queue_restock()
986 abs(rxq->write - rxq->read) > 7) { in il3945_rx_queue_restock()
987 spin_lock_irqsave(&rxq->lock, flags); in il3945_rx_queue_restock()
988 rxq->need_update = 1; in il3945_rx_queue_restock()
989 spin_unlock_irqrestore(&rxq->lock, flags); in il3945_rx_queue_restock()
990 il_rx_queue_update_write_ptr(il, rxq); in il3945_rx_queue_restock()
1005 struct il_rx_queue *rxq = &il->rxq; in il3945_rx_allocate() local
1014 spin_lock_irqsave(&rxq->lock, flags); in il3945_rx_allocate()
1015 if (list_empty(&rxq->rx_used)) { in il3945_rx_allocate()
1016 spin_unlock_irqrestore(&rxq->lock, flags); in il3945_rx_allocate()
1019 spin_unlock_irqrestore(&rxq->lock, flags); in il3945_rx_allocate()
1021 if (rxq->free_count > RX_LOW_WATERMARK) in il3945_rx_allocate()
1032 if (rxq->free_count <= RX_LOW_WATERMARK && in il3945_rx_allocate()
1036 priority, rxq->free_count); in il3945_rx_allocate()
1054 spin_lock_irqsave(&rxq->lock, flags); in il3945_rx_allocate()
1056 if (list_empty(&rxq->rx_used)) { in il3945_rx_allocate()
1057 spin_unlock_irqrestore(&rxq->lock, flags); in il3945_rx_allocate()
1065 element = rxq->rx_used.next; in il3945_rx_allocate()
1071 list_add_tail(&rxb->list, &rxq->rx_free); in il3945_rx_allocate()
1072 rxq->free_count++; in il3945_rx_allocate()
1075 spin_unlock_irqrestore(&rxq->lock, flags); in il3945_rx_allocate()
1080 il3945_rx_queue_reset(struct il_priv *il, struct il_rx_queue *rxq) in il3945_rx_queue_reset() argument
1084 spin_lock_irqsave(&rxq->lock, flags); in il3945_rx_queue_reset()
1085 INIT_LIST_HEAD(&rxq->rx_free); in il3945_rx_queue_reset()
1086 INIT_LIST_HEAD(&rxq->rx_used); in il3945_rx_queue_reset()
1091 if (rxq->pool[i].page != NULL) { in il3945_rx_queue_reset()
1092 pci_unmap_page(il->pci_dev, rxq->pool[i].page_dma, in il3945_rx_queue_reset()
1095 __il_free_pages(il, rxq->pool[i].page); in il3945_rx_queue_reset()
1096 rxq->pool[i].page = NULL; in il3945_rx_queue_reset()
1098 list_add_tail(&rxq->pool[i].list, &rxq->rx_used); in il3945_rx_queue_reset()
1103 rxq->read = rxq->write = 0; in il3945_rx_queue_reset()
1104 rxq->write_actual = 0; in il3945_rx_queue_reset()
1105 rxq->free_count = 0; in il3945_rx_queue_reset()
1106 spin_unlock_irqrestore(&rxq->lock, flags); in il3945_rx_queue_reset()
1136 il3945_rx_queue_free(struct il_priv *il, struct il_rx_queue *rxq) in il3945_rx_queue_free() argument
1140 if (rxq->pool[i].page != NULL) { in il3945_rx_queue_free()
1141 pci_unmap_page(il->pci_dev, rxq->pool[i].page_dma, in il3945_rx_queue_free()
1144 __il_free_pages(il, rxq->pool[i].page); in il3945_rx_queue_free()
1145 rxq->pool[i].page = NULL; in il3945_rx_queue_free()
1149 dma_free_coherent(&il->pci_dev->dev, 4 * RX_QUEUE_SIZE, rxq->bd, in il3945_rx_queue_free()
1150 rxq->bd_dma); in il3945_rx_queue_free()
1152 rxq->rb_stts, rxq->rb_stts_dma); in il3945_rx_queue_free()
1153 rxq->bd = NULL; in il3945_rx_queue_free()
1154 rxq->rb_stts = NULL; in il3945_rx_queue_free()
1207 struct il_rx_queue *rxq = &il->rxq; in il3945_rx_handle() local
1217 r = le16_to_cpu(rxq->rb_stts->closed_rb_num) & 0x0FFF; in il3945_rx_handle()
1218 i = rxq->read; in il3945_rx_handle()
1221 total_empty = r - rxq->write_actual; in il3945_rx_handle()
1234 rxb = rxq->queue[i]; in il3945_rx_handle()
1241 rxq->queue[i] = NULL; in il3945_rx_handle()
1287 spin_lock_irqsave(&rxq->lock, flags); in il3945_rx_handle()
1297 list_add_tail(&rxb->list, &rxq->rx_used); in il3945_rx_handle()
1299 list_add_tail(&rxb->list, &rxq->rx_free); in il3945_rx_handle()
1300 rxq->free_count++; in il3945_rx_handle()
1303 list_add_tail(&rxb->list, &rxq->rx_used); in il3945_rx_handle()
1305 spin_unlock_irqrestore(&rxq->lock, flags); in il3945_rx_handle()
1313 rxq->read = i; in il3945_rx_handle()
1321 rxq->read = i; in il3945_rx_handle()
1490 il_rx_queue_update_write_ptr(il, &il->rxq); in il3945_irq_tasklet()
3861 if (il->rxq.bd) in il3945_pci_remove()
3862 il3945_rx_queue_free(il, &il->rxq); in il3945_pci_remove()