Lines Matching refs:rxq

933 	struct il_rx_queue *rxq = &il->rxq;  in il3945_rx_queue_restock()  local
938 spin_lock_irqsave(&rxq->lock, flags); in il3945_rx_queue_restock()
939 while (il_rx_queue_space(rxq) > 0 && rxq->free_count) { in il3945_rx_queue_restock()
941 element = rxq->rx_free.next; in il3945_rx_queue_restock()
946 rxq->bd[rxq->write] = in il3945_rx_queue_restock()
948 rxq->queue[rxq->write] = rxb; in il3945_rx_queue_restock()
949 rxq->write = (rxq->write + 1) & RX_QUEUE_MASK; in il3945_rx_queue_restock()
950 rxq->free_count--; in il3945_rx_queue_restock()
952 spin_unlock_irqrestore(&rxq->lock, flags); in il3945_rx_queue_restock()
955 if (rxq->free_count <= RX_LOW_WATERMARK) in il3945_rx_queue_restock()
960 if (rxq->write_actual != (rxq->write & ~0x7) || in il3945_rx_queue_restock()
961 abs(rxq->write - rxq->read) > 7) { in il3945_rx_queue_restock()
962 spin_lock_irqsave(&rxq->lock, flags); in il3945_rx_queue_restock()
963 rxq->need_update = 1; in il3945_rx_queue_restock()
964 spin_unlock_irqrestore(&rxq->lock, flags); in il3945_rx_queue_restock()
965 il_rx_queue_update_write_ptr(il, rxq); in il3945_rx_queue_restock()
980 struct il_rx_queue *rxq = &il->rxq; in il3945_rx_allocate() local
989 spin_lock_irqsave(&rxq->lock, flags); in il3945_rx_allocate()
990 if (list_empty(&rxq->rx_used)) { in il3945_rx_allocate()
991 spin_unlock_irqrestore(&rxq->lock, flags); in il3945_rx_allocate()
994 spin_unlock_irqrestore(&rxq->lock, flags); in il3945_rx_allocate()
996 if (rxq->free_count > RX_LOW_WATERMARK) in il3945_rx_allocate()
1007 if (rxq->free_count <= RX_LOW_WATERMARK && in il3945_rx_allocate()
1011 priority, rxq->free_count); in il3945_rx_allocate()
1029 spin_lock_irqsave(&rxq->lock, flags); in il3945_rx_allocate()
1031 if (list_empty(&rxq->rx_used)) { in il3945_rx_allocate()
1032 spin_unlock_irqrestore(&rxq->lock, flags); in il3945_rx_allocate()
1040 element = rxq->rx_used.next; in il3945_rx_allocate()
1046 list_add_tail(&rxb->list, &rxq->rx_free); in il3945_rx_allocate()
1047 rxq->free_count++; in il3945_rx_allocate()
1050 spin_unlock_irqrestore(&rxq->lock, flags); in il3945_rx_allocate()
1055 il3945_rx_queue_reset(struct il_priv *il, struct il_rx_queue *rxq) in il3945_rx_queue_reset() argument
1059 spin_lock_irqsave(&rxq->lock, flags); in il3945_rx_queue_reset()
1060 INIT_LIST_HEAD(&rxq->rx_free); in il3945_rx_queue_reset()
1061 INIT_LIST_HEAD(&rxq->rx_used); in il3945_rx_queue_reset()
1066 if (rxq->pool[i].page != NULL) { in il3945_rx_queue_reset()
1067 pci_unmap_page(il->pci_dev, rxq->pool[i].page_dma, in il3945_rx_queue_reset()
1070 __il_free_pages(il, rxq->pool[i].page); in il3945_rx_queue_reset()
1071 rxq->pool[i].page = NULL; in il3945_rx_queue_reset()
1073 list_add_tail(&rxq->pool[i].list, &rxq->rx_used); in il3945_rx_queue_reset()
1078 rxq->read = rxq->write = 0; in il3945_rx_queue_reset()
1079 rxq->write_actual = 0; in il3945_rx_queue_reset()
1080 rxq->free_count = 0; in il3945_rx_queue_reset()
1081 spin_unlock_irqrestore(&rxq->lock, flags); in il3945_rx_queue_reset()
1111 il3945_rx_queue_free(struct il_priv *il, struct il_rx_queue *rxq) in il3945_rx_queue_free() argument
1115 if (rxq->pool[i].page != NULL) { in il3945_rx_queue_free()
1116 pci_unmap_page(il->pci_dev, rxq->pool[i].page_dma, in il3945_rx_queue_free()
1119 __il_free_pages(il, rxq->pool[i].page); in il3945_rx_queue_free()
1120 rxq->pool[i].page = NULL; in il3945_rx_queue_free()
1124 dma_free_coherent(&il->pci_dev->dev, 4 * RX_QUEUE_SIZE, rxq->bd, in il3945_rx_queue_free()
1125 rxq->bd_dma); in il3945_rx_queue_free()
1127 rxq->rb_stts, rxq->rb_stts_dma); in il3945_rx_queue_free()
1128 rxq->bd = NULL; in il3945_rx_queue_free()
1129 rxq->rb_stts = NULL; in il3945_rx_queue_free()
1182 struct il_rx_queue *rxq = &il->rxq; in il3945_rx_handle() local
1192 r = le16_to_cpu(rxq->rb_stts->closed_rb_num) & 0x0FFF; in il3945_rx_handle()
1193 i = rxq->read; in il3945_rx_handle()
1196 total_empty = r - rxq->write_actual; in il3945_rx_handle()
1209 rxb = rxq->queue[i]; in il3945_rx_handle()
1216 rxq->queue[i] = NULL; in il3945_rx_handle()
1262 spin_lock_irqsave(&rxq->lock, flags); in il3945_rx_handle()
1272 list_add_tail(&rxb->list, &rxq->rx_used); in il3945_rx_handle()
1274 list_add_tail(&rxb->list, &rxq->rx_free); in il3945_rx_handle()
1275 rxq->free_count++; in il3945_rx_handle()
1278 list_add_tail(&rxb->list, &rxq->rx_used); in il3945_rx_handle()
1280 spin_unlock_irqrestore(&rxq->lock, flags); in il3945_rx_handle()
1288 rxq->read = i; in il3945_rx_handle()
1296 rxq->read = i; in il3945_rx_handle()
1466 il_rx_queue_update_write_ptr(il, &il->rxq); in il3945_irq_tasklet()
3819 if (il->rxq.bd) in il3945_pci_remove()
3820 il3945_rx_queue_free(il, &il->rxq); in il3945_pci_remove()