Lines Matching full: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
310 /* The overwritten rxb must be a used one */ in iwl_pcie_rxsq_restock()
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
547 /* Get the first rxb from the rbd list */ in iwl_pcie_rx_allocator()
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()
1154 struct iwl_rx_mem_buffer *rxb = &trans_pcie->rx_pool[i]; in _iwl_pcie_rx_init() local
1157 list_add(&rxb->list, &rba->rbd_empty); in _iwl_pcie_rx_init()
1159 list_add(&rxb->list, &def_rxq->rx_used); in _iwl_pcie_rx_init()
1160 trans_pcie->global_table[i] = rxb; in _iwl_pcie_rx_init()
1161 rxb->vid = (u16)(i + 1); in _iwl_pcie_rx_init()
1162 rxb->invalid = true; in _iwl_pcie_rx_init()
1266 struct iwl_rx_mem_buffer *rxb, in iwl_pcie_rx_reuse_rbd() argument
1274 list_add_tail(&rxb->list, &rxq->rx_used); in iwl_pcie_rx_reuse_rbd()
1299 struct iwl_rx_mem_buffer *rxb, in iwl_pcie_rx_handle_rb() argument
1309 if (WARN_ON(!rxb)) in iwl_pcie_rx_handle_rb()
1312 dma_unmap_page(trans->dev, rxb->page_dma, max_len, DMA_FROM_DEVICE); in iwl_pcie_rx_handle_rb()
1319 ._offset = rxb->offset + offset, in iwl_pcie_rx_handle_rb()
1321 ._page = rxb->page, in iwl_pcie_rx_handle_rb()
1407 IWL_WARN(trans, "Claim null rxb?\n"); in iwl_pcie_rx_handle_rb()
1417 __free_pages(rxb->page, trans_pcie->rx_page_order); in iwl_pcie_rx_handle_rb()
1418 rxb->page = NULL; in iwl_pcie_rx_handle_rb()
1424 if (rxb->page != NULL) { in iwl_pcie_rx_handle_rb()
1425 rxb->page_dma = in iwl_pcie_rx_handle_rb()
1426 dma_map_page(trans->dev, rxb->page, rxb->offset, in iwl_pcie_rx_handle_rb()
1429 if (dma_mapping_error(trans->dev, rxb->page_dma)) { in iwl_pcie_rx_handle_rb()
1435 __free_pages(rxb->page, trans_pcie->rx_page_order); in iwl_pcie_rx_handle_rb()
1436 rxb->page = NULL; in iwl_pcie_rx_handle_rb()
1437 iwl_pcie_rx_reuse_rbd(trans, rxb, rxq, emergency); in iwl_pcie_rx_handle_rb()
1439 list_add_tail(&rxb->list, &rxq->rx_free); in iwl_pcie_rx_handle_rb()
1443 iwl_pcie_rx_reuse_rbd(trans, rxb, rxq, emergency); in iwl_pcie_rx_handle_rb()
1451 struct iwl_rx_mem_buffer *rxb; in iwl_pcie_get_rxb() local
1458 rxb = rxq->queue[i]; in iwl_pcie_get_rxb()
1460 return rxb; in iwl_pcie_get_rxb()
1482 rxb = trans_pcie->global_table[vid - 1]; in iwl_pcie_get_rxb()
1483 if (rxb->invalid) in iwl_pcie_get_rxb()
1486 IWL_DEBUG_RX(trans, "Got virtual RB ID %u\n", (u32)rxb->vid); in iwl_pcie_get_rxb()
1488 rxb->invalid = true; in iwl_pcie_get_rxb()
1490 return rxb; in iwl_pcie_get_rxb()
1493 WARN(1, "Invalid rxb from HW %u\n", (u32)vid); in iwl_pcie_get_rxb()
1529 struct iwl_rx_mem_buffer *rxb; in iwl_pcie_rx_handle() local
1547 rxb = iwl_pcie_get_rxb(trans, rxq, i, &join); in iwl_pcie_rx_handle()
1548 if (!rxb) in iwl_pcie_rx_handle()
1565 list_add_tail(&rxb->list, &rxq->rx_free); in iwl_pcie_rx_handle()
1568 iwl_pcie_rx_handle_rb(trans, rxq, rxb, emergency, i); in iwl_pcie_rx_handle()