netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [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).