Lines Matching refs:tpbuf
596 struct emac_buffer *tpbuf = GET_TPD_BUFFER(tx_q, i);
598 if (tpbuf->dma_addr) {
600 tpbuf->dma_addr, tpbuf->length,
602 tpbuf->dma_addr = 0;
604 if (tpbuf->skb) {
605 dev_kfree_skb_any(tpbuf->skb);
606 tpbuf->skb = NULL;
1183 struct emac_buffer *tpbuf;
1188 tpbuf = GET_TPD_BUFFER(tx_q, tx_q->tpd.consume_idx);
1189 if (tpbuf->dma_addr) {
1191 tpbuf->dma_addr, tpbuf->length,
1193 tpbuf->dma_addr = 0;
1196 if (tpbuf->skb) {
1198 bytes_compl += tpbuf->skb->len;
1199 dev_consume_skb_irq(tpbuf->skb);
1200 tpbuf->skb = NULL;
1334 struct emac_buffer *tpbuf = NULL;
1344 tpbuf = GET_TPD_BUFFER(tx_q, tx_q->tpd.produce_idx);
1345 tpbuf->length = mapped_len;
1346 tpbuf->dma_addr = dma_map_page(adpt->netdev->dev.parent,
1349 tpbuf->length,
1352 tpbuf->dma_addr);
1356 TPD_BUFFER_ADDR_L_SET(tpd, lower_32_bits(tpbuf->dma_addr));
1357 TPD_BUFFER_ADDR_H_SET(tpd, upper_32_bits(tpbuf->dma_addr));
1358 TPD_BUF_LEN_SET(tpd, tpbuf->length);
1364 tpbuf = GET_TPD_BUFFER(tx_q, tx_q->tpd.produce_idx);
1365 tpbuf->length = len - mapped_len;
1366 tpbuf->dma_addr = dma_map_page(adpt->netdev->dev.parent,
1371 tpbuf->length, DMA_TO_DEVICE);
1373 tpbuf->dma_addr);
1377 TPD_BUFFER_ADDR_L_SET(tpd, lower_32_bits(tpbuf->dma_addr));
1378 TPD_BUFFER_ADDR_H_SET(tpd, upper_32_bits(tpbuf->dma_addr));
1379 TPD_BUF_LEN_SET(tpd, tpbuf->length);
1387 tpbuf = GET_TPD_BUFFER(tx_q, tx_q->tpd.produce_idx);
1388 tpbuf->length = skb_frag_size(frag);
1389 tpbuf->dma_addr = skb_frag_dma_map(adpt->netdev->dev.parent,
1390 frag, 0, tpbuf->length,
1393 tpbuf->dma_addr);
1397 TPD_BUFFER_ADDR_L_SET(tpd, lower_32_bits(tpbuf->dma_addr));
1398 TPD_BUFFER_ADDR_H_SET(tpd, upper_32_bits(tpbuf->dma_addr));
1399 TPD_BUF_LEN_SET(tpd, tpbuf->length);
1411 tpbuf->skb = skb;
1420 tpbuf = GET_TPD_BUFFER(tx_q, first);
1421 dma_unmap_page(adpt->netdev->dev.parent, tpbuf->dma_addr,
1422 tpbuf->length, DMA_TO_DEVICE);
1423 tpbuf->dma_addr = 0;
1424 tpbuf->length = 0;