[v6,15/23] net/octeon_ep: use mbuf descriptor accessors

Message ID 1709012499-12813-16-git-send-email-roretzla@linux.microsoft.com (mailing list archive)
State Superseded, archived
Delegated to: Thomas Monjalon
Headers
Series stop and remove RTE_MARKER typedefs |

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

Tyler Retzlaff Feb. 27, 2024, 5:41 a.m. UTC
  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(-)
  

Patch

diff --git a/drivers/net/octeon_ep/cnxk_ep_rx.h b/drivers/net/octeon_ep/cnxk_ep_rx.h
index 61263e6..1d706e2 100644
--- a/drivers/net/octeon_ep/cnxk_ep_rx.h
+++ b/drivers/net/octeon_ep/cnxk_ep_rx.h
@@ -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;
 	}
diff --git a/drivers/net/octeon_ep/cnxk_ep_rx_avx.c b/drivers/net/octeon_ep/cnxk_ep_rx_avx.c
index 47eb1d2..3b8241c 100644
--- a/drivers/net/octeon_ep/cnxk_ep_rx_avx.c
+++ b/drivers/net/octeon_ep/cnxk_ep_rx_avx.c
@@ -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];
diff --git a/drivers/net/octeon_ep/cnxk_ep_rx_neon.c b/drivers/net/octeon_ep/cnxk_ep_rx_neon.c
index 4c46a7e..8797252 100644
--- a/drivers/net/octeon_ep/cnxk_ep_rx_neon.c
+++ b/drivers/net/octeon_ep/cnxk_ep_rx_neon.c
@@ -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;
diff --git a/drivers/net/octeon_ep/cnxk_ep_rx_sse.c b/drivers/net/octeon_ep/cnxk_ep_rx_sse.c
index 308c8b2..1466217 100644
--- a/drivers/net/octeon_ep/cnxk_ep_rx_sse.c
+++ b/drivers/net/octeon_ep/cnxk_ep_rx_sse.c
@@ -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;
diff --git a/drivers/net/octeon_ep/otx_ep_rxtx.c b/drivers/net/octeon_ep/otx_ep_rxtx.c
index aea148e..4470599 100644
--- a/drivers/net/octeon_ep/otx_ep_rxtx.c
+++ b/drivers/net/octeon_ep/otx_ep_rxtx.c
@@ -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 */