linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next 0/5] TI Ethernet driver warnings fixes
@ 2018-05-21 18:45 Florian Fainelli
  2018-05-21 18:45 ` [PATCH net-next 1/5] ti: ethernet: cpdma: Use correct format for genpool_* Florian Fainelli
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Florian Fainelli @ 2018-05-21 18:45 UTC (permalink / raw)
  To: netdev
  Cc: Florian Fainelli, Grygorii Strashko, David S. Miller,
	Ivan Khoronzhuk, Andrew Morton, Keerthy, Bhumika Goyal,
	Hernán Gonzalez, Richard Cochran, Lukas Wunner, Rob Herring,
	open list:TI ETHERNET SWITCH DRIVER (CPSW),
	open list

Hi all,

This patch series attempts to fix properly the warnings observed with turning
on COMPILE_TEST and TI Ethernet drivers on 64-bit hosts.

Since I don't have any of this hardware, please review carefully for possible
breakage!

Thank you!

Florian Fainelli (5):
  ti: ethernet: cpdma: Use correct format for genpool_*
  net: ethernet: ti: cpts: Fix timestamp print
  net: ethernet: ti: cpsw: Fix cpsw_add_ch_strings() printk format
  net: ethernet: davinci_emac: Fix printing of base address
  ti: ethernet: davinci: Fix cast to int warnings

 drivers/net/ethernet/ti/cpsw.c          |  4 ++--
 drivers/net/ethernet/ti/cpts.c          |  3 ++-
 drivers/net/ethernet/ti/davinci_cpdma.c | 10 +++++-----
 drivers/net/ethernet/ti/davinci_emac.c  |  4 ++--
 4 files changed, 11 insertions(+), 10 deletions(-)

-- 
2.14.1

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH net-next 1/5] ti: ethernet: cpdma: Use correct format for genpool_*
  2018-05-21 18:45 [PATCH net-next 0/5] TI Ethernet driver warnings fixes Florian Fainelli
@ 2018-05-21 18:45 ` Florian Fainelli
  2018-05-21 18:45 ` [PATCH net-next 2/5] net: ethernet: ti: cpts: Fix timestamp print Florian Fainelli
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Florian Fainelli @ 2018-05-21 18:45 UTC (permalink / raw)
  To: netdev
  Cc: Florian Fainelli, Grygorii Strashko, David S. Miller,
	Ivan Khoronzhuk, Andrew Morton, Keerthy, Bhumika Goyal,
	Hernán Gonzalez, Richard Cochran, Lukas Wunner, Rob Herring,
	open list:TI ETHERNET SWITCH DRIVER (CPSW),
	open list

Now that we can compile davinci_cpdma.c on 64-bit hosts, we can see that
the format used for printing a size_t type is incorrect, use %zd
accordingly.

Fixes: aeec3021043b ("net: ethernet: ti: cpdma: remove used_desc counter")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
---
 drivers/net/ethernet/ti/davinci_cpdma.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/ti/davinci_cpdma.c b/drivers/net/ethernet/ti/davinci_cpdma.c
index 31ae04117f0a..9ec49213de5e 100644
--- a/drivers/net/ethernet/ti/davinci_cpdma.c
+++ b/drivers/net/ethernet/ti/davinci_cpdma.c
@@ -191,7 +191,7 @@ static void cpdma_desc_pool_destroy(struct cpdma_ctlr *ctlr)
 		return;
 
 	WARN(gen_pool_size(pool->gen_pool) != gen_pool_avail(pool->gen_pool),
-	     "cpdma_desc_pool size %d != avail %d",
+	     "cpdma_desc_pool size %zd != avail %zd",
 	     gen_pool_size(pool->gen_pool),
 	     gen_pool_avail(pool->gen_pool));
 	if (pool->cpumap)
-- 
2.14.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH net-next 2/5] net: ethernet: ti: cpts: Fix timestamp print
  2018-05-21 18:45 [PATCH net-next 0/5] TI Ethernet driver warnings fixes Florian Fainelli
  2018-05-21 18:45 ` [PATCH net-next 1/5] ti: ethernet: cpdma: Use correct format for genpool_* Florian Fainelli
@ 2018-05-21 18:45 ` Florian Fainelli
  2018-05-21 18:45 ` [PATCH net-next 3/5] net: ethernet: ti: cpsw: Fix cpsw_add_ch_strings() printk format Florian Fainelli
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Florian Fainelli @ 2018-05-21 18:45 UTC (permalink / raw)
  To: netdev
  Cc: Florian Fainelli, Grygorii Strashko, David S. Miller,
	Ivan Khoronzhuk, Andrew Morton, Keerthy, Bhumika Goyal,
	Hernán Gonzalez, Richard Cochran, Lukas Wunner, Rob Herring,
	open list:TI ETHERNET SWITCH DRIVER (CPSW),
	open list

On 64-bit hosts we will get the following warning:

drivers/net/ethernet/ti/cpts.c: In function 'cpts_overflow_check':
drivers/net/ethernet/ti/cpts.c:297:11: warning: format '%lld' expects
argument of type 'long long int', but argument 3 has type
'__kernel_time_t {aka long int}' [-Wformat=]
  pr_debug("cpts overflow check at %lld.%09lu\n", ts.tv_sec,
ts.tv_nsec);

Fix this by using an appropriate casting that works on all bit sizes.

Fixes: a5c79c26e168 ("ptp: cpts: convert to the 64 bit get/set time methods.")
Fixes: 87c0e764d43a ("cpts: introduce time stamping code and a PTP hardware clock.")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
---
 drivers/net/ethernet/ti/cpts.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/ti/cpts.c b/drivers/net/ethernet/ti/cpts.c
index 7842f094f2ef..6f63c8729afc 100644
--- a/drivers/net/ethernet/ti/cpts.c
+++ b/drivers/net/ethernet/ti/cpts.c
@@ -294,7 +294,8 @@ static long cpts_overflow_check(struct ptp_clock_info *ptp)
 		delay = CPTS_SKB_TX_WORK_TIMEOUT;
 	spin_unlock_irqrestore(&cpts->lock, flags);
 
-	pr_debug("cpts overflow check at %lld.%09lu\n", ts.tv_sec, ts.tv_nsec);
+	pr_debug("cpts overflow check at %lld.%09ld\n",
+		 (long long)ts.tv_sec, ts.tv_nsec);
 	return (long)delay;
 }
 
-- 
2.14.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH net-next 3/5] net: ethernet: ti: cpsw: Fix cpsw_add_ch_strings() printk format
  2018-05-21 18:45 [PATCH net-next 0/5] TI Ethernet driver warnings fixes Florian Fainelli
  2018-05-21 18:45 ` [PATCH net-next 1/5] ti: ethernet: cpdma: Use correct format for genpool_* Florian Fainelli
  2018-05-21 18:45 ` [PATCH net-next 2/5] net: ethernet: ti: cpts: Fix timestamp print Florian Fainelli
@ 2018-05-21 18:45 ` Florian Fainelli
  2018-05-21 18:45 ` [PATCH net-next 4/5] net: ethernet: davinci_emac: Fix printing of base address Florian Fainelli
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Florian Fainelli @ 2018-05-21 18:45 UTC (permalink / raw)
  To: netdev
  Cc: Florian Fainelli, Grygorii Strashko, David S. Miller,
	Ivan Khoronzhuk, Andrew Morton, Keerthy, Bhumika Goyal,
	Hernán Gonzalez, Richard Cochran, Lukas Wunner, Rob Herring,
	open list:TI ETHERNET SWITCH DRIVER (CPSW),
	open list

When building on a 64-bit host we will get the following warning:

drivers/net/ethernet/ti/cpsw.c: In function 'cpsw_add_ch_strings':
drivers/net/ethernet/ti/cpsw.c:1284:19: warning: format '%d' expects
argument of type 'int', but argument 5 has type 'long unsigned int'
[-Wformat=]
     "%s DMA chan %d: %s", rx_dir ? "Rx" : "Tx",
                  ~^
                  %ld

Fix this by using an %ld format and casting to long.

Fixes: e05107e6b747 ("net: ethernet: ti: cpsw: add multi queue support")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
---
 drivers/net/ethernet/ti/cpsw.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/ti/cpsw.c b/drivers/net/ethernet/ti/cpsw.c
index a7285dddfd29..643cd2d9dfb6 100644
--- a/drivers/net/ethernet/ti/cpsw.c
+++ b/drivers/net/ethernet/ti/cpsw.c
@@ -1281,8 +1281,8 @@ static void cpsw_add_ch_strings(u8 **p, int ch_num, int rx_dir)
 	for (i = 0; i < ch_stats_len; i++) {
 		line = i % CPSW_STATS_CH_LEN;
 		snprintf(*p, ETH_GSTRING_LEN,
-			 "%s DMA chan %d: %s", rx_dir ? "Rx" : "Tx",
-			 i / CPSW_STATS_CH_LEN,
+			 "%s DMA chan %ld: %s", rx_dir ? "Rx" : "Tx",
+			 (long)(i / CPSW_STATS_CH_LEN),
 			 cpsw_gstrings_ch_stats[line].stat_string);
 		*p += ETH_GSTRING_LEN;
 	}
-- 
2.14.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH net-next 4/5] net: ethernet: davinci_emac: Fix printing of base address
  2018-05-21 18:45 [PATCH net-next 0/5] TI Ethernet driver warnings fixes Florian Fainelli
                   ` (2 preceding siblings ...)
  2018-05-21 18:45 ` [PATCH net-next 3/5] net: ethernet: ti: cpsw: Fix cpsw_add_ch_strings() printk format Florian Fainelli
@ 2018-05-21 18:45 ` Florian Fainelli
  2018-05-21 18:45 ` [PATCH net-next 5/5] ti: ethernet: davinci: Fix cast to int warnings Florian Fainelli
  2018-05-21 20:18 ` [PATCH net-next 0/5] TI Ethernet driver warnings fixes David Miller
  5 siblings, 0 replies; 7+ messages in thread
From: Florian Fainelli @ 2018-05-21 18:45 UTC (permalink / raw)
  To: netdev
  Cc: Florian Fainelli, Grygorii Strashko, David S. Miller,
	Ivan Khoronzhuk, Andrew Morton, Keerthy, Bhumika Goyal,
	Hernán Gonzalez, Richard Cochran, Lukas Wunner, Rob Herring,
	open list:TI ETHERNET SWITCH DRIVER (CPSW),
	open list

Use %pa which is the correct formatter to print a physical address,
instead of %p which is just a pointer.

Fixes: a6286ee630f6 ("net: Add TI DaVinci EMAC driver")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
---
 drivers/net/ethernet/ti/davinci_emac.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/ti/davinci_emac.c b/drivers/net/ethernet/ti/davinci_emac.c
index abceea802ea1..be0fec17d95d 100644
--- a/drivers/net/ethernet/ti/davinci_emac.c
+++ b/drivers/net/ethernet/ti/davinci_emac.c
@@ -1930,8 +1930,8 @@ static int davinci_emac_probe(struct platform_device *pdev)
 
 	if (netif_msg_probe(priv)) {
 		dev_notice(&pdev->dev, "DaVinci EMAC Probe found device "
-			   "(regs: %p, irq: %d)\n",
-			   (void *)priv->emac_base_phys, ndev->irq);
+			   "(regs: %pa, irq: %d)\n",
+			   &priv->emac_base_phys, ndev->irq);
 	}
 	pm_runtime_put(&pdev->dev);
 
-- 
2.14.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH net-next 5/5] ti: ethernet: davinci: Fix cast to int warnings
  2018-05-21 18:45 [PATCH net-next 0/5] TI Ethernet driver warnings fixes Florian Fainelli
                   ` (3 preceding siblings ...)
  2018-05-21 18:45 ` [PATCH net-next 4/5] net: ethernet: davinci_emac: Fix printing of base address Florian Fainelli
@ 2018-05-21 18:45 ` Florian Fainelli
  2018-05-21 20:18 ` [PATCH net-next 0/5] TI Ethernet driver warnings fixes David Miller
  5 siblings, 0 replies; 7+ messages in thread
From: Florian Fainelli @ 2018-05-21 18:45 UTC (permalink / raw)
  To: netdev
  Cc: Florian Fainelli, Grygorii Strashko, David S. Miller,
	Ivan Khoronzhuk, Andrew Morton, Keerthy, Bhumika Goyal,
	Hernán Gonzalez, Richard Cochran, Lukas Wunner, Rob Herring,
	open list:TI ETHERNET SWITCH DRIVER (CPSW),
	open list

Now that we can compile test this driver on 64-bit hosts, we get some
warnings about how a pointer/address is written/read to/from a register
(sw_token). Fix this by doing the appropriate conversions, we cannot
possibly have the driver work on 64-bit hosts the way the tokens are
managed though, since the registers being written to a 32-bit only.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
---
 drivers/net/ethernet/ti/davinci_cpdma.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ethernet/ti/davinci_cpdma.c b/drivers/net/ethernet/ti/davinci_cpdma.c
index 9ec49213de5e..cdbddf16dd29 100644
--- a/drivers/net/ethernet/ti/davinci_cpdma.c
+++ b/drivers/net/ethernet/ti/davinci_cpdma.c
@@ -1080,7 +1080,7 @@ int cpdma_chan_submit(struct cpdma_chan *chan, void *token, void *data,
 	writel_relaxed(buffer, &desc->hw_buffer);
 	writel_relaxed(len, &desc->hw_len);
 	writel_relaxed(mode | len, &desc->hw_mode);
-	writel_relaxed(token, &desc->sw_token);
+	writel_relaxed((uintptr_t)token, &desc->sw_token);
 	writel_relaxed(buffer, &desc->sw_buffer);
 	writel_relaxed(len, &desc->sw_len);
 	desc_read(desc, sw_len);
@@ -1121,15 +1121,15 @@ static void __cpdma_chan_free(struct cpdma_chan *chan,
 	struct cpdma_desc_pool		*pool = ctlr->pool;
 	dma_addr_t			buff_dma;
 	int				origlen;
-	void				*token;
+	uintptr_t			token;
 
-	token      = (void *)desc_read(desc, sw_token);
+	token      = desc_read(desc, sw_token);
 	buff_dma   = desc_read(desc, sw_buffer);
 	origlen    = desc_read(desc, sw_len);
 
 	dma_unmap_single(ctlr->dev, buff_dma, origlen, chan->dir);
 	cpdma_desc_free(pool, desc, 1);
-	(*chan->handler)(token, outlen, status);
+	(*chan->handler)((void *)token, outlen, status);
 }
 
 static int __cpdma_chan_process(struct cpdma_chan *chan)
-- 
2.14.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH net-next 0/5] TI Ethernet driver warnings fixes
  2018-05-21 18:45 [PATCH net-next 0/5] TI Ethernet driver warnings fixes Florian Fainelli
                   ` (4 preceding siblings ...)
  2018-05-21 18:45 ` [PATCH net-next 5/5] ti: ethernet: davinci: Fix cast to int warnings Florian Fainelli
@ 2018-05-21 20:18 ` David Miller
  5 siblings, 0 replies; 7+ messages in thread
From: David Miller @ 2018-05-21 20:18 UTC (permalink / raw)
  To: f.fainelli
  Cc: netdev, grygorii.strashko, ivan.khoronzhuk, akpm, j-keerthy,
	bhumirks, hernan, richardcochran, lukas, robh, linux-omap,
	linux-kernel

From: Florian Fainelli <f.fainelli@gmail.com>
Date: Mon, 21 May 2018 11:45:50 -0700

> Hi all,
> 
> This patch series attempts to fix properly the warnings observed with turning
> on COMPILE_TEST and TI Ethernet drivers on 64-bit hosts.
> 
> Since I don't have any of this hardware, please review carefully for possible
> breakage!

These seem extremely safe to me, and since I have a vested interest in seeing
these warning disappear from my tree....

Series applied, thanks :-)

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2018-05-21 20:18 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-21 18:45 [PATCH net-next 0/5] TI Ethernet driver warnings fixes Florian Fainelli
2018-05-21 18:45 ` [PATCH net-next 1/5] ti: ethernet: cpdma: Use correct format for genpool_* Florian Fainelli
2018-05-21 18:45 ` [PATCH net-next 2/5] net: ethernet: ti: cpts: Fix timestamp print Florian Fainelli
2018-05-21 18:45 ` [PATCH net-next 3/5] net: ethernet: ti: cpsw: Fix cpsw_add_ch_strings() printk format Florian Fainelli
2018-05-21 18:45 ` [PATCH net-next 4/5] net: ethernet: davinci_emac: Fix printing of base address Florian Fainelli
2018-05-21 18:45 ` [PATCH net-next 5/5] ti: ethernet: davinci: Fix cast to int warnings Florian Fainelli
2018-05-21 20:18 ` [PATCH net-next 0/5] TI Ethernet driver warnings fixes 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).