X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fark%2Fark_ethdev_rx.c;h=d29d3db7835b0c6da29e54469eadb02356c15e5b;hb=c6ca05823c98346422b110730760ca3c070ff0b7;hp=6156730bb2bae9cc46045295fbea02e4db227aef;hpb=7311db731863841f71be27edfad7aab9081ff4e5;p=dpdk.git diff --git a/drivers/net/ark/ark_ethdev_rx.c b/drivers/net/ark/ark_ethdev_rx.c index 6156730bb2..d29d3db783 100644 --- a/drivers/net/ark/ark_ethdev_rx.c +++ b/drivers/net/ark/ark_ethdev_rx.c @@ -4,6 +4,7 @@ #include +#include "rte_pmd_ark.h" #include "ark_ethdev_rx.h" #include "ark_global.h" #include "ark_logs.h" @@ -57,7 +58,7 @@ struct ark_rx_queue { /* separate cache line */ /* second cache line - fields only used in slow path */ - MARKER cacheline1 __rte_cache_min_aligned; + RTE_MARKER cacheline1 __rte_cache_min_aligned; volatile uint32_t prod_index; /* step 2 filled by FPGA */ } __rte_cache_aligned; @@ -81,7 +82,7 @@ eth_ark_rx_hw_setup(struct rte_eth_dev *dev, /* Verify HW */ if (ark_mpu_verify(queue->mpu, sizeof(rte_iova_t))) { - PMD_DRV_LOG(ERR, "Illegal configuration rx queue\n"); + ARK_PMD_LOG(ERR, "Illegal configuration rx queue\n"); return -1; } @@ -137,19 +138,19 @@ eth_ark_dev_rx_queue_setup(struct rte_eth_dev *dev, if (rx_conf != NULL && warning1 == 0) { warning1 = 1; - PMD_DRV_LOG(INFO, + ARK_PMD_LOG(NOTICE, "Arkville ignores rte_eth_rxconf argument.\n"); } if (RTE_PKTMBUF_HEADROOM < ARK_RX_META_SIZE) { - PMD_DRV_LOG(ERR, + ARK_PMD_LOG(ERR, "Error: DPDK Arkville requires head room > %d bytes (%s)\n", ARK_RX_META_SIZE, __func__); return -1; /* ERROR CODE */ } if (!rte_is_power_of_2(nb_desc)) { - PMD_DRV_LOG(ERR, + ARK_PMD_LOG(ERR, "DPDK Arkville configuration queue size must be power of two %u (%s)\n", nb_desc, __func__); return -1; /* ERROR CODE */ @@ -161,7 +162,7 @@ eth_ark_dev_rx_queue_setup(struct rte_eth_dev *dev, 64, socket_id); if (queue == 0) { - PMD_DRV_LOG(ERR, "Failed to allocate memory in %s\n", __func__); + ARK_PMD_LOG(ERR, "Failed to allocate memory in %s\n", __func__); return -ENOMEM; } @@ -184,7 +185,7 @@ eth_ark_dev_rx_queue_setup(struct rte_eth_dev *dev, socket_id); if (queue->reserve_q == 0 || queue->paddress_q == 0) { - PMD_DRV_LOG(ERR, + ARK_PMD_LOG(ERR, "Failed to allocate queue memory in %s\n", __func__); rte_free(queue->reserve_q); @@ -201,7 +202,7 @@ eth_ark_dev_rx_queue_setup(struct rte_eth_dev *dev, status = eth_ark_rx_seed_mbufs(queue); if (queue->seed_index != nb_desc) { - PMD_DRV_LOG(ERR, "ARK: Failed to allocate %u mbufs for RX queue %d\n", + ARK_PMD_LOG(ERR, "Failed to allocate %u mbufs for RX queue %d\n", nb_desc, qidx); status = -1; } @@ -212,7 +213,7 @@ eth_ark_dev_rx_queue_setup(struct rte_eth_dev *dev, if (unlikely(status != 0)) { struct rte_mbuf **mbuf; - PMD_DRV_LOG(ERR, "Failed to initialize RX queue %d %s\n", + ARK_PMD_LOG(ERR, "Failed to initialize RX queue %d %s\n", qidx, __func__); /* Free the mbufs allocated */ @@ -271,13 +272,18 @@ eth_ark_recv_pkts(void *rx_queue, mbuf->port = meta->port; mbuf->pkt_len = meta->pkt_len; mbuf->data_len = meta->pkt_len; - mbuf->timestamp = meta->timestamp; - mbuf->udata64 = meta->user_data; + /* set timestamp if enabled at least on one device */ + if (ark_timestamp_rx_dynflag > 0) { + *RTE_MBUF_DYNFIELD(mbuf, ark_timestamp_dynfield_offset, + rte_mbuf_timestamp_t *) = meta->timestamp; + mbuf->ol_flags |= ark_timestamp_rx_dynflag; + } + rte_pmd_ark_mbuf_rx_userdata_set(mbuf, meta->user_data); - if (ARK_RX_DEBUG) { /* debug sanity checks */ + if (ARK_DEBUG_CORE) { /* debug sanity checks */ if ((meta->pkt_len > (1024 * 16)) || (meta->pkt_len == 0)) { - PMD_RX_LOG(DEBUG, "RX: Bad Meta Q: %u" + ARK_PMD_LOG(DEBUG, "RX: Bad Meta Q: %u" " cons: %" PRIU32 " prod: %" PRIU32 " seed_index %" PRIU32 @@ -288,7 +294,7 @@ eth_ark_recv_pkts(void *rx_queue, queue->seed_index); - PMD_RX_LOG(DEBUG, " : UDM" + ARK_PMD_LOG(DEBUG, " : UDM" " prod: %" PRIU32 " len: %u\n", queue->udm->rt_cfg.prod_idx, @@ -301,8 +307,6 @@ eth_ark_recv_pkts(void *rx_queue, mbuf->pkt_len = 63; meta->pkt_len = 63; } - /* seqn is only set under debug */ - mbuf->seqn = cons_index; } if (unlikely(meta->pkt_len > ARK_RX_MAX_NOCHAIN)) @@ -359,8 +363,6 @@ eth_ark_rx_jumbo(struct ark_rx_queue *queue, mbuf_prev = mbuf; mbuf->data_len = data_len; mbuf->data_off = 0; - if (ARK_RX_DEBUG) - mbuf->seqn = cons_index; /* for debug only */ cons_index += 1; } @@ -463,7 +465,7 @@ eth_ark_rx_seed_mbufs(struct ark_rx_queue *queue) } } - if (ARK_RX_DEBUG) { /* DEBUG */ + if (ARK_DEBUG_CORE) { /* DEBUG */ while (count != nb) { struct rte_mbuf *mbuf_init = queue->reserve_q[seed_m + count]; @@ -523,7 +525,7 @@ eth_ark_rx_seed_recovery(struct ark_rx_queue *queue, *pnb = 64U; status = rte_pktmbuf_alloc_bulk(queue->mb_pool, mbufs, *pnb); if (status != 0) { - PMD_DRV_LOG(ERR, + ARK_PMD_LOG(NOTICE, "ARK: Could not allocate %u mbufs from pool for RX queue %u;" " %u free buffers remaining in queue\n", *pnb, queue->queue_index, @@ -616,7 +618,7 @@ eth_ark_udm_force_close(struct rte_eth_dev *dev) if (!ark_udm_is_flushed(ark->udm.v)) { /* restart the MPUs */ - PMD_DRV_LOG(ERR, "ARK: %s UDM not flushed\n", __func__); + ARK_PMD_LOG(NOTICE, "UDM not flushed -- forcing flush\n"); for (i = 0; i < dev->data->nb_rx_queues; i++) { queue = (struct ark_rx_queue *)dev->data->rx_queues[i]; if (queue == 0) @@ -630,7 +632,7 @@ eth_ark_udm_force_close(struct rte_eth_dev *dev) /* Wait to allow data to pass */ usleep(100); - PMD_DEBUG_LOG(DEBUG, "UDM forced flush attempt, stopped = %d\n", + ARK_PMD_LOG(DEBUG, "UDM forced flush attempt, stopped = %d\n", ark_udm_is_flushed(ark->udm.v)); } ark_udm_reset(ark->udm.v); @@ -641,8 +643,8 @@ ark_ethdev_rx_dump(const char *name, struct ark_rx_queue *queue) { if (queue == NULL) return; - PMD_DEBUG_LOG(DEBUG, "RX QUEUE %d -- %s", queue->phys_qid, name); - PMD_DEBUG_LOG(DEBUG, ARK_SU32 ARK_SU32 ARK_SU32 ARK_SU32 "\n", + ARK_PMD_LOG(DEBUG, "RX QUEUE %d -- %s", queue->phys_qid, name); + ARK_PMD_LOG(DEBUG, ARK_SU32 ARK_SU32 ARK_SU32 ARK_SU32 "\n", "queue_size", queue->queue_size, "seed_index", queue->seed_index, "prod_index", queue->prod_index, @@ -666,15 +668,15 @@ dump_mbuf_data(struct rte_mbuf *mbuf, uint16_t lo, uint16_t hi) { uint16_t i, j; - PMD_DRV_LOG(INFO, " MBUF: %p len %d, off: %d, seq: %" PRIU32 "\n", mbuf, - mbuf->pkt_len, mbuf->data_off, mbuf->seqn); + ARK_PMD_LOG(DEBUG, " MBUF: %p len %d, off: %d\n", + mbuf, mbuf->pkt_len, mbuf->data_off); for (i = lo; i < hi; i += 16) { uint8_t *dp = RTE_PTR_ADD(mbuf->buf_addr, i); - PMD_DRV_LOG(INFO, " %6d: ", i); + ARK_PMD_LOG(DEBUG, " %6d: ", i); for (j = 0; j < 16; j++) - PMD_DRV_LOG(INFO, " %02x", dp[j]); + ARK_PMD_LOG(DEBUG, " %02x", dp[j]); - PMD_DRV_LOG(INFO, "\n"); + ARK_PMD_LOG(DEBUG, "\n"); } }