[v5,19/22] net/octeon_ep: use mbuf descriptor accessors
Checks
Commit Message
RTE_MARKER typedefs are a GCC extension unsupported by MSVC. Use
new rte_mbuf_rearm_data and rte_mbuf_rx_descriptor_fields1 accessors
that provide a compatible type pointer without using the marker fields.
Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
---
drivers/net/octeon_ep/cnxk_ep_rx.h | 2 +-
drivers/net/octeon_ep/cnxk_ep_rx_avx.c | 2 +-
drivers/net/octeon_ep/cnxk_ep_rx_neon.c | 8 ++++----
drivers/net/octeon_ep/cnxk_ep_rx_sse.c | 8 ++++----
drivers/net/octeon_ep/otx_ep_rxtx.c | 5 +----
5 files changed, 11 insertions(+), 14 deletions(-)
@@ -158,7 +158,7 @@
mbuf->pkt_len = pkt_len;
mbuf->data_len = pkt_len;
- *(uint64_t *)&mbuf->rearm_data = droq->rearm_data;
+ *rte_mbuf_rearm_data(mbuf) = droq->rearm_data;
rx_pkts[pkts] = mbuf;
bytes_rsvd += pkt_len;
}
@@ -60,7 +60,7 @@
/* Store the 256bit data to the mbuf. */
for (i = 0; i < CNXK_EP_OQ_DESC_PER_LOOP_AVX; i++)
- _mm256_storeu_si256((__m256i *)&m[i]->rearm_data, data[i]);
+ _mm256_storeu_si256((__m256i *)rte_mbuf_rearm_data(m[i]), data[i]);
for (i = 0; i < CNXK_EP_OQ_DESC_PER_LOOP_AVX; i++)
rx_pkts[pkts++] = m[i];
@@ -72,10 +72,10 @@
*(uint64_t *)&m3->pkt_len = vgetq_lane_u64(s23, 1);
/* Reset rearm data. */
- *(uint64_t *)&m0->rearm_data = droq->rearm_data;
- *(uint64_t *)&m1->rearm_data = droq->rearm_data;
- *(uint64_t *)&m2->rearm_data = droq->rearm_data;
- *(uint64_t *)&m3->rearm_data = droq->rearm_data;
+ *rte_mbuf_rearm_data(m0) = droq->rearm_data;
+ *rte_mbuf_rearm_data(m1) = droq->rearm_data;
+ *rte_mbuf_rearm_data(m2) = droq->rearm_data;
+ *rte_mbuf_rearm_data(m3) = droq->rearm_data;
rx_pkts[pkts++] = m0;
rx_pkts[pkts++] = m1;
@@ -64,10 +64,10 @@
*(uint64_t *)&m3->pkt_len = ((rte_xmm_t)s23).u64[1];
/* Reset rearm data. */
- *(uint64_t *)&m0->rearm_data = droq->rearm_data;
- *(uint64_t *)&m1->rearm_data = droq->rearm_data;
- *(uint64_t *)&m2->rearm_data = droq->rearm_data;
- *(uint64_t *)&m3->rearm_data = droq->rearm_data;
+ *rte_mbuf_rearm_data(m0) = droq->rearm_data;
+ *rte_mbuf_rearm_data(m1) = droq->rearm_data;
+ *rte_mbuf_rearm_data(m2) = droq->rearm_data;
+ *rte_mbuf_rearm_data(m3) = droq->rearm_data;
rx_pkts[pkts++] = m0;
rx_pkts[pkts++] = m1;
@@ -289,7 +289,6 @@
{
uint16_t port_id = otx_ep->port_id;
struct rte_mbuf mb_def;
- uint64_t *tmp;
RTE_BUILD_BUG_ON(offsetof(struct rte_mbuf, data_off) % 8 != 0);
RTE_BUILD_BUG_ON(offsetof(struct rte_mbuf, refcnt) - offsetof(struct rte_mbuf, data_off) !=
@@ -305,9 +304,7 @@
/* Prevent compiler reordering: rearm_data covers previous fields */
rte_compiler_barrier();
- tmp = (uint64_t *)&mb_def.rearm_data;
-
- return *tmp;
+ return *rte_mbuf_rearm_data(&mb_def);
}
/* OQ initialization */