* [PATCH] mlxsw: fix warnings for big-endian 32-bit dma_addr_t
@ 2015-10-06 21:47 Arnd Bergmann
2015-10-07 6:43 ` Jiri Pirko
2015-10-07 6:53 ` Joe Perches
0 siblings, 2 replies; 7+ messages in thread
From: Arnd Bergmann @ 2015-10-06 21:47 UTC (permalink / raw)
To: netdev
Cc: davem, Jiri Pirko, Ido Schimmel, linux-kernel, Elad Raz,
Scott Feldman, linux-arm-kernel
The recently added mlxsw driver produces warnings in ARM
allmodconfig:
drivers/net/ethernet/mellanox/mlxsw/pci.c: In function 'mlxsw_pci_cmd_exec':
drivers/net/ethernet/mellanox/mlxsw/pci.c:1585:59: warning: right shift count >= width of type [-Wshift-count-overflow]
linux/byteorder/big_endian.h:38:51: note: in definition of macro '__cpu_to_be32'
drivers/net/ethernet/mellanox/mlxsw/pci.c:76:2: note: in expansion of macro 'iowrite32be'
This changes the type of the local variable to u64, which gets rid of the
warning and seems nicer than adding #ifdefs.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Fixes: eda6500a987a "mlxsw: Add PCI bus implementation"
diff --git a/drivers/net/ethernet/mellanox/mlxsw/pci.c b/drivers/net/ethernet/mellanox/mlxsw/pci.c
index 462cea31ecbb..cd11e3591741 100644
--- a/drivers/net/ethernet/mellanox/mlxsw/pci.c
+++ b/drivers/net/ethernet/mellanox/mlxsw/pci.c
@@ -1567,8 +1567,8 @@ static int mlxsw_pci_cmd_exec(void *bus_priv, u16 opcode, u8 opcode_mod,
u8 *p_status)
{
struct mlxsw_pci *mlxsw_pci = bus_priv;
- dma_addr_t in_mapaddr = mlxsw_pci->cmd.in_mbox.mapaddr;
- dma_addr_t out_mapaddr = mlxsw_pci->cmd.out_mbox.mapaddr;
+ u64 in_mapaddr = mlxsw_pci->cmd.in_mbox.mapaddr;
+ u64 out_mapaddr = mlxsw_pci->cmd.out_mbox.mapaddr;
bool evreq = mlxsw_pci->cmd.nopoll;
unsigned long timeout = msecs_to_jiffies(MLXSW_PCI_CIR_TIMEOUT_MSECS);
bool *p_wait_done = &mlxsw_pci->cmd.wait_done;
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH] mlxsw: fix warnings for big-endian 32-bit dma_addr_t
2015-10-06 21:47 [PATCH] mlxsw: fix warnings for big-endian 32-bit dma_addr_t Arnd Bergmann
@ 2015-10-07 6:43 ` Jiri Pirko
2015-10-07 6:53 ` Joe Perches
1 sibling, 0 replies; 7+ messages in thread
From: Jiri Pirko @ 2015-10-07 6:43 UTC (permalink / raw)
To: Arnd Bergmann
Cc: netdev, davem, Jiri Pirko, Ido Schimmel, linux-kernel, Elad Raz,
Scott Feldman, linux-arm-kernel
Tue, Oct 06, 2015 at 11:47:44PM CEST, arnd@arndb.de wrote:
>The recently added mlxsw driver produces warnings in ARM
>allmodconfig:
>
>drivers/net/ethernet/mellanox/mlxsw/pci.c: In function 'mlxsw_pci_cmd_exec':
>drivers/net/ethernet/mellanox/mlxsw/pci.c:1585:59: warning: right shift count >= width of type [-Wshift-count-overflow]
>linux/byteorder/big_endian.h:38:51: note: in definition of macro '__cpu_to_be32'
>drivers/net/ethernet/mellanox/mlxsw/pci.c:76:2: note: in expansion of macro 'iowrite32be'
>
>This changes the type of the local variable to u64, which gets rid of the
>warning and seems nicer than adding #ifdefs.
>
>Signed-off-by: Arnd Bergmann <arnd@arndb.de>
>Fixes: eda6500a987a "mlxsw: Add PCI bus implementation"
Acked-by: Jiri Pirko <jiri@mellanox.com>
Thanks!
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] mlxsw: fix warnings for big-endian 32-bit dma_addr_t
2015-10-06 21:47 [PATCH] mlxsw: fix warnings for big-endian 32-bit dma_addr_t Arnd Bergmann
2015-10-07 6:43 ` Jiri Pirko
@ 2015-10-07 6:53 ` Joe Perches
2015-10-07 6:56 ` Jiri Pirko
2015-10-07 6:58 ` [PATCH v2] " Arnd Bergmann
1 sibling, 2 replies; 7+ messages in thread
From: Joe Perches @ 2015-10-07 6:53 UTC (permalink / raw)
To: Arnd Bergmann
Cc: netdev, davem, Jiri Pirko, Ido Schimmel, linux-kernel, Elad Raz,
Scott Feldman, linux-arm-kernel
On Tue, 2015-10-06 at 23:47 +0200, Arnd Bergmann wrote:
> The recently added mlxsw driver produces warnings in ARM
> allmodconfig:
>
> drivers/net/ethernet/mellanox/mlxsw/pci.c: In function 'mlxsw_pci_cmd_exec':
> drivers/net/ethernet/mellanox/mlxsw/pci.c:1585:59: warning: right shift count >= width of type [-Wshift-count-overflow]
> linux/byteorder/big_endian.h:38:51: note: in definition of macro '__cpu_to_be32'
> drivers/net/ethernet/mellanox/mlxsw/pci.c:76:2: note: in expansion of macro 'iowrite32be'
>
> This changes the type of the local variable to u64, which gets rid of the
> warning and seems nicer than adding #ifdefs.
Using upper_32_bits instead of the shift might be
nicer than changing the type.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] mlxsw: fix warnings for big-endian 32-bit dma_addr_t
2015-10-07 6:53 ` Joe Perches
@ 2015-10-07 6:56 ` Jiri Pirko
2015-10-07 6:58 ` [PATCH v2] " Arnd Bergmann
1 sibling, 0 replies; 7+ messages in thread
From: Jiri Pirko @ 2015-10-07 6:56 UTC (permalink / raw)
To: Joe Perches
Cc: Arnd Bergmann, netdev, davem, Jiri Pirko, Ido Schimmel,
linux-kernel, Elad Raz, Scott Feldman, linux-arm-kernel
Wed, Oct 07, 2015 at 08:53:02AM CEST, joe@perches.com wrote:
>On Tue, 2015-10-06 at 23:47 +0200, Arnd Bergmann wrote:
>> The recently added mlxsw driver produces warnings in ARM
>> allmodconfig:
>>
>> drivers/net/ethernet/mellanox/mlxsw/pci.c: In function 'mlxsw_pci_cmd_exec':
>> drivers/net/ethernet/mellanox/mlxsw/pci.c:1585:59: warning: right shift count >= width of type [-Wshift-count-overflow]
>> linux/byteorder/big_endian.h:38:51: note: in definition of macro '__cpu_to_be32'
>> drivers/net/ethernet/mellanox/mlxsw/pci.c:76:2: note: in expansion of macro 'iowrite32be'
>>
>> This changes the type of the local variable to u64, which gets rid of the
>> warning and seems nicer than adding #ifdefs.
>
>Using upper_32_bits instead of the shift might be
>nicer than changing the type.
Wasn't aware of this macro. Indeed this looks more appropriate. Thanks!
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v2] mlxsw: fix warnings for big-endian 32-bit dma_addr_t
2015-10-07 6:53 ` Joe Perches
2015-10-07 6:56 ` Jiri Pirko
@ 2015-10-07 6:58 ` Arnd Bergmann
2015-10-07 7:00 ` Jiri Pirko
2015-10-08 12:07 ` David Miller
1 sibling, 2 replies; 7+ messages in thread
From: Arnd Bergmann @ 2015-10-07 6:58 UTC (permalink / raw)
To: Joe Perches
Cc: netdev, davem, Jiri Pirko, Ido Schimmel, linux-kernel, Elad Raz,
Scott Feldman, linux-arm-kernel
The recently added mlxsw driver produces warnings in ARM
allmodconfig:
drivers/net/ethernet/mellanox/mlxsw/pci.c: In function 'mlxsw_pci_cmd_exec':
drivers/net/ethernet/mellanox/mlxsw/pci.c:1585:59: warning: right shift count >= width of type [-Wshift-count-overflow]
linux/byteorder/big_endian.h:38:51: note: in definition of macro '__cpu_to_be32'
drivers/net/ethernet/mellanox/mlxsw/pci.c:76:2: note: in expansion of macro 'iowrite32be'
This uses upper_32_bits() to extract the bits while avoiding that warning.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Jiri Pirko <jiri@mellanox.com>
Fixes: eda6500a987a "mlxsw: Add PCI bus implementation"
---
I've kept Jiri's Ack despite having in effect a completely different
patch here, as the effect and the changelog is the same for practical purposes.
Hope that's ok.
diff --git a/drivers/net/ethernet/mellanox/mlxsw/pci.c b/drivers/net/ethernet/mellanox/mlxsw/pci.c
index 462cea31ecbb..cef866c37648 100644
--- a/drivers/net/ethernet/mellanox/mlxsw/pci.c
+++ b/drivers/net/ethernet/mellanox/mlxsw/pci.c
@@ -1582,11 +1582,11 @@ static int mlxsw_pci_cmd_exec(void *bus_priv, u16 opcode, u8 opcode_mod,
if (in_mbox)
memcpy(mlxsw_pci->cmd.in_mbox.buf, in_mbox, in_mbox_size);
- mlxsw_pci_write32(mlxsw_pci, CIR_IN_PARAM_HI, in_mapaddr >> 32);
- mlxsw_pci_write32(mlxsw_pci, CIR_IN_PARAM_LO, in_mapaddr);
+ mlxsw_pci_write32(mlxsw_pci, CIR_IN_PARAM_HI, upper_32_bits(in_mapaddr));
+ mlxsw_pci_write32(mlxsw_pci, CIR_IN_PARAM_LO, lower_32_bits(in_mapaddr));
- mlxsw_pci_write32(mlxsw_pci, CIR_OUT_PARAM_HI, out_mapaddr >> 32);
- mlxsw_pci_write32(mlxsw_pci, CIR_OUT_PARAM_LO, out_mapaddr);
+ mlxsw_pci_write32(mlxsw_pci, CIR_OUT_PARAM_HI, upper_32_bits(out_mapaddr));
+ mlxsw_pci_write32(mlxsw_pci, CIR_OUT_PARAM_LO, lower_32_bits(out_mapaddr));
mlxsw_pci_write32(mlxsw_pci, CIR_IN_MODIFIER, in_mod);
mlxsw_pci_write32(mlxsw_pci, CIR_TOKEN, 0);
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v2] mlxsw: fix warnings for big-endian 32-bit dma_addr_t
2015-10-07 6:58 ` [PATCH v2] " Arnd Bergmann
@ 2015-10-07 7:00 ` Jiri Pirko
2015-10-08 12:07 ` David Miller
1 sibling, 0 replies; 7+ messages in thread
From: Jiri Pirko @ 2015-10-07 7:00 UTC (permalink / raw)
To: Arnd Bergmann
Cc: Joe Perches, netdev, davem, Jiri Pirko, Ido Schimmel,
linux-kernel, Elad Raz, Scott Feldman, linux-arm-kernel
Wed, Oct 07, 2015 at 08:58:34AM CEST, arnd@arndb.de wrote:
>The recently added mlxsw driver produces warnings in ARM
>allmodconfig:
>
>drivers/net/ethernet/mellanox/mlxsw/pci.c: In function 'mlxsw_pci_cmd_exec':
>drivers/net/ethernet/mellanox/mlxsw/pci.c:1585:59: warning: right shift count >= width of type [-Wshift-count-overflow]
>linux/byteorder/big_endian.h:38:51: note: in definition of macro '__cpu_to_be32'
>drivers/net/ethernet/mellanox/mlxsw/pci.c:76:2: note: in expansion of macro 'iowrite32be'
>
>This uses upper_32_bits() to extract the bits while avoiding that warning.
>
>Signed-off-by: Arnd Bergmann <arnd@arndb.de>
>Acked-by: Jiri Pirko <jiri@mellanox.com>
>Fixes: eda6500a987a "mlxsw: Add PCI bus implementation"
>---
>I've kept Jiri's Ack despite having in effect a completely different
>patch here, as the effect and the changelog is the same for practical purposes.
>Hope that's ok.
It's ok, thanks.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2] mlxsw: fix warnings for big-endian 32-bit dma_addr_t
2015-10-07 6:58 ` [PATCH v2] " Arnd Bergmann
2015-10-07 7:00 ` Jiri Pirko
@ 2015-10-08 12:07 ` David Miller
1 sibling, 0 replies; 7+ messages in thread
From: David Miller @ 2015-10-08 12:07 UTC (permalink / raw)
To: arnd
Cc: joe, netdev, jiri, idosch, linux-kernel, eladr, sfeldma,
linux-arm-kernel
From: Arnd Bergmann <arnd@arndb.de>
Date: Wed, 07 Oct 2015 08:58:34 +0200
> The recently added mlxsw driver produces warnings in ARM
> allmodconfig:
>
> drivers/net/ethernet/mellanox/mlxsw/pci.c: In function 'mlxsw_pci_cmd_exec':
> drivers/net/ethernet/mellanox/mlxsw/pci.c:1585:59: warning: right shift count >= width of type [-Wshift-count-overflow]
> linux/byteorder/big_endian.h:38:51: note: in definition of macro '__cpu_to_be32'
> drivers/net/ethernet/mellanox/mlxsw/pci.c:76:2: note: in expansion of macro 'iowrite32be'
>
> This uses upper_32_bits() to extract the bits while avoiding that warning.
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> Acked-by: Jiri Pirko <jiri@mellanox.com>
> Fixes: eda6500a987a "mlxsw: Add PCI bus implementation"
Applied, thanks.
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2015-10-08 11:51 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-06 21:47 [PATCH] mlxsw: fix warnings for big-endian 32-bit dma_addr_t Arnd Bergmann
2015-10-07 6:43 ` Jiri Pirko
2015-10-07 6:53 ` Joe Perches
2015-10-07 6:56 ` Jiri Pirko
2015-10-07 6:58 ` [PATCH v2] " Arnd Bergmann
2015-10-07 7:00 ` Jiri Pirko
2015-10-08 12:07 ` David Miller
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).