* [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).