MCPcopy Create free account
hub / github.com/F-Stack/f-stack / dpaa_rx_cb

Function dpaa_rx_cb

dpdk/drivers/net/dpaa/dpaa_rxtx.c:560–598  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

558}
559
560void
561dpaa_rx_cb(struct qman_fq **fq, struct qm_dqrr_entry **dqrr,
562 void **bufs, int num_bufs)
563{
564 struct rte_mbuf *mbuf;
565 const struct qm_fd *fd;
566 struct dpaa_if *dpaa_intf;
567 uint16_t offset, i;
568 uint32_t length;
569 uint8_t format;
570
571 for (i = 0; i < num_bufs; i++) {
572 fd = &dqrr[i]->fd;
573 dpaa_intf = fq[0]->dpaa_intf;
574 format = (fd->opaque & DPAA_FD_FORMAT_MASK) >>
575 DPAA_FD_FORMAT_SHIFT;
576 if (unlikely(format == qm_fd_sg)) {
577 bufs[i] = dpaa_eth_sg_to_mbuf(fd, dpaa_intf->ifid);
578 continue;
579 }
580
581 offset = (fd->opaque & DPAA_FD_OFFSET_MASK) >>
582 DPAA_FD_OFFSET_SHIFT;
583 length = fd->opaque & DPAA_FD_LENGTH_MASK;
584
585 mbuf = bufs[i];
586 mbuf->data_off = offset;
587 mbuf->data_len = length;
588 mbuf->pkt_len = length;
589 mbuf->port = dpaa_intf->ifid;
590
591 mbuf->nb_segs = 1;
592 mbuf->ol_flags = 0;
593 mbuf->next = NULL;
594 rte_mbuf_refcnt_set(mbuf, 1);
595 dpaa_eth_packet_info(mbuf, mbuf->buf_addr);
596 dpaa_display_frame_info(fd, fq[0]->fqid, true);
597 }
598}
599
600void dpaa_rx_cb_prepare(struct qm_dqrr_entry *dq, void **bufs)
601{

Callers

nothing calls this directly

Calls 4

dpaa_eth_sg_to_mbufFunction · 0.85
rte_mbuf_refcnt_setFunction · 0.85
dpaa_eth_packet_infoFunction · 0.85
dpaa_display_frame_infoFunction · 0.85

Tested by

no test coverage detected