* [dpdk-dev] [PATCH 0/2] fix big endian build
@ 2019-04-09 19:49 Thomas Monjalon
2019-04-09 19:49 ` Thomas Monjalon
` (3 more replies)
0 siblings, 4 replies; 16+ messages in thread
From: Thomas Monjalon @ 2019-04-09 19:49 UTC (permalink / raw)
To: qiming.yang, wenzhuo.lu, ajit.khaparde, somnath.kotur; +Cc: ferruh.yigit, dev
There are at least 4 issues when compiling with a big endian toolchain.
2 of them are fixed in this patchset.
The remaining ones are in ice and bnxt PMDs.
About ice, the error is:
drivers/net/ice/base/ice_flex_pipe.c:302:8: error:
‘state.entry_idx’ may be used uninitialized in this function
It is not obvious to fix, there may be few places where
a struct should be initialized. Please fix it soon.
About bnxt, the issue looks like a mistake reproduced several times:
drivers/net/bnxt/bnxt_ethdev.c:2652:19: error:
invalid use of void expression
rte_cpu_to_le_32(rte_write32(reg_base, (uint8_t *)bp->bar0 + win_off));
The pattern "rte_cpu_to_le_32(rte_write32(" can be seen 4 times.
The result of the endian conversion is never used.
Please fix it soon.
Thomas Monjalon (2):
mbuf: fix big endian build
net/enetc: fix big endian build
drivers/net/enetc/enetc_rxtx.c | 5 +++--
lib/librte_mbuf/rte_mbuf.h | 2 +-
2 files changed, 4 insertions(+), 3 deletions(-)
--
2.21.0
^ permalink raw reply [flat|nested] 16+ messages in thread
* [dpdk-dev] [PATCH 0/2] fix big endian build
2019-04-09 19:49 [dpdk-dev] [PATCH 0/2] fix big endian build Thomas Monjalon
@ 2019-04-09 19:49 ` Thomas Monjalon
2019-04-09 19:49 ` [dpdk-dev] [PATCH 1/2] mbuf: " Thomas Monjalon
` (2 subsequent siblings)
3 siblings, 0 replies; 16+ messages in thread
From: Thomas Monjalon @ 2019-04-09 19:49 UTC (permalink / raw)
To: qiming.yang, wenzhuo.lu, ajit.khaparde, somnath.kotur; +Cc: ferruh.yigit, dev
There are at least 4 issues when compiling with a big endian toolchain.
2 of them are fixed in this patchset.
The remaining ones are in ice and bnxt PMDs.
About ice, the error is:
drivers/net/ice/base/ice_flex_pipe.c:302:8: error:
‘state.entry_idx’ may be used uninitialized in this function
It is not obvious to fix, there may be few places where
a struct should be initialized. Please fix it soon.
About bnxt, the issue looks like a mistake reproduced several times:
drivers/net/bnxt/bnxt_ethdev.c:2652:19: error:
invalid use of void expression
rte_cpu_to_le_32(rte_write32(reg_base, (uint8_t *)bp->bar0 + win_off));
The pattern "rte_cpu_to_le_32(rte_write32(" can be seen 4 times.
The result of the endian conversion is never used.
Please fix it soon.
Thomas Monjalon (2):
mbuf: fix big endian build
net/enetc: fix big endian build
drivers/net/enetc/enetc_rxtx.c | 5 +++--
lib/librte_mbuf/rte_mbuf.h | 2 +-
2 files changed, 4 insertions(+), 3 deletions(-)
--
2.21.0
^ permalink raw reply [flat|nested] 16+ messages in thread
* [dpdk-dev] [PATCH 1/2] mbuf: fix big endian build
2019-04-09 19:49 [dpdk-dev] [PATCH 0/2] fix big endian build Thomas Monjalon
2019-04-09 19:49 ` Thomas Monjalon
@ 2019-04-09 19:49 ` Thomas Monjalon
2019-04-09 19:49 ` Thomas Monjalon
2019-04-09 19:49 ` [dpdk-dev] [PATCH 2/2] net/enetc: " Thomas Monjalon
2019-04-09 20:06 ` [dpdk-dev] [PATCH v2 0/2] " Thomas Monjalon
3 siblings, 1 reply; 16+ messages in thread
From: Thomas Monjalon @ 2019-04-09 19:49 UTC (permalink / raw)
To: qiming.yang, wenzhuo.lu, ajit.khaparde, somnath.kotur, Olivier Matz
Cc: ferruh.yigit, dev, konstantin.ananyev
Compilation was failing when using a big endian toolchain:
rte_mbuf.h:504:2: error: expected ‘,’ or ‘}’ before ‘RTE_MBUF_L3_LEN_OFS’
Fixes: 8d9c2c3a1f01 ("mbuf: add function to generate raw Tx offload value")
Cc: konstantin.ananyev@intel.com
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
lib/librte_mbuf/rte_mbuf.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/librte_mbuf/rte_mbuf.h b/lib/librte_mbuf/rte_mbuf.h
index f7886dcb3..7dd2e7fb3 100644
--- a/lib/librte_mbuf/rte_mbuf.h
+++ b/lib/librte_mbuf/rte_mbuf.h
@@ -500,7 +500,7 @@ enum {
RTE_MBUF_OUTL2_LEN_BITS,
#if RTE_BYTE_ORDER == RTE_BIG_ENDIAN
RTE_MBUF_L2_LEN_OFS =
- sizeof(uint64_t) * CHAR_BIT - RTE_MBUF_L2_LEN_BITS
+ sizeof(uint64_t) * CHAR_BIT - RTE_MBUF_L2_LEN_BITS,
RTE_MBUF_L3_LEN_OFS = RTE_MBUF_L2_LEN_OFS - RTE_MBUF_L3_LEN_BITS,
RTE_MBUF_L4_LEN_OFS = RTE_MBUF_L3_LEN_OFS - RTE_MBUF_L4_LEN_BITS,
RTE_MBUF_TSO_SEGSZ_OFS = RTE_MBUF_L4_LEN_OFS - RTE_MBUF_TSO_SEGSZ_BITS,
--
2.21.0
^ permalink raw reply [flat|nested] 16+ messages in thread
* [dpdk-dev] [PATCH 1/2] mbuf: fix big endian build
2019-04-09 19:49 ` [dpdk-dev] [PATCH 1/2] mbuf: " Thomas Monjalon
@ 2019-04-09 19:49 ` Thomas Monjalon
0 siblings, 0 replies; 16+ messages in thread
From: Thomas Monjalon @ 2019-04-09 19:49 UTC (permalink / raw)
To: qiming.yang, wenzhuo.lu, ajit.khaparde, somnath.kotur, Olivier Matz
Cc: ferruh.yigit, dev, konstantin.ananyev
Compilation was failing when using a big endian toolchain:
rte_mbuf.h:504:2: error: expected ‘,’ or ‘}’ before ‘RTE_MBUF_L3_LEN_OFS’
Fixes: 8d9c2c3a1f01 ("mbuf: add function to generate raw Tx offload value")
Cc: konstantin.ananyev@intel.com
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
lib/librte_mbuf/rte_mbuf.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/librte_mbuf/rte_mbuf.h b/lib/librte_mbuf/rte_mbuf.h
index f7886dcb3..7dd2e7fb3 100644
--- a/lib/librte_mbuf/rte_mbuf.h
+++ b/lib/librte_mbuf/rte_mbuf.h
@@ -500,7 +500,7 @@ enum {
RTE_MBUF_OUTL2_LEN_BITS,
#if RTE_BYTE_ORDER == RTE_BIG_ENDIAN
RTE_MBUF_L2_LEN_OFS =
- sizeof(uint64_t) * CHAR_BIT - RTE_MBUF_L2_LEN_BITS
+ sizeof(uint64_t) * CHAR_BIT - RTE_MBUF_L2_LEN_BITS,
RTE_MBUF_L3_LEN_OFS = RTE_MBUF_L2_LEN_OFS - RTE_MBUF_L3_LEN_BITS,
RTE_MBUF_L4_LEN_OFS = RTE_MBUF_L3_LEN_OFS - RTE_MBUF_L4_LEN_BITS,
RTE_MBUF_TSO_SEGSZ_OFS = RTE_MBUF_L4_LEN_OFS - RTE_MBUF_TSO_SEGSZ_BITS,
--
2.21.0
^ permalink raw reply [flat|nested] 16+ messages in thread
* [dpdk-dev] [PATCH 2/2] net/enetc: fix big endian build
2019-04-09 19:49 [dpdk-dev] [PATCH 0/2] fix big endian build Thomas Monjalon
2019-04-09 19:49 ` Thomas Monjalon
2019-04-09 19:49 ` [dpdk-dev] [PATCH 1/2] mbuf: " Thomas Monjalon
@ 2019-04-09 19:49 ` Thomas Monjalon
2019-04-09 19:49 ` Thomas Monjalon
2019-04-09 20:06 ` [dpdk-dev] [PATCH v2 0/2] " Thomas Monjalon
3 siblings, 1 reply; 16+ messages in thread
From: Thomas Monjalon @ 2019-04-09 19:49 UTC (permalink / raw)
To: qiming.yang, wenzhuo.lu, ajit.khaparde, somnath.kotur,
Gagandeep Singh, Pankaj Chauhan
Cc: ferruh.yigit, dev, stable
Compilation was failing when using a big endian toolchain:
drivers/net/enetc/enetc_rxtx.c:92:21: error:
passing argument 1 of ‘rte_constant_bswap64’
makes integer from pointer without a cast
Fixes: 469c6111a799 ("net/enetc: enable Rx and Tx")
Cc: g.singh@nxp.com
Cc: stable@dpdk.org
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
drivers/net/enetc/enetc_rxtx.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/net/enetc/enetc_rxtx.c b/drivers/net/enetc/enetc_rxtx.c
index 631e2430d..2a7362add 100644
--- a/drivers/net/enetc/enetc_rxtx.c
+++ b/drivers/net/enetc/enetc_rxtx.c
@@ -88,8 +88,9 @@ enetc_refill_rx_ring(struct enetc_bdr *rx_ring, const int buff_cnt)
rx_swbd = &rx_ring->q_swbd[i];
rxbd = ENETC_RXBD(*rx_ring, i);
for (j = 0; j < buff_cnt; j++) {
- rx_swbd->buffer_addr =
- rte_cpu_to_le_64(rte_mbuf_raw_alloc(rx_ring->mb_pool));
+ rx_swbd->buffer_addr = (void*)(uintptr_t)
+ rte_cpu_to_le_64((uint64_t)(uintptr_t)
+ rte_mbuf_raw_alloc(rx_ring->mb_pool));
rxbd->w.addr = (uint64_t)(uintptr_t)
rx_swbd->buffer_addr->buf_addr +
rx_swbd->buffer_addr->data_off;
--
2.21.0
^ permalink raw reply [flat|nested] 16+ messages in thread
* [dpdk-dev] [PATCH 2/2] net/enetc: fix big endian build
2019-04-09 19:49 ` [dpdk-dev] [PATCH 2/2] net/enetc: " Thomas Monjalon
@ 2019-04-09 19:49 ` Thomas Monjalon
0 siblings, 0 replies; 16+ messages in thread
From: Thomas Monjalon @ 2019-04-09 19:49 UTC (permalink / raw)
To: qiming.yang, wenzhuo.lu, ajit.khaparde, somnath.kotur,
Gagandeep Singh, Pankaj Chauhan
Cc: ferruh.yigit, dev, stable
Compilation was failing when using a big endian toolchain:
drivers/net/enetc/enetc_rxtx.c:92:21: error:
passing argument 1 of ‘rte_constant_bswap64’
makes integer from pointer without a cast
Fixes: 469c6111a799 ("net/enetc: enable Rx and Tx")
Cc: g.singh@nxp.com
Cc: stable@dpdk.org
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
drivers/net/enetc/enetc_rxtx.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/net/enetc/enetc_rxtx.c b/drivers/net/enetc/enetc_rxtx.c
index 631e2430d..2a7362add 100644
--- a/drivers/net/enetc/enetc_rxtx.c
+++ b/drivers/net/enetc/enetc_rxtx.c
@@ -88,8 +88,9 @@ enetc_refill_rx_ring(struct enetc_bdr *rx_ring, const int buff_cnt)
rx_swbd = &rx_ring->q_swbd[i];
rxbd = ENETC_RXBD(*rx_ring, i);
for (j = 0; j < buff_cnt; j++) {
- rx_swbd->buffer_addr =
- rte_cpu_to_le_64(rte_mbuf_raw_alloc(rx_ring->mb_pool));
+ rx_swbd->buffer_addr = (void*)(uintptr_t)
+ rte_cpu_to_le_64((uint64_t)(uintptr_t)
+ rte_mbuf_raw_alloc(rx_ring->mb_pool));
rxbd->w.addr = (uint64_t)(uintptr_t)
rx_swbd->buffer_addr->buf_addr +
rx_swbd->buffer_addr->data_off;
--
2.21.0
^ permalink raw reply [flat|nested] 16+ messages in thread
* [dpdk-dev] [PATCH v2 0/2] fix big endian build
2019-04-09 19:49 [dpdk-dev] [PATCH 0/2] fix big endian build Thomas Monjalon
` (2 preceding siblings ...)
2019-04-09 19:49 ` [dpdk-dev] [PATCH 2/2] net/enetc: " Thomas Monjalon
@ 2019-04-09 20:06 ` Thomas Monjalon
2019-04-09 20:06 ` Thomas Monjalon
` (2 more replies)
3 siblings, 3 replies; 16+ messages in thread
From: Thomas Monjalon @ 2019-04-09 20:06 UTC (permalink / raw)
Cc: dev
There are at least 4 issues when compiling with a big endian toolchain.
2 of them are fixed in this patchset.
The remaining ones are in ice and bnxt PMDs.
About ice, the error is:
drivers/net/ice/base/ice_flex_pipe.c:302:8: error:
‘state.entry_idx’ may be used uninitialized in this function
It is not obvious to fix, there may be few places where
a struct should be initialized. Please fix it soon.
About bnxt, the issue looks like a mistake reproduced several times:
drivers/net/bnxt/bnxt_ethdev.c:2652:19: error:
invalid use of void expression
rte_cpu_to_le_32(rte_write32(reg_base, (uint8_t *)bp->bar0 + win_off));
The pattern "rte_cpu_to_le_32(rte_write32(" can be seen 4 times.
The result of the endian conversion is never used.
Please fix it soon.
Thomas Monjalon (2):
mbuf: fix big endian build
net/enetc: fix big endian build
v2 for checkpatch
drivers/net/enetc/enetc_rxtx.c | 5 +++--
lib/librte_mbuf/rte_mbuf.h | 2 +-
2 files changed, 4 insertions(+), 3 deletions(-)
--
2.21.0
^ permalink raw reply [flat|nested] 16+ messages in thread
* [dpdk-dev] [PATCH v2 0/2] fix big endian build
2019-04-09 20:06 ` [dpdk-dev] [PATCH v2 0/2] " Thomas Monjalon
@ 2019-04-09 20:06 ` Thomas Monjalon
2019-04-09 20:06 ` [dpdk-dev] [PATCH v2 1/2] mbuf: " Thomas Monjalon
2019-04-09 20:06 ` [dpdk-dev] [PATCH v2 2/2] net/enetc: " Thomas Monjalon
2 siblings, 0 replies; 16+ messages in thread
From: Thomas Monjalon @ 2019-04-09 20:06 UTC (permalink / raw)
Cc: dev
There are at least 4 issues when compiling with a big endian toolchain.
2 of them are fixed in this patchset.
The remaining ones are in ice and bnxt PMDs.
About ice, the error is:
drivers/net/ice/base/ice_flex_pipe.c:302:8: error:
‘state.entry_idx’ may be used uninitialized in this function
It is not obvious to fix, there may be few places where
a struct should be initialized. Please fix it soon.
About bnxt, the issue looks like a mistake reproduced several times:
drivers/net/bnxt/bnxt_ethdev.c:2652:19: error:
invalid use of void expression
rte_cpu_to_le_32(rte_write32(reg_base, (uint8_t *)bp->bar0 + win_off));
The pattern "rte_cpu_to_le_32(rte_write32(" can be seen 4 times.
The result of the endian conversion is never used.
Please fix it soon.
Thomas Monjalon (2):
mbuf: fix big endian build
net/enetc: fix big endian build
v2 for checkpatch
drivers/net/enetc/enetc_rxtx.c | 5 +++--
lib/librte_mbuf/rte_mbuf.h | 2 +-
2 files changed, 4 insertions(+), 3 deletions(-)
--
2.21.0
^ permalink raw reply [flat|nested] 16+ messages in thread
* [dpdk-dev] [PATCH v2 1/2] mbuf: fix big endian build
2019-04-09 20:06 ` [dpdk-dev] [PATCH v2 0/2] " Thomas Monjalon
2019-04-09 20:06 ` Thomas Monjalon
@ 2019-04-09 20:06 ` Thomas Monjalon
2019-04-09 20:06 ` Thomas Monjalon
2019-04-09 22:55 ` Ananyev, Konstantin
2019-04-09 20:06 ` [dpdk-dev] [PATCH v2 2/2] net/enetc: " Thomas Monjalon
2 siblings, 2 replies; 16+ messages in thread
From: Thomas Monjalon @ 2019-04-09 20:06 UTC (permalink / raw)
To: Olivier Matz; +Cc: dev, konstantin.ananyev
Compilation was failing when using a big endian toolchain:
rte_mbuf.h:504:2: error: expected ',' or '}' before 'RTE_MBUF_L3_LEN_OFS'
Fixes: 8d9c2c3a1f01 ("mbuf: add function to generate raw Tx offload value")
Cc: konstantin.ananyev@intel.com
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
lib/librte_mbuf/rte_mbuf.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/librte_mbuf/rte_mbuf.h b/lib/librte_mbuf/rte_mbuf.h
index f7886dcb3..7dd2e7fb3 100644
--- a/lib/librte_mbuf/rte_mbuf.h
+++ b/lib/librte_mbuf/rte_mbuf.h
@@ -500,7 +500,7 @@ enum {
RTE_MBUF_OUTL2_LEN_BITS,
#if RTE_BYTE_ORDER == RTE_BIG_ENDIAN
RTE_MBUF_L2_LEN_OFS =
- sizeof(uint64_t) * CHAR_BIT - RTE_MBUF_L2_LEN_BITS
+ sizeof(uint64_t) * CHAR_BIT - RTE_MBUF_L2_LEN_BITS,
RTE_MBUF_L3_LEN_OFS = RTE_MBUF_L2_LEN_OFS - RTE_MBUF_L3_LEN_BITS,
RTE_MBUF_L4_LEN_OFS = RTE_MBUF_L3_LEN_OFS - RTE_MBUF_L4_LEN_BITS,
RTE_MBUF_TSO_SEGSZ_OFS = RTE_MBUF_L4_LEN_OFS - RTE_MBUF_TSO_SEGSZ_BITS,
--
2.21.0
^ permalink raw reply [flat|nested] 16+ messages in thread
* [dpdk-dev] [PATCH v2 1/2] mbuf: fix big endian build
2019-04-09 20:06 ` [dpdk-dev] [PATCH v2 1/2] mbuf: " Thomas Monjalon
@ 2019-04-09 20:06 ` Thomas Monjalon
2019-04-09 22:55 ` Ananyev, Konstantin
1 sibling, 0 replies; 16+ messages in thread
From: Thomas Monjalon @ 2019-04-09 20:06 UTC (permalink / raw)
To: Olivier Matz; +Cc: dev, konstantin.ananyev
Compilation was failing when using a big endian toolchain:
rte_mbuf.h:504:2: error: expected ',' or '}' before 'RTE_MBUF_L3_LEN_OFS'
Fixes: 8d9c2c3a1f01 ("mbuf: add function to generate raw Tx offload value")
Cc: konstantin.ananyev@intel.com
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
lib/librte_mbuf/rte_mbuf.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/librte_mbuf/rte_mbuf.h b/lib/librte_mbuf/rte_mbuf.h
index f7886dcb3..7dd2e7fb3 100644
--- a/lib/librte_mbuf/rte_mbuf.h
+++ b/lib/librte_mbuf/rte_mbuf.h
@@ -500,7 +500,7 @@ enum {
RTE_MBUF_OUTL2_LEN_BITS,
#if RTE_BYTE_ORDER == RTE_BIG_ENDIAN
RTE_MBUF_L2_LEN_OFS =
- sizeof(uint64_t) * CHAR_BIT - RTE_MBUF_L2_LEN_BITS
+ sizeof(uint64_t) * CHAR_BIT - RTE_MBUF_L2_LEN_BITS,
RTE_MBUF_L3_LEN_OFS = RTE_MBUF_L2_LEN_OFS - RTE_MBUF_L3_LEN_BITS,
RTE_MBUF_L4_LEN_OFS = RTE_MBUF_L3_LEN_OFS - RTE_MBUF_L4_LEN_BITS,
RTE_MBUF_TSO_SEGSZ_OFS = RTE_MBUF_L4_LEN_OFS - RTE_MBUF_TSO_SEGSZ_BITS,
--
2.21.0
^ permalink raw reply [flat|nested] 16+ messages in thread
* [dpdk-dev] [PATCH v2 2/2] net/enetc: fix big endian build
2019-04-09 20:06 ` [dpdk-dev] [PATCH v2 0/2] " Thomas Monjalon
2019-04-09 20:06 ` Thomas Monjalon
2019-04-09 20:06 ` [dpdk-dev] [PATCH v2 1/2] mbuf: " Thomas Monjalon
@ 2019-04-09 20:06 ` Thomas Monjalon
2019-04-09 20:06 ` Thomas Monjalon
2 siblings, 1 reply; 16+ messages in thread
From: Thomas Monjalon @ 2019-04-09 20:06 UTC (permalink / raw)
To: Gagandeep Singh, Pankaj Chauhan; +Cc: dev, stable
Compilation was failing when using a big endian toolchain:
drivers/net/enetc/enetc_rxtx.c:92:21: error:
passing argument 1 of 'rte_constant_bswap64'
makes integer from pointer without a cast
Fixes: 469c6111a799 ("net/enetc: enable Rx and Tx")
Cc: g.singh@nxp.com
Cc: stable@dpdk.org
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
drivers/net/enetc/enetc_rxtx.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/net/enetc/enetc_rxtx.c b/drivers/net/enetc/enetc_rxtx.c
index 631e2430d..ef0d7919f 100644
--- a/drivers/net/enetc/enetc_rxtx.c
+++ b/drivers/net/enetc/enetc_rxtx.c
@@ -88,8 +88,9 @@ enetc_refill_rx_ring(struct enetc_bdr *rx_ring, const int buff_cnt)
rx_swbd = &rx_ring->q_swbd[i];
rxbd = ENETC_RXBD(*rx_ring, i);
for (j = 0; j < buff_cnt; j++) {
- rx_swbd->buffer_addr =
- rte_cpu_to_le_64(rte_mbuf_raw_alloc(rx_ring->mb_pool));
+ rx_swbd->buffer_addr = (void *)(uintptr_t)
+ rte_cpu_to_le_64((uint64_t)(uintptr_t)
+ rte_mbuf_raw_alloc(rx_ring->mb_pool));
rxbd->w.addr = (uint64_t)(uintptr_t)
rx_swbd->buffer_addr->buf_addr +
rx_swbd->buffer_addr->data_off;
--
2.21.0
^ permalink raw reply [flat|nested] 16+ messages in thread
* [dpdk-dev] [PATCH v2 2/2] net/enetc: fix big endian build
2019-04-09 20:06 ` [dpdk-dev] [PATCH v2 2/2] net/enetc: " Thomas Monjalon
@ 2019-04-09 20:06 ` Thomas Monjalon
0 siblings, 0 replies; 16+ messages in thread
From: Thomas Monjalon @ 2019-04-09 20:06 UTC (permalink / raw)
To: Gagandeep Singh, Pankaj Chauhan; +Cc: dev, stable
Compilation was failing when using a big endian toolchain:
drivers/net/enetc/enetc_rxtx.c:92:21: error:
passing argument 1 of 'rte_constant_bswap64'
makes integer from pointer without a cast
Fixes: 469c6111a799 ("net/enetc: enable Rx and Tx")
Cc: g.singh@nxp.com
Cc: stable@dpdk.org
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
drivers/net/enetc/enetc_rxtx.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/net/enetc/enetc_rxtx.c b/drivers/net/enetc/enetc_rxtx.c
index 631e2430d..ef0d7919f 100644
--- a/drivers/net/enetc/enetc_rxtx.c
+++ b/drivers/net/enetc/enetc_rxtx.c
@@ -88,8 +88,9 @@ enetc_refill_rx_ring(struct enetc_bdr *rx_ring, const int buff_cnt)
rx_swbd = &rx_ring->q_swbd[i];
rxbd = ENETC_RXBD(*rx_ring, i);
for (j = 0; j < buff_cnt; j++) {
- rx_swbd->buffer_addr =
- rte_cpu_to_le_64(rte_mbuf_raw_alloc(rx_ring->mb_pool));
+ rx_swbd->buffer_addr = (void *)(uintptr_t)
+ rte_cpu_to_le_64((uint64_t)(uintptr_t)
+ rte_mbuf_raw_alloc(rx_ring->mb_pool));
rxbd->w.addr = (uint64_t)(uintptr_t)
rx_swbd->buffer_addr->buf_addr +
rx_swbd->buffer_addr->data_off;
--
2.21.0
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [dpdk-dev] [PATCH v2 1/2] mbuf: fix big endian build
2019-04-09 20:06 ` [dpdk-dev] [PATCH v2 1/2] mbuf: " Thomas Monjalon
2019-04-09 20:06 ` Thomas Monjalon
@ 2019-04-09 22:55 ` Ananyev, Konstantin
2019-04-09 22:55 ` Ananyev, Konstantin
2019-04-22 13:28 ` Thomas Monjalon
1 sibling, 2 replies; 16+ messages in thread
From: Ananyev, Konstantin @ 2019-04-09 22:55 UTC (permalink / raw)
To: Thomas Monjalon, Olivier Matz; +Cc: dev
>
> Compilation was failing when using a big endian toolchain:
>
> rte_mbuf.h:504:2: error: expected ',' or '}' before 'RTE_MBUF_L3_LEN_OFS'
>
> Fixes: 8d9c2c3a1f01 ("mbuf: add function to generate raw Tx offload value")
> Cc: konstantin.ananyev@intel.com
>
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> ---
> lib/librte_mbuf/rte_mbuf.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/lib/librte_mbuf/rte_mbuf.h b/lib/librte_mbuf/rte_mbuf.h
> index f7886dcb3..7dd2e7fb3 100644
> --- a/lib/librte_mbuf/rte_mbuf.h
> +++ b/lib/librte_mbuf/rte_mbuf.h
> @@ -500,7 +500,7 @@ enum {
> RTE_MBUF_OUTL2_LEN_BITS,
> #if RTE_BYTE_ORDER == RTE_BIG_ENDIAN
> RTE_MBUF_L2_LEN_OFS =
> - sizeof(uint64_t) * CHAR_BIT - RTE_MBUF_L2_LEN_BITS
> + sizeof(uint64_t) * CHAR_BIT - RTE_MBUF_L2_LEN_BITS,
> RTE_MBUF_L3_LEN_OFS = RTE_MBUF_L2_LEN_OFS - RTE_MBUF_L3_LEN_BITS,
> RTE_MBUF_L4_LEN_OFS = RTE_MBUF_L3_LEN_OFS - RTE_MBUF_L4_LEN_BITS,
> RTE_MBUF_TSO_SEGSZ_OFS = RTE_MBUF_L4_LEN_OFS - RTE_MBUF_TSO_SEGSZ_BITS,
> --
Thanks for fixing
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
> 2.21.0
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [dpdk-dev] [PATCH v2 1/2] mbuf: fix big endian build
2019-04-09 22:55 ` Ananyev, Konstantin
@ 2019-04-09 22:55 ` Ananyev, Konstantin
2019-04-22 13:28 ` Thomas Monjalon
1 sibling, 0 replies; 16+ messages in thread
From: Ananyev, Konstantin @ 2019-04-09 22:55 UTC (permalink / raw)
To: Thomas Monjalon, Olivier Matz; +Cc: dev
>
> Compilation was failing when using a big endian toolchain:
>
> rte_mbuf.h:504:2: error: expected ',' or '}' before 'RTE_MBUF_L3_LEN_OFS'
>
> Fixes: 8d9c2c3a1f01 ("mbuf: add function to generate raw Tx offload value")
> Cc: konstantin.ananyev@intel.com
>
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> ---
> lib/librte_mbuf/rte_mbuf.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/lib/librte_mbuf/rte_mbuf.h b/lib/librte_mbuf/rte_mbuf.h
> index f7886dcb3..7dd2e7fb3 100644
> --- a/lib/librte_mbuf/rte_mbuf.h
> +++ b/lib/librte_mbuf/rte_mbuf.h
> @@ -500,7 +500,7 @@ enum {
> RTE_MBUF_OUTL2_LEN_BITS,
> #if RTE_BYTE_ORDER == RTE_BIG_ENDIAN
> RTE_MBUF_L2_LEN_OFS =
> - sizeof(uint64_t) * CHAR_BIT - RTE_MBUF_L2_LEN_BITS
> + sizeof(uint64_t) * CHAR_BIT - RTE_MBUF_L2_LEN_BITS,
> RTE_MBUF_L3_LEN_OFS = RTE_MBUF_L2_LEN_OFS - RTE_MBUF_L3_LEN_BITS,
> RTE_MBUF_L4_LEN_OFS = RTE_MBUF_L3_LEN_OFS - RTE_MBUF_L4_LEN_BITS,
> RTE_MBUF_TSO_SEGSZ_OFS = RTE_MBUF_L4_LEN_OFS - RTE_MBUF_TSO_SEGSZ_BITS,
> --
Thanks for fixing
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
> 2.21.0
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [dpdk-dev] [PATCH v2 1/2] mbuf: fix big endian build
2019-04-09 22:55 ` Ananyev, Konstantin
2019-04-09 22:55 ` Ananyev, Konstantin
@ 2019-04-22 13:28 ` Thomas Monjalon
2019-04-22 13:28 ` Thomas Monjalon
1 sibling, 1 reply; 16+ messages in thread
From: Thomas Monjalon @ 2019-04-22 13:28 UTC (permalink / raw)
To: dev; +Cc: Ananyev, Konstantin, Olivier Matz
> > Compilation was failing when using a big endian toolchain:
> >
> > rte_mbuf.h:504:2: error: expected ',' or '}' before 'RTE_MBUF_L3_LEN_OFS'
> >
> > Fixes: 8d9c2c3a1f01 ("mbuf: add function to generate raw Tx offload value")
> > Cc: konstantin.ananyev@intel.com
> >
> > Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
>
> Thanks for fixing
> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Applied alone because patch 2 has been integrated in another patchset.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [dpdk-dev] [PATCH v2 1/2] mbuf: fix big endian build
2019-04-22 13:28 ` Thomas Monjalon
@ 2019-04-22 13:28 ` Thomas Monjalon
0 siblings, 0 replies; 16+ messages in thread
From: Thomas Monjalon @ 2019-04-22 13:28 UTC (permalink / raw)
To: dev; +Cc: Ananyev, Konstantin, Olivier Matz
> > Compilation was failing when using a big endian toolchain:
> >
> > rte_mbuf.h:504:2: error: expected ',' or '}' before 'RTE_MBUF_L3_LEN_OFS'
> >
> > Fixes: 8d9c2c3a1f01 ("mbuf: add function to generate raw Tx offload value")
> > Cc: konstantin.ananyev@intel.com
> >
> > Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
>
> Thanks for fixing
> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Applied alone because patch 2 has been integrated in another patchset.
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2019-04-22 13:28 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-09 19:49 [dpdk-dev] [PATCH 0/2] fix big endian build Thomas Monjalon
2019-04-09 19:49 ` Thomas Monjalon
2019-04-09 19:49 ` [dpdk-dev] [PATCH 1/2] mbuf: " Thomas Monjalon
2019-04-09 19:49 ` Thomas Monjalon
2019-04-09 19:49 ` [dpdk-dev] [PATCH 2/2] net/enetc: " Thomas Monjalon
2019-04-09 19:49 ` Thomas Monjalon
2019-04-09 20:06 ` [dpdk-dev] [PATCH v2 0/2] " Thomas Monjalon
2019-04-09 20:06 ` Thomas Monjalon
2019-04-09 20:06 ` [dpdk-dev] [PATCH v2 1/2] mbuf: " Thomas Monjalon
2019-04-09 20:06 ` Thomas Monjalon
2019-04-09 22:55 ` Ananyev, Konstantin
2019-04-09 22:55 ` Ananyev, Konstantin
2019-04-22 13:28 ` Thomas Monjalon
2019-04-22 13:28 ` Thomas Monjalon
2019-04-09 20:06 ` [dpdk-dev] [PATCH v2 2/2] net/enetc: " Thomas Monjalon
2019-04-09 20:06 ` Thomas Monjalon
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).