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

Function dpaa_eth_err_queue

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

Source from the content-addressed store, hash-verified

694
695#ifdef RTE_LIBRTE_DPAA_DEBUG_DRIVER
696static inline void dpaa_eth_err_queue(struct dpaa_if *dpaa_intf)
697{
698 struct rte_mbuf *mbuf;
699 struct qman_fq *debug_fq;
700 int ret, i;
701 struct qm_dqrr_entry *dq;
702 struct qm_fd *fd;
703
704 if (unlikely(!RTE_PER_LCORE(dpaa_io))) {
705 ret = rte_dpaa_portal_init((void *)0);
706 if (ret) {
707 DPAA_PMD_ERR("Failure in affining portal");
708 return;
709 }
710 }
711 for (i = 0; i <= DPAA_DEBUG_FQ_TX_ERROR; i++) {
712 debug_fq = &dpaa_intf->debug_queues[i];
713 ret = qman_set_vdq(debug_fq, 4, QM_VDQCR_EXACT);
714 if (ret)
715 return;
716
717 do {
718 dq = qman_dequeue(debug_fq);
719 if (!dq)
720 continue;
721 fd = &dq->fd;
722 if (i == DPAA_DEBUG_FQ_RX_ERROR)
723 DPAA_PMD_ERR("RX ERROR status: 0x%08x",
724 fd->status);
725 else
726 DPAA_PMD_ERR("TX ERROR status: 0x%08x",
727 fd->status);
728 dpaa_display_frame_info(fd, debug_fq->fqid,
729 i == DPAA_DEBUG_FQ_RX_ERROR);
730
731 mbuf = dpaa_eth_fd_to_mbuf(fd, dpaa_intf->ifid);
732 rte_pktmbuf_free(mbuf);
733 qman_dqrr_consume(debug_fq, dq);
734 } while (debug_fq->flags & QMAN_FQ_STATE_VDQCR);
735 }
736}
737#endif
738
739uint16_t dpaa_eth_queue_rx(void *q,

Callers 1

dpaa_eth_queue_rxFunction · 0.85

Calls 7

rte_dpaa_portal_initFunction · 0.85
qman_set_vdqFunction · 0.85
qman_dequeueFunction · 0.85
dpaa_display_frame_infoFunction · 0.85
dpaa_eth_fd_to_mbufFunction · 0.85
rte_pktmbuf_freeFunction · 0.85
qman_dqrr_consumeFunction · 0.85

Tested by

no test coverage detected