-static void *dpaa_get_pktbuf(struct dpaa_bp_info *bp_info)
-{
- int ret;
- size_t buf = 0;
- struct bm_buffer bufs;
-
- ret = bman_acquire(bp_info->bp, &bufs, 1, 0);
- if (ret <= 0) {
- DPAA_PMD_WARN("Failed to allocate buffers %d", ret);
- return (void *)buf;
- }
-
- DPAA_DP_LOG(DEBUG, "got buffer 0x%" PRIx64 " from pool %d",
- (uint64_t)bufs.addr, bufs.bpid);
-
- buf = (size_t)DPAA_MEMPOOL_PTOV(bp_info, bufs.addr)
- - bp_info->meta_data_size;
- if (!buf)
- goto out;
-
-out:
- return (void *)buf;
-}
-
-static struct rte_mbuf *dpaa_get_dmable_mbuf(struct rte_mbuf *mbuf,
- struct dpaa_if *dpaa_intf)
-{
- struct rte_mbuf *dpaa_mbuf;
-
- /* allocate pktbuffer on bpid for dpaa port */
- dpaa_mbuf = dpaa_get_pktbuf(dpaa_intf->bp_info);
- if (!dpaa_mbuf)
- return NULL;
-
- memcpy((uint8_t *)(dpaa_mbuf->buf_addr) + RTE_PKTMBUF_HEADROOM, (void *)
- ((uint8_t *)(mbuf->buf_addr) + mbuf->data_off), mbuf->pkt_len);
-
- /* Copy only the required fields */
- dpaa_mbuf->data_off = RTE_PKTMBUF_HEADROOM;
- dpaa_mbuf->pkt_len = mbuf->pkt_len;
- dpaa_mbuf->ol_flags = mbuf->ol_flags;
- dpaa_mbuf->packet_type = mbuf->packet_type;
- dpaa_mbuf->tx_offload = mbuf->tx_offload;
- rte_pktmbuf_free(mbuf);
- return dpaa_mbuf;
-}
-