* Re: [dpdk-dev] [PATCH v2 2/2] net/enetc: fix big endian build
@ 2019-04-10 11:27 Gagandeep Singh
2019-04-10 11:27 ` Gagandeep Singh
2019-04-10 11:43 ` Thomas Monjalon
0 siblings, 2 replies; 6+ messages in thread
From: Gagandeep Singh @ 2019-04-10 11:27 UTC (permalink / raw)
To: Thomas Monjalon, Pankaj Chauhan; +Cc: dev, stable
> -----Original Message-----
> From: Thomas Monjalon <thomas@monjalon.net>
> Sent: Wednesday, April 10, 2019 1:37 AM
> To: Gagandeep Singh <G.Singh@nxp.com>; Pankaj Chauhan
> <pankaj.chauhan@nxp.com>
> Cc: dev@dpdk.org; stable@dpdk.org
> Subject: [EXT] [PATCH v2 2/2] net/enetc: fix big endian build
>
> WARNING: This email was created outside of NXP. DO NOT CLICK links or
> attachments unless you recognize the sender and know the content is safe.
>
>
>
> 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
Hi Thomas,
I have sent a patch-set for ENETC driver having some changes in "enetc_refill_rx_ring".
Is it ok for you if I can merge your changes with my patch-set and push them in v2?
https://patches.dpdk.org/project/dpdk/list/?series=4173
Thanks,
Gagan
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [dpdk-dev] [PATCH v2 2/2] net/enetc: fix big endian build
2019-04-10 11:27 [dpdk-dev] [PATCH v2 2/2] net/enetc: fix big endian build Gagandeep Singh
@ 2019-04-10 11:27 ` Gagandeep Singh
2019-04-10 11:43 ` Thomas Monjalon
1 sibling, 0 replies; 6+ messages in thread
From: Gagandeep Singh @ 2019-04-10 11:27 UTC (permalink / raw)
To: Thomas Monjalon, Pankaj Chauhan; +Cc: dev, stable
> -----Original Message-----
> From: Thomas Monjalon <thomas@monjalon.net>
> Sent: Wednesday, April 10, 2019 1:37 AM
> To: Gagandeep Singh <G.Singh@nxp.com>; Pankaj Chauhan
> <pankaj.chauhan@nxp.com>
> Cc: dev@dpdk.org; stable@dpdk.org
> Subject: [EXT] [PATCH v2 2/2] net/enetc: fix big endian build
>
> WARNING: This email was created outside of NXP. DO NOT CLICK links or
> attachments unless you recognize the sender and know the content is safe.
>
>
>
> 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
Hi Thomas,
I have sent a patch-set for ENETC driver having some changes in "enetc_refill_rx_ring".
Is it ok for you if I can merge your changes with my patch-set and push them in v2?
https://patches.dpdk.org/project/dpdk/list/?series=4173
Thanks,
Gagan
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [dpdk-dev] [PATCH v2 2/2] net/enetc: fix big endian build
2019-04-10 11:27 [dpdk-dev] [PATCH v2 2/2] net/enetc: fix big endian build Gagandeep Singh
2019-04-10 11:27 ` Gagandeep Singh
@ 2019-04-10 11:43 ` Thomas Monjalon
2019-04-10 11:43 ` Thomas Monjalon
1 sibling, 1 reply; 6+ messages in thread
From: Thomas Monjalon @ 2019-04-10 11:43 UTC (permalink / raw)
To: Gagandeep Singh; +Cc: Pankaj Chauhan, dev, stable, ferruh.yigit
10/04/2019 13:27, Gagandeep Singh:
> I have sent a patch-set for ENETC driver having some changes in "enetc_refill_rx_ring".
> Is it ok for you if I can merge your changes with my patch-set and push them in v2?
>
> https://patches.dpdk.org/project/dpdk/list/?series=4173
Yes, no problem, at the condition it is integrated in 19.05-rc2.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [dpdk-dev] [PATCH 0/2] fix big endian build
@ 2019-04-09 19:49 Thomas Monjalon
2019-04-09 20:06 ` [dpdk-dev] [PATCH v2 " Thomas Monjalon
0 siblings, 1 reply; 6+ 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] 6+ messages in thread
* [dpdk-dev] [PATCH v2 0/2] fix big endian build
2019-04-09 19:49 [dpdk-dev] [PATCH 0/2] " Thomas Monjalon
@ 2019-04-09 20:06 ` Thomas Monjalon
2019-04-09 20:06 ` [dpdk-dev] [PATCH v2 2/2] net/enetc: " Thomas Monjalon
0 siblings, 1 reply; 6+ 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] 6+ messages in thread
* [dpdk-dev] [PATCH v2 2/2] net/enetc: fix big endian build
2019-04-09 20:06 ` [dpdk-dev] [PATCH v2 " Thomas Monjalon
@ 2019-04-09 20:06 ` Thomas Monjalon
2019-04-09 20:06 ` Thomas Monjalon
0 siblings, 1 reply; 6+ 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] 6+ 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; 6+ 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] 6+ messages in thread
end of thread, other threads:[~2019-04-10 11:43 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-10 11:27 [dpdk-dev] [PATCH v2 2/2] net/enetc: fix big endian build Gagandeep Singh
2019-04-10 11:27 ` Gagandeep Singh
2019-04-10 11:43 ` Thomas Monjalon
2019-04-10 11:43 ` Thomas Monjalon
-- strict thread matches above, loose matches on Subject: below --
2019-04-09 19:49 [dpdk-dev] [PATCH 0/2] " Thomas Monjalon
2019-04-09 20:06 ` [dpdk-dev] [PATCH v2 " 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).