Lines Matching refs:slot
122 struct bgmac_slot_info *slot; in bgmac_dma_tx_add_buf() local
131 slot = &ring->slots[i]; in bgmac_dma_tx_add_buf()
133 dma_desc->addr_low = cpu_to_le32(lower_32_bits(slot->dma_addr)); in bgmac_dma_tx_add_buf()
134 dma_desc->addr_high = cpu_to_le32(upper_32_bits(slot->dma_addr)); in bgmac_dma_tx_add_buf()
146 struct bgmac_slot_info *slot = &ring->slots[index]; in bgmac_dma_tx_add() local
170 slot->dma_addr = dma_map_single(dma_dev, skb->data, skb_headlen(skb), in bgmac_dma_tx_add()
172 if (unlikely(dma_mapping_error(dma_dev, slot->dma_addr))) in bgmac_dma_tx_add()
187 slot = &ring->slots[index]; in bgmac_dma_tx_add()
188 slot->dma_addr = skb_frag_dma_map(dma_dev, frag, 0, in bgmac_dma_tx_add()
190 if (unlikely(dma_mapping_error(dma_dev, slot->dma_addr))) in bgmac_dma_tx_add()
199 slot->skb = skb; in bgmac_dma_tx_add()
219 dma_unmap_single(dma_dev, slot->dma_addr, skb_headlen(skb), in bgmac_dma_tx_add()
224 struct bgmac_slot_info *slot = &ring->slots[index]; in bgmac_dma_tx_add() local
228 dma_unmap_page(dma_dev, slot->dma_addr, len, DMA_TO_DEVICE); in bgmac_dma_tx_add()
257 struct bgmac_slot_info *slot = &ring->slots[slot_idx]; in bgmac_dma_tx_free() local
268 dma_unmap_single(dma_dev, slot->dma_addr, len, in bgmac_dma_tx_free()
271 dma_unmap_page(dma_dev, slot->dma_addr, len, in bgmac_dma_tx_free()
274 if (slot->skb) { in bgmac_dma_tx_free()
275 bytes_compl += slot->skb->len; in bgmac_dma_tx_free()
279 dev_kfree_skb(slot->skb); in bgmac_dma_tx_free()
280 slot->skb = NULL; in bgmac_dma_tx_free()
283 slot->dma_addr = 0; in bgmac_dma_tx_free()
336 struct bgmac_slot_info *slot) in bgmac_dma_rx_skb_for_slot() argument
363 slot->buf = buf; in bgmac_dma_rx_skb_for_slot()
364 slot->dma_addr = dma_addr; in bgmac_dma_rx_skb_for_slot()
402 struct bgmac_slot_info *slot) in bgmac_dma_rx_poison_buf() argument
404 struct bgmac_rx_header *rx = slot->buf + BGMAC_RX_BUF_OFFSET; in bgmac_dma_rx_poison_buf()
406 dma_sync_single_for_cpu(dma_dev, slot->dma_addr, BGMAC_RX_BUF_SIZE, in bgmac_dma_rx_poison_buf()
410 dma_sync_single_for_device(dma_dev, slot->dma_addr, BGMAC_RX_BUF_SIZE, in bgmac_dma_rx_poison_buf()
428 struct bgmac_slot_info *slot = &ring->slots[ring->start]; in bgmac_dma_rx_read() local
429 struct bgmac_rx_header *rx = slot->buf + BGMAC_RX_BUF_OFFSET; in bgmac_dma_rx_read()
431 void *buf = slot->buf; in bgmac_dma_rx_read()
432 dma_addr_t dma_addr = slot->dma_addr; in bgmac_dma_rx_read()
437 if (bgmac_dma_rx_skb_for_slot(bgmac, slot)) { in bgmac_dma_rx_read()
438 bgmac_dma_rx_poison_buf(dma_dev, slot); in bgmac_dma_rx_read()
521 struct bgmac_slot_info *slot; in bgmac_dma_tx_ring_free() local
527 slot = &ring->slots[i]; in bgmac_dma_tx_ring_free()
528 dev_kfree_skb(slot->skb); in bgmac_dma_tx_ring_free()
530 if (!slot->dma_addr) in bgmac_dma_tx_ring_free()
533 if (slot->skb) in bgmac_dma_tx_ring_free()
534 dma_unmap_single(dma_dev, slot->dma_addr, in bgmac_dma_tx_ring_free()
537 dma_unmap_page(dma_dev, slot->dma_addr, in bgmac_dma_tx_ring_free()
546 struct bgmac_slot_info *slot; in bgmac_dma_rx_ring_free() local
550 slot = &ring->slots[i]; in bgmac_dma_rx_ring_free()
551 if (!slot->dma_addr) in bgmac_dma_rx_ring_free()
554 dma_unmap_single(dma_dev, slot->dma_addr, in bgmac_dma_rx_ring_free()
557 put_page(virt_to_head_page(slot->buf)); in bgmac_dma_rx_ring_free()
558 slot->dma_addr = 0; in bgmac_dma_rx_ring_free()