Test-Label: iol-testing Test-Status: WARNING http://dpdk.org/patch/110182 _apply patch failure_ Submitter: Simei Su Date: Sunday, April 24 2022 07:08:45 Applied on: CommitID:76076342ec8ef108a155938d46a88bb493fae60e Apply patch set 110182-110184 failed: Checking patch drivers/common/iavf/virtchnl.h... Hunk #2 succeeded at 276 (offset -2 lines). Hunk #3 succeeded at 415 (offset -2 lines). Hunk #4 succeeded at 502 (offset -2 lines). Hunk #5 succeeded at 542 (offset -2 lines). error: while searching for: VIRTCHNL_CHECK_STRUCT_LEN(12, virtchnl_quanta_cfg); /* Since VF messages are limited by u16 size, precalculate the maximum possible * values of nested elements in virtchnl structures that virtual channel can * possibly handle in a single message. error: patch failed: drivers/common/iavf/virtchnl.h:2004 Hunk #7 succeeded at 2290 (offset -83 lines). Applying patch drivers/common/iavf/virtchnl.h with 1 reject... Hunk #1 applied cleanly. Hunk #2 applied cleanly. Hunk #3 applied cleanly. Hunk #4 applied cleanly. Hunk #5 applied cleanly. Rejected hunk #6. Hunk #7 applied cleanly. diff a/drivers/common/iavf/virtchnl.h b/drivers/common/iavf/virtchnl.h (rejected hunks) @@ -2004,6 +2023,39 @@ struct virtchnl_quanta_cfg { VIRTCHNL_CHECK_STRUCT_LEN(12, virtchnl_quanta_cfg); +#define VIRTCHNL_1588_PTP_CAP_RX_TSTAMP BIT(1) +#define VIRTCHNL_1588_PTP_CAP_READ_PHC BIT(2) + +struct virtchnl_phc_regs { + u32 clock_hi; + u32 clock_lo; + u8 pcie_region; + u8 rsvd[15]; +}; + +VIRTCHNL_CHECK_STRUCT_LEN(24, virtchnl_phc_regs); + +struct virtchnl_ptp_caps { + struct virtchnl_phc_regs phc_regs; + u32 caps; + s32 max_adj; + u8 tx_tstamp_idx; + u8 n_ext_ts; + u8 n_per_out; + u8 n_pins; + u8 tx_tstamp_format; + u8 rsvd[11]; +}; + +VIRTCHNL_CHECK_STRUCT_LEN(48, virtchnl_ptp_caps); + +struct virtchnl_phc_time { + u64 time; + u8 rsvd[8]; +}; + +VIRTCHNL_CHECK_STRUCT_LEN(16, virtchnl_phc_time); + /* Since VF messages are limited by u16 size, precalculate the maximum possible * values of nested elements in virtchnl structures that virtual channel can * possibly handle in a single message. Checking patch doc/guides/nics/features/iavf.ini... Checking patch doc/guides/rel_notes/release_22_07.rst... error: while searching for: * Added Tx QoS queue rate limitation support. * Added quanta size configuration support. Removed Items ------------- error: patch failed: doc/guides/rel_notes/release_22_07.rst:59 Checking patch drivers/net/iavf/iavf.h... Hunk #1 succeeded at 257 (offset -11 lines). Hunk #2 succeeded at 302 (offset -12 lines). Hunk #3 succeeded at 463 (offset -16 lines). Checking patch drivers/net/iavf/iavf_ethdev.c... error: while searching for: #define IAVF_PROTO_XTR_ARG "proto_xtr" #define IAVF_QUANTA_SIZE_ARG "quanta_size" static const char * const iavf_valid_args[] = { IAVF_PROTO_XTR_ARG, IAVF_QUANTA_SIZE_ARG, error: patch failed: drivers/net/iavf/iavf_ethdev.c:36 Hunk #2 succeeded at 685 (offset -5 lines). Hunk #3 succeeded at 704 (offset -5 lines). Hunk #4 succeeded at 958 (offset -5 lines). Hunk #5 succeeded at 1107 (offset -8 lines). Checking patch drivers/net/iavf/iavf_rxtx.c... Hunk #1 succeeded at 1418 (offset -4 lines). Hunk #2 succeeded at 1492 (offset -4 lines). Hunk #3 succeeded at 1535 (offset -4 lines). Hunk #4 succeeded at 1657 (offset -4 lines). error: while searching for: int32_t nb_staged = 0; uint64_t pkt_flags; const uint32_t *ptype_tbl = rxq->vsi->adapter->ptype_tbl; rxdp = (volatile union iavf_rx_flex_desc *)&rxq->rx_ring[rxq->rx_tail]; rxep = &rxq->sw_ring[rxq->rx_tail]; error: patch failed: drivers/net/iavf/iavf_rxtx.c:1831 Hunk #6 succeeded at 1873 (offset -9 lines). error: while searching for: stat_err0 = rte_le_to_cpu_16(rxdp[j].wb.status_error0); pkt_flags = iavf_flex_rxd_error_to_pkt_flags(stat_err0); mb->ol_flags |= pkt_flags; /* Put up to nb_pkts directly into buffers */ error: patch failed: drivers/net/iavf/iavf_rxtx.c:1897 Checking patch drivers/net/iavf/iavf_rxtx.h... Checking patch drivers/net/iavf/iavf_rxtx_vec_common.h... Checking patch drivers/net/iavf/iavf_vchnl.c... Hunk #3 succeeded at 1811 (offset -54 lines). Applied patch doc/guides/nics/features/iavf.ini cleanly. Applying patch doc/guides/rel_notes/release_22_07.rst with 1 reject... Rejected hunk #1. Applied patch drivers/net/iavf/iavf.h cleanly. Applying patch drivers/net/iavf/iavf_ethdev.c with 1 reject... Rejected hunk #1. Hunk #2 applied cleanly. Hunk #3 applied cleanly. Hunk #4 applied cleanly. Hunk #5 applied cleanly. Applying patch drivers/net/iavf/iavf_rxtx.c with 2 rejects... Hunk #1 applied cleanly. Hunk #2 applied cleanly. Hunk #3 applied cleanly. Hunk #4 applied cleanly. Rejected hunk #5. Hunk #6 applied cleanly. Rejected hunk #7. Applied patch drivers/net/iavf/iavf_rxtx.h cleanly. Applied patch drivers/net/iavf/iavf_rxtx_vec_common.h cleanly. Applied patch drivers/net/iavf/iavf_vchnl.c cleanly. diff a/doc/guides/rel_notes/release_22_07.rst b/doc/guides/rel_notes/release_22_07.rst (rejected hunks) @@ -59,6 +59,7 @@ New Features * Added Tx QoS queue rate limitation support. * Added quanta size configuration support. + * Added ``DEV_RX_OFFLOAD_TIMESTAMP`` support. Removed Items ------------- diff a/drivers/net/iavf/iavf_ethdev.c b/drivers/net/iavf/iavf_ethdev.c (rejected hunks) @@ -36,6 +36,9 @@ #define IAVF_PROTO_XTR_ARG "proto_xtr" #define IAVF_QUANTA_SIZE_ARG "quanta_size" +uint64_t iavf_timestamp_dynflag; +int iavf_timestamp_dynfield_offset = -1; + static const char * const iavf_valid_args[] = { IAVF_PROTO_XTR_ARG, IAVF_QUANTA_SIZE_ARG, diff a/drivers/net/iavf/iavf_rxtx.c b/drivers/net/iavf/iavf_rxtx.c (rejected hunks) @@ -1831,6 +1870,8 @@ iavf_rx_scan_hw_ring_flex_rxd(struct iavf_rx_queue *rxq, int32_t nb_staged = 0; uint64_t pkt_flags; const uint32_t *ptype_tbl = rxq->vsi->adapter->ptype_tbl; + struct iavf_adapter *ad = rxq->vsi->adapter; + uint64_t ts_ns; rxdp = (volatile union iavf_rx_flex_desc *)&rxq->rx_ring[rxq->rx_tail]; rxep = &rxq->sw_ring[rxq->rx_tail]; @@ -1897,6 +1941,20 @@ iavf_rx_scan_hw_ring_flex_rxd(struct iavf_rx_queue *rxq, stat_err0 = rte_le_to_cpu_16(rxdp[j].wb.status_error0); pkt_flags = iavf_flex_rxd_error_to_pkt_flags(stat_err0); + if (iavf_timestamp_dynflag > 0) { + if (rxq->hw_register_set) + iavf_get_phc_time(ad); + + rxq->hw_register_set = 0; + ts_ns = iavf_tstamp_convert_32b_64b(ad->phc_time, + rte_le_to_cpu_32(rxdp[j].wb.flex_ts.ts_high)); + + *RTE_MBUF_DYNFIELD(mb, + iavf_timestamp_dynfield_offset, + rte_mbuf_timestamp_t *) = ts_ns; + mb->ol_flags |= iavf_timestamp_dynflag; + } + mb->ol_flags |= pkt_flags; /* Put up to nb_pkts directly into buffers */ Checking patch drivers/net/iavf/iavf.h... error: drivers/net/iavf/iavf.h: does not match index Checking patch drivers/net/iavf/iavf_ethdev.c... error: drivers/net/iavf/iavf_ethdev.c: does not match index Checking patch drivers/net/iavf/iavf_rxtx.c... error: drivers/net/iavf/iavf_rxtx.c: does not match index Checking patch drivers/net/iavf/iavf_rxtx.h... error: drivers/net/iavf/iavf_rxtx.h: does not match index https://lab.dpdk.org/results/dashboard/patchsets/21891/ UNH-IOL DPDK Community Lab