Test-Label: iol-testing Test-Status: WARNING http://dpdk.org/patch/108243 _apply patch failure_ Submitter: Rakesh Kudurumalla Date: Thursday, February 24 2022 08:02:17 Applied on: CommitID:ee05a93e1e6633d0fdec409faf09f12a2e05b991 Apply patch set 108243-108244 failed: Checking patch drivers/net/cnxk/cn10k_ethdev.c... Hunk #1 succeeded at 419 (offset -9 lines). error: while searching for: cnxk_eth_dev_ops.timesync_disable = cn10k_nix_timesync_disable; cnxk_eth_dev_ops.rx_metadata_negotiate = cn10k_nix_rx_metadata_negotiate; } static void error: patch failed: drivers/net/cnxk/cn10k_ethdev.c:499 Checking patch drivers/net/cnxk/cn10k_rx.h... Hunk #1 succeeded at 399 (offset -33 lines). error: while searching for: cn10k_nix_cqe_to_mbuf(cq, cq->tag, mbuf, lookup_mem, mbuf_init, flags); cnxk_nix_mbuf_to_tstamp(mbuf, rxq->tstamp, (flags & NIX_RX_OFFLOAD_TSTAMP_F), (uint64_t *)((uint8_t *)mbuf + data_off)); error: patch failed: drivers/net/cnxk/cn10k_rx.h:486 Checking patch drivers/net/cnxk/cn9k_ethdev.c... error: while searching for: return 0; } static int cn9k_nix_rx_metadata_negotiate(struct rte_eth_dev *eth_dev, uint64_t *features) { error: patch failed: drivers/net/cnxk/cn9k_ethdev.c:450 error: while searching for: cnxk_eth_dev_ops.timesync_disable = cn9k_nix_timesync_disable; cnxk_eth_dev_ops.mtr_ops_get = NULL; cnxk_eth_dev_ops.rx_metadata_negotiate = cn9k_nix_rx_metadata_negotiate; } static void error: patch failed: drivers/net/cnxk/cn9k_ethdev.c:492 Checking patch drivers/net/cnxk/cn9k_rx.h... Hunk #1 succeeded at 430 (offset -5 lines). error: while searching for: cn9k_nix_cqe_to_mbuf(cq, cq->tag, mbuf, lookup_mem, mbuf_init, flags); cnxk_nix_mbuf_to_tstamp(mbuf, rxq->tstamp, (flags & NIX_RX_OFFLOAD_TSTAMP_F), (uint64_t *)((uint8_t *)mbuf + data_off)); error: patch failed: drivers/net/cnxk/cn9k_rx.h:463 Applying patch drivers/net/cnxk/cn10k_ethdev.c with 1 reject... Hunk #1 applied cleanly. Rejected hunk #2. Applying patch drivers/net/cnxk/cn10k_rx.h with 1 reject... Hunk #1 applied cleanly. Rejected hunk #2. Applying patch drivers/net/cnxk/cn9k_ethdev.c with 2 rejects... Rejected hunk #1. Rejected hunk #2. Applying patch drivers/net/cnxk/cn9k_rx.h with 1 reject... Hunk #1 applied cleanly. Rejected hunk #2. diff a/drivers/net/cnxk/cn10k_ethdev.c b/drivers/net/cnxk/cn10k_ethdev.c (rejected hunks) @@ -499,6 +520,8 @@ nix_eth_dev_ops_override(void) cnxk_eth_dev_ops.timesync_disable = cn10k_nix_timesync_disable; cnxk_eth_dev_ops.rx_metadata_negotiate = cn10k_nix_rx_metadata_negotiate; + cnxk_eth_dev_ops.timesync_read_tx_timestamp = + cn10k_nix_timesync_read_tx_timestamp; } static void diff a/drivers/net/cnxk/cn10k_rx.h b/drivers/net/cnxk/cn10k_rx.h (rejected hunks) @@ -486,7 +516,7 @@ cn10k_nix_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t pkts, cn10k_nix_cqe_to_mbuf(cq, cq->tag, mbuf, lookup_mem, mbuf_init, flags); - cnxk_nix_mbuf_to_tstamp(mbuf, rxq->tstamp, + cn10k_nix_mbuf_to_tstamp(mbuf, rxq->tstamp, (flags & NIX_RX_OFFLOAD_TSTAMP_F), (uint64_t *)((uint8_t *)mbuf + data_off)); diff a/drivers/net/cnxk/cn9k_ethdev.c b/drivers/net/cnxk/cn9k_ethdev.c (rejected hunks) @@ -450,6 +450,25 @@ cn9k_nix_dev_start(struct rte_eth_dev *eth_dev) return 0; } +static int +cn9k_nix_timesync_read_tx_timestamp(struct rte_eth_dev *eth_dev, + struct timespec *timestamp) +{ + struct cnxk_eth_dev *dev = cnxk_eth_pmd_priv(eth_dev); + struct cnxk_timesync_info *tstamp = &dev->tstamp; + uint64_t ns; + + if (*tstamp->tx_tstamp == 0) + return -EINVAL; + + ns = rte_timecounter_update(&dev->tx_tstamp_tc, *tstamp->tx_tstamp); + *timestamp = rte_ns_to_timespec(ns); + *tstamp->tx_tstamp = 0; + rte_wmb(); + + return 0; +} + static int cn9k_nix_rx_metadata_negotiate(struct rte_eth_dev *eth_dev, uint64_t *features) { @@ -492,6 +511,8 @@ nix_eth_dev_ops_override(void) cnxk_eth_dev_ops.timesync_disable = cn9k_nix_timesync_disable; cnxk_eth_dev_ops.mtr_ops_get = NULL; cnxk_eth_dev_ops.rx_metadata_negotiate = cn9k_nix_rx_metadata_negotiate; + cnxk_eth_dev_ops.timesync_read_tx_timestamp = + cn9k_nix_timesync_read_tx_timestamp; } static void diff a/drivers/net/cnxk/cn9k_rx.h b/drivers/net/cnxk/cn9k_rx.h (rejected hunks) @@ -463,7 +491,7 @@ cn9k_nix_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t pkts, cn9k_nix_cqe_to_mbuf(cq, cq->tag, mbuf, lookup_mem, mbuf_init, flags); - cnxk_nix_mbuf_to_tstamp(mbuf, rxq->tstamp, + cn9k_nix_mbuf_to_tstamp(mbuf, rxq->tstamp, (flags & NIX_RX_OFFLOAD_TSTAMP_F), (uint64_t *)((uint8_t *)mbuf + data_off)); Checking patch drivers/event/cnxk/cn10k_worker.h... error: while searching for: /* Extracting tstamp, if PTP enabled*/ tstamp_ptr = *(uint64_t *)(((struct nix_wqe_hdr_s *)cqe) + CNXK_SSO_WQE_SG_PTR); cnxk_nix_mbuf_to_tstamp((struct rte_mbuf *)mbuf, tstamp, flags & NIX_RX_OFFLOAD_TSTAMP_F, (uint64_t *)tstamp_ptr); wqe[0] = (uint64_t *)mbuf; error: patch failed: drivers/event/cnxk/cn10k_worker.h:179 error: while searching for: tstamp_ptr = *(uint64_t *)(((struct nix_wqe_hdr_s *) gw.u64[1]) + CNXK_SSO_WQE_SG_PTR); cnxk_nix_mbuf_to_tstamp((struct rte_mbuf *)mbuf, ws->tstamp, flags & NIX_RX_OFFLOAD_TSTAMP_F, (uint64_t *)tstamp_ptr); error: patch failed: drivers/event/cnxk/cn10k_worker.h:269 Checking patch drivers/event/cnxk/cn9k_worker.h... error: while searching for: tstamp_ptr = *(uint64_t *)(((struct nix_wqe_hdr_s *) gw.u64[1]) + CNXK_SSO_WQE_SG_PTR); cnxk_nix_mbuf_to_tstamp((struct rte_mbuf *)mbuf, dws->tstamp, flags & NIX_RX_OFFLOAD_TSTAMP_F, (uint64_t *)tstamp_ptr); error: patch failed: drivers/event/cnxk/cn9k_worker.h:205 error: while searching for: tstamp_ptr = *(uint64_t *)(((struct nix_wqe_hdr_s *) gw.u64[1]) + CNXK_SSO_WQE_SG_PTR); cnxk_nix_mbuf_to_tstamp((struct rte_mbuf *)mbuf, ws->tstamp, flags & NIX_RX_OFFLOAD_TSTAMP_F, (uint64_t *)tstamp_ptr); error: patch failed: drivers/event/cnxk/cn9k_worker.h:281 Checking patch drivers/net/cnxk/cnxk_ethdev.h... error: while searching for: rte_mbuf_timestamp_t *); } static __rte_always_inline void cnxk_nix_mbuf_to_tstamp(struct rte_mbuf *mbuf, struct cnxk_timesync_info *tstamp, const uint8_t ts_enable, uint64_t *tstamp_ptr) { if (ts_enable) { mbuf->pkt_len -= CNXK_NIX_TIMESYNC_RX_OFFSET; mbuf->data_len -= CNXK_NIX_TIMESYNC_RX_OFFSET; /* Reading the rx timestamp inserted by CGX, viz at * starting of the packet data. */ *cnxk_nix_timestamp_dynfield(mbuf, tstamp) = rte_be_to_cpu_64(*tstamp_ptr); /* RTE_MBUF_F_RX_IEEE1588_TMST flag needs to be set only in case * PTP packets are received. */ if (mbuf->packet_type == RTE_PTYPE_L2_ETHER_TIMESYNC) { tstamp->rx_tstamp = *cnxk_nix_timestamp_dynfield(mbuf, tstamp); tstamp->rx_ready = 1; mbuf->ol_flags |= RTE_MBUF_F_RX_IEEE1588_PTP | RTE_MBUF_F_RX_IEEE1588_TMST | tstamp->rx_tstamp_dynflag; } } } static __rte_always_inline uintptr_t cnxk_nix_sa_base_get(uint16_t port, const void *lookup_mem) { error: patch failed: drivers/net/cnxk/cnxk_ethdev.h:714 Applying patch drivers/event/cnxk/cn10k_worker.h with 2 rejects... Rejected hunk #1. Rejected hunk #2. Applying patch drivers/event/cnxk/cn9k_worker.h with 2 rejects... Rejected hunk #1. Rejected hunk #2. Applying patch drivers/net/cnxk/cnxk_ethdev.h with 1 reject... Rejected hunk #1. diff a/drivers/event/cnxk/cn10k_worker.h b/drivers/event/cnxk/cn10k_worker.h (rejected hunks) @@ -179,7 +179,7 @@ cn10k_process_vwqe(uintptr_t vwqe, uint16_t port_id, const uint32_t flags, /* Extracting tstamp, if PTP enabled*/ tstamp_ptr = *(uint64_t *)(((struct nix_wqe_hdr_s *)cqe) + CNXK_SSO_WQE_SG_PTR); - cnxk_nix_mbuf_to_tstamp((struct rte_mbuf *)mbuf, tstamp, + cn10k_nix_mbuf_to_tstamp((struct rte_mbuf *)mbuf, tstamp, flags & NIX_RX_OFFLOAD_TSTAMP_F, (uint64_t *)tstamp_ptr); wqe[0] = (uint64_t *)mbuf; @@ -269,7 +269,7 @@ cn10k_sso_hws_get_work(struct cn10k_sso_hws *ws, struct rte_event *ev, tstamp_ptr = *(uint64_t *)(((struct nix_wqe_hdr_s *) gw.u64[1]) + CNXK_SSO_WQE_SG_PTR); - cnxk_nix_mbuf_to_tstamp((struct rte_mbuf *)mbuf, + cn10k_nix_mbuf_to_tstamp((struct rte_mbuf *)mbuf, ws->tstamp, flags & NIX_RX_OFFLOAD_TSTAMP_F, (uint64_t *)tstamp_ptr); diff a/drivers/event/cnxk/cn9k_worker.h b/drivers/event/cnxk/cn9k_worker.h (rejected hunks) @@ -205,7 +205,7 @@ cn9k_sso_hws_dual_get_work(uint64_t base, uint64_t pair_base, tstamp_ptr = *(uint64_t *)(((struct nix_wqe_hdr_s *) gw.u64[1]) + CNXK_SSO_WQE_SG_PTR); - cnxk_nix_mbuf_to_tstamp((struct rte_mbuf *)mbuf, + cn9k_nix_mbuf_to_tstamp((struct rte_mbuf *)mbuf, dws->tstamp, flags & NIX_RX_OFFLOAD_TSTAMP_F, (uint64_t *)tstamp_ptr); @@ -281,7 +281,7 @@ cn9k_sso_hws_get_work(struct cn9k_sso_hws *ws, struct rte_event *ev, tstamp_ptr = *(uint64_t *)(((struct nix_wqe_hdr_s *) gw.u64[1]) + CNXK_SSO_WQE_SG_PTR); - cnxk_nix_mbuf_to_tstamp((struct rte_mbuf *)mbuf, + cn9k_nix_mbuf_to_tstamp((struct rte_mbuf *)mbuf, ws->tstamp, flags & NIX_RX_OFFLOAD_TSTAMP_F, (uint64_t *)tstamp_ptr); diff a/drivers/net/cnxk/cnxk_ethdev.h b/drivers/net/cnxk/cnxk_ethdev.h (rejected hunks) @@ -714,34 +714,6 @@ cnxk_nix_timestamp_dynfield(struct rte_mbuf *mbuf, rte_mbuf_timestamp_t *); } -static __rte_always_inline void -cnxk_nix_mbuf_to_tstamp(struct rte_mbuf *mbuf, - struct cnxk_timesync_info *tstamp, - const uint8_t ts_enable, uint64_t *tstamp_ptr) -{ - if (ts_enable) { - mbuf->pkt_len -= CNXK_NIX_TIMESYNC_RX_OFFSET; - mbuf->data_len -= CNXK_NIX_TIMESYNC_RX_OFFSET; - - /* Reading the rx timestamp inserted by CGX, viz at - * starting of the packet data. - */ - *cnxk_nix_timestamp_dynfield(mbuf, tstamp) = - rte_be_to_cpu_64(*tstamp_ptr); - /* RTE_MBUF_F_RX_IEEE1588_TMST flag needs to be set only in case - * PTP packets are received. - */ - if (mbuf->packet_type == RTE_PTYPE_L2_ETHER_TIMESYNC) { - tstamp->rx_tstamp = - *cnxk_nix_timestamp_dynfield(mbuf, tstamp); - tstamp->rx_ready = 1; - mbuf->ol_flags |= RTE_MBUF_F_RX_IEEE1588_PTP | - RTE_MBUF_F_RX_IEEE1588_TMST | - tstamp->rx_tstamp_dynflag; - } - } -} - static __rte_always_inline uintptr_t cnxk_nix_sa_base_get(uint16_t port, const void *lookup_mem) { https://lab.dpdk.org/results/dashboard/patchsets/21241/ UNH-IOL DPDK Community Lab