Lines Matching refs:rxb
222 struct iwl_rx_mem_buffer *rxb) in iwl_pcie_restock_bd() argument
229 bd[rxq->write].addr = cpu_to_le64(rxb->page_dma); in iwl_pcie_restock_bd()
230 bd[rxq->write].rbid = cpu_to_le16(rxb->vid); in iwl_pcie_restock_bd()
234 bd[rxq->write] = cpu_to_le64(rxb->page_dma | rxb->vid); in iwl_pcie_restock_bd()
238 (u32)rxb->vid, rxq->id, rxq->write); in iwl_pcie_restock_bd()
248 struct iwl_rx_mem_buffer *rxb; in iwl_pcie_rxmq_restock() local
264 rxb = list_first_entry(&rxq->rx_free, struct iwl_rx_mem_buffer, in iwl_pcie_rxmq_restock()
266 list_del(&rxb->list); in iwl_pcie_rxmq_restock()
267 rxb->invalid = false; in iwl_pcie_rxmq_restock()
269 WARN_ON(rxb->page_dma & trans_pcie->supported_dma_mask); in iwl_pcie_rxmq_restock()
271 iwl_pcie_restock_bd(trans, rxq, rxb); in iwl_pcie_rxmq_restock()
294 struct iwl_rx_mem_buffer *rxb; in iwl_pcie_rxsq_restock() local
311 rxb = rxq->queue[rxq->write]; in iwl_pcie_rxsq_restock()
312 BUG_ON(rxb && rxb->page); in iwl_pcie_rxsq_restock()
315 rxb = list_first_entry(&rxq->rx_free, struct iwl_rx_mem_buffer, in iwl_pcie_rxsq_restock()
317 list_del(&rxb->list); in iwl_pcie_rxsq_restock()
318 rxb->invalid = false; in iwl_pcie_rxsq_restock()
321 bd[rxq->write] = iwl_pcie_dma_addr2rbd_ptr(rxb->page_dma); in iwl_pcie_rxsq_restock()
322 rxq->queue[rxq->write] = rxb; in iwl_pcie_rxsq_restock()
433 struct iwl_rx_mem_buffer *rxb; in iwl_pcie_rxq_alloc_rbs() local
457 rxb = list_first_entry(&rxq->rx_used, struct iwl_rx_mem_buffer, in iwl_pcie_rxq_alloc_rbs()
459 list_del(&rxb->list); in iwl_pcie_rxq_alloc_rbs()
462 BUG_ON(rxb->page); in iwl_pcie_rxq_alloc_rbs()
463 rxb->page = page; in iwl_pcie_rxq_alloc_rbs()
464 rxb->offset = offset; in iwl_pcie_rxq_alloc_rbs()
466 rxb->page_dma = in iwl_pcie_rxq_alloc_rbs()
467 dma_map_page(trans->dev, page, rxb->offset, in iwl_pcie_rxq_alloc_rbs()
470 if (dma_mapping_error(trans->dev, rxb->page_dma)) { in iwl_pcie_rxq_alloc_rbs()
471 rxb->page = NULL; in iwl_pcie_rxq_alloc_rbs()
473 list_add(&rxb->list, &rxq->rx_used); in iwl_pcie_rxq_alloc_rbs()
481 list_add_tail(&rxb->list, &rxq->rx_free); in iwl_pcie_rxq_alloc_rbs()
538 struct iwl_rx_mem_buffer *rxb; in iwl_pcie_rx_allocator() local
548 rxb = list_first_entry(&local_empty, in iwl_pcie_rx_allocator()
550 BUG_ON(rxb->page); in iwl_pcie_rx_allocator()
553 page = iwl_pcie_rx_alloc_page(trans, &rxb->offset, in iwl_pcie_rx_allocator()
557 rxb->page = page; in iwl_pcie_rx_allocator()
560 rxb->page_dma = dma_map_page(trans->dev, page, in iwl_pcie_rx_allocator()
561 rxb->offset, in iwl_pcie_rx_allocator()
564 if (dma_mapping_error(trans->dev, rxb->page_dma)) { in iwl_pcie_rx_allocator()
565 rxb->page = NULL; in iwl_pcie_rx_allocator()
571 list_move(&rxb->list, &local_allocated); in iwl_pcie_rx_allocator()
636 struct iwl_rx_mem_buffer *rxb = in iwl_pcie_rx_allocator_get() local
640 list_move(&rxb->list, &rxq->rx_free); in iwl_pcie_rx_allocator_get()
1149 struct iwl_rx_mem_buffer *rxb = &trans_pcie->rx_pool[i]; in _iwl_pcie_rx_init() local
1152 list_add(&rxb->list, &rba->rbd_empty); in _iwl_pcie_rx_init()
1154 list_add(&rxb->list, &def_rxq->rx_used); in _iwl_pcie_rx_init()
1155 trans_pcie->global_table[i] = rxb; in _iwl_pcie_rx_init()
1156 rxb->vid = (u16)(i + 1); in _iwl_pcie_rx_init()
1157 rxb->invalid = true; in _iwl_pcie_rx_init()
1261 struct iwl_rx_mem_buffer *rxb, in iwl_pcie_rx_reuse_rbd() argument
1269 list_add_tail(&rxb->list, &rxq->rx_used); in iwl_pcie_rx_reuse_rbd()
1294 struct iwl_rx_mem_buffer *rxb, in iwl_pcie_rx_handle_rb() argument
1304 if (WARN_ON(!rxb)) in iwl_pcie_rx_handle_rb()
1307 dma_unmap_page(trans->dev, rxb->page_dma, max_len, DMA_FROM_DEVICE); in iwl_pcie_rx_handle_rb()
1314 ._offset = rxb->offset + offset, in iwl_pcie_rx_handle_rb()
1316 ._page = rxb->page, in iwl_pcie_rx_handle_rb()
1413 __free_pages(rxb->page, trans_pcie->rx_page_order); in iwl_pcie_rx_handle_rb()
1414 rxb->page = NULL; in iwl_pcie_rx_handle_rb()
1420 if (rxb->page != NULL) { in iwl_pcie_rx_handle_rb()
1421 rxb->page_dma = in iwl_pcie_rx_handle_rb()
1422 dma_map_page(trans->dev, rxb->page, rxb->offset, in iwl_pcie_rx_handle_rb()
1425 if (dma_mapping_error(trans->dev, rxb->page_dma)) { in iwl_pcie_rx_handle_rb()
1431 __free_pages(rxb->page, trans_pcie->rx_page_order); in iwl_pcie_rx_handle_rb()
1432 rxb->page = NULL; in iwl_pcie_rx_handle_rb()
1433 iwl_pcie_rx_reuse_rbd(trans, rxb, rxq, emergency); in iwl_pcie_rx_handle_rb()
1435 list_add_tail(&rxb->list, &rxq->rx_free); in iwl_pcie_rx_handle_rb()
1439 iwl_pcie_rx_reuse_rbd(trans, rxb, rxq, emergency); in iwl_pcie_rx_handle_rb()
1447 struct iwl_rx_mem_buffer *rxb; in iwl_pcie_get_rxb() local
1454 rxb = rxq->queue[i]; in iwl_pcie_get_rxb()
1456 return rxb; in iwl_pcie_get_rxb()
1478 rxb = trans_pcie->global_table[vid - 1]; in iwl_pcie_get_rxb()
1479 if (rxb->invalid) in iwl_pcie_get_rxb()
1482 IWL_DEBUG_RX(trans, "Got virtual RB ID %u\n", (u32)rxb->vid); in iwl_pcie_get_rxb()
1484 rxb->invalid = true; in iwl_pcie_get_rxb()
1486 return rxb; in iwl_pcie_get_rxb()
1525 struct iwl_rx_mem_buffer *rxb; in iwl_pcie_rx_handle() local
1543 rxb = iwl_pcie_get_rxb(trans, rxq, i, &join); in iwl_pcie_rx_handle()
1544 if (!rxb) in iwl_pcie_rx_handle()
1561 list_add_tail(&rxb->list, &rxq->rx_free); in iwl_pcie_rx_handle()
1564 iwl_pcie_rx_handle_rb(trans, rxq, rxb, emergency, i); in iwl_pcie_rx_handle()