From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Nicolas Ferre <nicolas.ferre@atmel.com>
Cc: kbuild-all@01.org, netdev@vger.kernel.org
Subject: Re: [net:master 41/49] drivers/net/ethernet/cadence/macb.c:164:1: error: macro "writel" passed 3 arguments, but takes just 2
Date: Mon, 27 Jul 2015 14:07:53 +0300 [thread overview]
Message-ID: <1437995273.29746.84.camel@linux.intel.com> (raw)
In-Reply-To: <201507271704.JPi1M8WE%fengguang.wu@intel.com>
On Mon, 2015-07-27 at 17:03 +0800, kbuild test robot wrote:
> tree: git://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git
> master
> head: 8fff755e9f8d0f70a595e79f248695ce6aef5cc3
> commit: f2ce8a9e48385f444389e75cfe293637c3eb5410 [41/49] net/macb:
> improve big endian CPU support
> config: arm-at91_dt_defconfig (attached as .config)
> reproduce:
> wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp
> -tests.git/plain/sbin/make.cross -O ~/bin/make.cross
> chmod +x ~/bin/make.cross
> git checkout f2ce8a9e48385f444389e75cfe293637c3eb5410
> # save the attached .config to linux build tree
> make.cross ARCH=arm
Oh, no.
I do use compiler from Debian for AVR32, didn't check this on other
architectures.
Possible something like following will fix it:
--- a/drivers/net/ethernet/cadence/macb.h
+++ b/drivers/net/ethernet/cadence/macb.h
@@ -429,12 +429,12 @@
| GEM_BF(name, value))
/* Register access macros */
-#define macb_readl(port, reg) (port)->readl((port),
MACB_##reg)
-#define macb_writel(port, reg, value) (port)->writel((port),
MACB_##reg, (value))
-#define gem_readl(port, reg) (port)->readl((port),
GEM_##reg)
-#define gem_writel(port, reg, value) (port)->writel((port),
GEM_##reg, (value))
-#define queue_readl(queue, reg) (queue)->bp
->readl((queue)->bp, (queue)->reg)
-#define queue_writel(queue, reg, value) (queue)->bp
->writel((queue)->bp, (queue)->reg, (value))
+#define macb_readl(port, reg) port->readl(port, MACB_##reg)
+#define macb_writel(port, reg, value) port->writel(port, MACB_##reg,
(value))
+#define gem_readl(port, reg) port->readl(port, GEM_##reg)
+#define gem_writel(port, reg, value) port->writel(port, GEM_##reg,
(value))
+#define queue_readl(queue, reg) queue->bp->readl(queue
->bp, queue->reg)
+#define queue_writel(queue, reg, value) queue->bp->writel(queue
->bp, queue->reg, (value))
/* Conditional GEM/MACB macros. These perform the operation to the
correct
* register dependent on whether the device is a GEM or a MACB. For
registers
>
> All error/warnings (new ones prefixed by >>):
>
> drivers/net/ethernet/cadence/macb.c: In function
> 'macb_set_hwaddr':
> > > drivers/net/ethernet/cadence/macb.c:164:1: error: macro "writel"
> > > passed 3 arguments, but takes just 2
> macb_or_gem_writel(bp, SA1B, bottom);
> ^
> In file included from drivers/net/ethernet/cadence/macb.c:34:0:
> > > drivers/net/ethernet/cadence/macb.h:435:38: warning: statement
> > > with no effect [-Wunused-value]
> #define gem_writel(port, reg, value) (port)->writel((port),
> GEM_##reg, (value))
> ^
> > > drivers/net/ethernet/cadence/macb.h:447:4: note: in expansion of
> > > macro 'gem_writel'
> gem_writel((__bp), __reg, __value); \
> ^
> > > drivers/net/ethernet/cadence/macb.c:164:2: note: in expansion of
> > > macro 'macb_or_gem_writel'
> macb_or_gem_writel(bp, SA1B, bottom);
> ^
> > > drivers/net/ethernet/cadence/macb.c:164:1: error: macro "writel"
> > > passed 3 arguments, but takes just 2
> macb_or_gem_writel(bp, SA1B, bottom);
> ^
> In file included from drivers/net/ethernet/cadence/macb.c:34:0:
> drivers/net/ethernet/cadence/macb.h:433:39: warning: statement
> with no effect [-Wunused-value]
> #define macb_writel(port, reg, value) (port)->writel((port),
> MACB_##reg, (value))
> ^
> > > drivers/net/ethernet/cadence/macb.h:449:4: note: in expansion of
> > > macro 'macb_writel'
> macb_writel((__bp), __reg, __value); \
> ^
> > > drivers/net/ethernet/cadence/macb.c:164:2: note: in expansion of
> > > macro 'macb_or_gem_writel'
> macb_or_gem_writel(bp, SA1B, bottom);
> ^
> drivers/net/ethernet/cadence/macb.c:166:1: error: macro "writel"
> passed 3 arguments, but takes just 2
> macb_or_gem_writel(bp, SA1T, top);
> ^
> In file included from drivers/net/ethernet/cadence/macb.c:34:0:
> > > drivers/net/ethernet/cadence/macb.h:435:38: warning: statement
> > > with no effect [-Wunused-value]
> #define gem_writel(port, reg, value) (port)->writel((port),
> GEM_##reg, (value))
> ^
> > > drivers/net/ethernet/cadence/macb.h:447:4: note: in expansion of
> > > macro 'gem_writel'
> gem_writel((__bp), __reg, __value); \
> ^
> drivers/net/ethernet/cadence/macb.c:166:2: note: in expansion of
> macro 'macb_or_gem_writel'
> macb_or_gem_writel(bp, SA1T, top);
> ^
> drivers/net/ethernet/cadence/macb.c:166:1: error: macro "writel"
> passed 3 arguments, but takes just 2
> macb_or_gem_writel(bp, SA1T, top);
> ^
> In file included from drivers/net/ethernet/cadence/macb.c:34:0:
> drivers/net/ethernet/cadence/macb.h:433:39: warning: statement
> with no effect [-Wunused-value]
> #define macb_writel(port, reg, value) (port)->writel((port),
> MACB_##reg, (value))
> ^
> > > drivers/net/ethernet/cadence/macb.h:449:4: note: in expansion of
> > > macro 'macb_writel'
> macb_writel((__bp), __reg, __value); \
> ^
> drivers/net/ethernet/cadence/macb.c:166:2: note: in expansion of
> macro 'macb_or_gem_writel'
> macb_or_gem_writel(bp, SA1T, top);
> ^
> drivers/net/ethernet/cadence/macb.c:169:1: error: macro "writel"
> passed 3 arguments, but takes just 2
> macb_or_gem_writel(bp, SA2B, 0);
> ^
> In file included from drivers/net/ethernet/cadence/macb.c:34:0:
> > > drivers/net/ethernet/cadence/macb.h:435:38: warning: statement
> > > with no effect [-Wunused-value]
> #define gem_writel(port, reg, value) (port)->writel((port),
> GEM_##reg, (value))
> ^
> > > drivers/net/ethernet/cadence/macb.h:447:4: note: in expansion of
> > > macro 'gem_writel'
> gem_writel((__bp), __reg, __value); \
> ^
> drivers/net/ethernet/cadence/macb.c:169:2: note: in expansion of
> macro 'macb_or_gem_writel'
> macb_or_gem_writel(bp, SA2B, 0);
> ^
> drivers/net/ethernet/cadence/macb.c:169:1: error: macro "writel"
> passed 3 arguments, but takes just 2
> macb_or_gem_writel(bp, SA2B, 0);
> ^
> In file included from drivers/net/ethernet/cadence/macb.c:34:0:
> drivers/net/ethernet/cadence/macb.h:433:39: warning: statement
> with no effect [-Wunused-value]
> #define macb_writel(port, reg, value) (port)->writel((port),
> MACB_##reg, (value))
> ^
> > > drivers/net/ethernet/cadence/macb.h:449:4: note: in expansion of
> > > macro 'macb_writel'
> macb_writel((__bp), __reg, __value); \
> ^
> drivers/net/ethernet/cadence/macb.c:169:2: note: in expansion of
> macro 'macb_or_gem_writel'
> macb_or_gem_writel(bp, SA2B, 0);
> ^
> drivers/net/ethernet/cadence/macb.c:170:1: error: macro "writel"
> passed 3 arguments, but takes just 2
> macb_or_gem_writel(bp, SA2T, 0);
> ^
> In file included from drivers/net/ethernet/cadence/macb.c:34:0:
> > > drivers/net/ethernet/cadence/macb.h:435:38: warning: statement
> > > with no effect [-Wunused-value]
> #define gem_writel(port, reg, value) (port)->writel((port),
> GEM_##reg, (value))
> ^
> > > drivers/net/ethernet/cadence/macb.h:447:4: note: in expansion of
> > > macro 'gem_writel'
> gem_writel((__bp), __reg, __value); \
> ^
> drivers/net/ethernet/cadence/macb.c:170:2: note: in expansion of
> macro 'macb_or_gem_writel'
> macb_or_gem_writel(bp, SA2T, 0);
> ^
> drivers/net/ethernet/cadence/macb.c:170:1: error: macro "writel"
> passed 3 arguments, but takes just 2
> macb_or_gem_writel(bp, SA2T, 0);
> ^
> In file included from drivers/net/ethernet/cadence/macb.c:34:0:
> drivers/net/ethernet/cadence/macb.h:433:39: warning: statement
> with no effect [-Wunused-value]
> #define macb_writel(port, reg, value) (port)->writel((port),
> MACB_##reg, (value))
> ^
> > > drivers/net/ethernet/cadence/macb.h:449:4: note: in expansion of
> > > macro 'macb_writel'
> macb_writel((__bp), __reg, __value); \
> ^
> drivers/net/ethernet/cadence/macb.c:170:2: note: in expansion of
> macro 'macb_or_gem_writel'
> macb_or_gem_writel(bp, SA2T, 0);
> ^
> drivers/net/ethernet/cadence/macb.c:171:1: error: macro "writel"
> passed 3 arguments, but takes just 2
> macb_or_gem_writel(bp, SA3B, 0);
> ^
> In file included from drivers/net/ethernet/cadence/macb.c:34:0:
> > > drivers/net/ethernet/cadence/macb.h:435:38: warning: statement
> > > with no effect [-Wunused-value]
> #define gem_writel(port, reg, value) (port)->writel((port),
> GEM_##reg, (value))
> ^
> > > drivers/net/ethernet/cadence/macb.h:447:4: note: in expansion of
> > > macro 'gem_writel'
> gem_writel((__bp), __reg, __value); \
> ^
> drivers/net/ethernet/cadence/macb.c:171:2: note: in expansion of
> macro 'macb_or_gem_writel'
> macb_or_gem_writel(bp, SA3B, 0);
> ^
> drivers/net/ethernet/cadence/macb.c:171:1: error: macro "writel"
> passed 3 arguments, but takes just 2
> macb_or_gem_writel(bp, SA3B, 0);
> ^
> In file included from drivers/net/ethernet/cadence/macb.c:34:0:
> drivers/net/ethernet/cadence/macb.h:433:39: warning: statement
> with no effect [-Wunused-value]
> #define macb_writel(port, reg, value) (port)->writel((port),
> MACB_##reg, (value))
> ^
> > > drivers/net/ethernet/cadence/macb.h:449:4: note: in expansion of
> > > macro 'macb_writel'
> macb_writel((__bp), __reg, __value); \
> ^
> drivers/net/ethernet/cadence/macb.c:171:2: note: in expansion of
> macro 'macb_or_gem_writel'
> macb_or_gem_writel(bp, SA3B, 0);
> ^
> drivers/net/ethernet/cadence/macb.c:172:1: error: macro "writel"
> passed 3 arguments, but takes just 2
> macb_or_gem_writel(bp, SA3T, 0);
> ^
> In file included from drivers/net/ethernet/cadence/macb.c:34:0:
> > > drivers/net/ethernet/cadence/macb.h:435:38: warning: statement
> > > with no effect [-Wunused-value]
> #define gem_writel(port, reg, value) (port)->writel((port),
> GEM_##reg, (value))
> ^
>
> vim +/writel +164 drivers/net/ethernet/cadence/macb.c
>
> 6c36a7074 drivers/net/macb.c frederic RODO
> 2007-07-12 28 #include <linux/phy.h>
> b17471f5d drivers/net/ethernet/cadence/macb.c Olof Johansson
> 2011-12-20 29 #include <linux/of.h>
> fb97a8466 drivers/net/ethernet/cadence/macb.c Jean-Christophe
> PLAGNIOL-VILLARD 2011-11-18 30 #include <linux/of_device.h>
> 148cbb53a drivers/net/ethernet/cadence/macb.c Boris BREZILLON
> 2013-08-22 31 #include <linux/of_mdio.h>
> fb97a8466 drivers/net/ethernet/cadence/macb.c Jean-Christophe
> PLAGNIOL-VILLARD 2011-11-18 32 #include <linux/of_net.h>
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 33
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 @34 #include "macb.h"
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 35
> 1b44791ab drivers/net/ethernet/cadence/macb.c Nicolas Ferre
> 2013-06-04 36 #define MACB_RX_BUFFER_SIZE 128
> 1b44791ab drivers/net/ethernet/cadence/macb.c Nicolas Ferre
> 2013-06-04 37 #define RX_BUFFER_MULTIPLE 64 /* bytes
> */
> 55054a16a drivers/net/ethernet/cadence/macb.c Havard Skinnemoen
> 2012-10-31 38 #define RX_RING_SIZE 512 /* must
> be power of 2 */
> 55054a16a drivers/net/ethernet/cadence/macb.c Havard Skinnemoen
> 2012-10-31 39 #define RX_RING_BYTES (siz
> eof(struct macb_dma_desc) * RX_RING_SIZE)
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 40
> 55054a16a drivers/net/ethernet/cadence/macb.c Havard Skinnemoen
> 2012-10-31 41 #define TX_RING_SIZE 128 /* must
> be power of 2 */
> 55054a16a drivers/net/ethernet/cadence/macb.c Havard Skinnemoen
> 2012-10-31 42 #define TX_RING_BYTES (siz
> eof(struct macb_dma_desc) * TX_RING_SIZE)
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 43
> 909a85834 drivers/net/ethernet/cadence/macb.c Nicolas Ferre
> 2012-11-19 44 /* level of occupied TX descriptors under
> which we wake up TX process */
> 909a85834 drivers/net/ethernet/cadence/macb.c Nicolas Ferre
> 2012-11-19 45 #define MACB_TX_WAKEUP_THRESH (3 *
> TX_RING_SIZE / 4)
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 46
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 47 #define MACB_RX_INT_FLAGS (MACB_BIT(RC
> OMP) | MACB_BIT(RXUBR) \
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 48 |
> MACB_BIT(ISR_ROVR))
> e86cd53af drivers/net/ethernet/cadence/macb.c Nicolas Ferre
> 2012-10-31 49 #define MACB_TX_ERR_FLAGS (MACB_BIT(IS
> R_TUND) \
> e86cd53af drivers/net/ethernet/cadence/macb.c Nicolas Ferre
> 2012-10-31 50 |
> MACB_BIT(ISR_RLE) \
> e86cd53af drivers/net/ethernet/cadence/macb.c Nicolas Ferre
> 2012-10-31 51 |
> MACB_BIT(TXERR))
> e86cd53af drivers/net/ethernet/cadence/macb.c Nicolas Ferre
> 2012-10-31 52 #define MACB_TX_INT_FLAGS (MACB_TX_ERR
> _FLAGS | MACB_BIT(TCOMP))
> e86cd53af drivers/net/ethernet/cadence/macb.c Nicolas Ferre
> 2012-10-31 53
> a4c35ed3f drivers/net/ethernet/cadence/macb.c Cyrille Pitchen
> 2014-07-24 54 #define MACB_MAX_TX_LEN ((un
> signed int)((1 << MACB_TX_FRMLEN_SIZE) - 1))
> a4c35ed3f drivers/net/ethernet/cadence/macb.c Cyrille Pitchen
> 2014-07-24 55 #define GEM_MAX_TX_LEN ((un
> signed int)((1 << GEM_TX_FRMLEN_SIZE) - 1))
> a4c35ed3f drivers/net/ethernet/cadence/macb.c Cyrille Pitchen
> 2014-07-24 56
> a5898ea09 drivers/net/ethernet/cadence/macb.c Harini Katakam
> 2015-05-06 57 #define GEM_MTU_MIN_SIZE 68
> a5898ea09 drivers/net/ethernet/cadence/macb.c Harini Katakam
> 2015-05-06 58
> e86cd53af drivers/net/ethernet/cadence/macb.c Nicolas Ferre
> 2012-10-31 59 /*
> e86cd53af drivers/net/ethernet/cadence/macb.c Nicolas Ferre
> 2012-10-31 60 * Graceful stop timeouts in us. We should
> allow up to
> e86cd53af drivers/net/ethernet/cadence/macb.c Nicolas Ferre
> 2012-10-31 61 * 1 frame time (10 Mbits/s, full-duplex,
> ignoring collisions)
> e86cd53af drivers/net/ethernet/cadence/macb.c Nicolas Ferre
> 2012-10-31 62 */
> e86cd53af drivers/net/ethernet/cadence/macb.c Nicolas Ferre
> 2012-10-31 63 #define MACB_HALT_TIMEOUT 1230
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 64
> 55054a16a drivers/net/ethernet/cadence/macb.c Havard Skinnemoen
> 2012-10-31 65 /* Ring buffer accessors */
> 55054a16a drivers/net/ethernet/cadence/macb.c Havard Skinnemoen
> 2012-10-31 66 static unsigned int
> macb_tx_ring_wrap(unsigned int index)
> 55054a16a drivers/net/ethernet/cadence/macb.c Havard Skinnemoen
> 2012-10-31 67 {
> 55054a16a drivers/net/ethernet/cadence/macb.c Havard Skinnemoen
> 2012-10-31 68 return index & (TX_RING_SIZE - 1);
> 55054a16a drivers/net/ethernet/cadence/macb.c Havard Skinnemoen
> 2012-10-31 69 }
> 55054a16a drivers/net/ethernet/cadence/macb.c Havard Skinnemoen
> 2012-10-31 70
> 02c958dd3 drivers/net/ethernet/cadence/macb.c Cyrille Pitchen
> 2014-12-12 71 static struct macb_dma_desc
> *macb_tx_desc(struct macb_queue *queue,
> 02c958dd3 drivers/net/ethernet/cadence/macb.c Cyrille Pitchen
> 2014-12-12 72
> unsigned int index)
> 55054a16a drivers/net/ethernet/cadence/macb.c Havard Skinnemoen
> 2012-10-31 73 {
> 02c958dd3 drivers/net/ethernet/cadence/macb.c Cyrille Pitchen
> 2014-12-12 74 return &queue
> ->tx_ring[macb_tx_ring_wrap(index)];
> 55054a16a drivers/net/ethernet/cadence/macb.c Havard Skinnemoen
> 2012-10-31 75 }
> 55054a16a drivers/net/ethernet/cadence/macb.c Havard Skinnemoen
> 2012-10-31 76
> 02c958dd3 drivers/net/ethernet/cadence/macb.c Cyrille Pitchen
> 2014-12-12 77 static struct macb_tx_skb
> *macb_tx_skb(struct macb_queue *queue,
> 02c958dd3 drivers/net/ethernet/cadence/macb.c Cyrille Pitchen
> 2014-12-12 78
> unsigned int index)
> 55054a16a drivers/net/ethernet/cadence/macb.c Havard Skinnemoen
> 2012-10-31 79 {
> 02c958dd3 drivers/net/ethernet/cadence/macb.c Cyrille Pitchen
> 2014-12-12 80 return &queue
> ->tx_skb[macb_tx_ring_wrap(index)];
> 55054a16a drivers/net/ethernet/cadence/macb.c Havard Skinnemoen
> 2012-10-31 81 }
> 55054a16a drivers/net/ethernet/cadence/macb.c Havard Skinnemoen
> 2012-10-31 82
> 02c958dd3 drivers/net/ethernet/cadence/macb.c Cyrille Pitchen
> 2014-12-12 83 static dma_addr_t macb_tx_dma(struct
> macb_queue *queue, unsigned int index)
> 55054a16a drivers/net/ethernet/cadence/macb.c Havard Skinnemoen
> 2012-10-31 84 {
> 55054a16a drivers/net/ethernet/cadence/macb.c Havard Skinnemoen
> 2012-10-31 85 dma_addr_t offset;
> 55054a16a drivers/net/ethernet/cadence/macb.c Havard Skinnemoen
> 2012-10-31 86
> 55054a16a drivers/net/ethernet/cadence/macb.c Havard Skinnemoen
> 2012-10-31 87 offset = macb_tx_ring_wrap(index) *
> sizeof(struct macb_dma_desc);
> 55054a16a drivers/net/ethernet/cadence/macb.c Havard Skinnemoen
> 2012-10-31 88
> 02c958dd3 drivers/net/ethernet/cadence/macb.c Cyrille Pitchen
> 2014-12-12 89 return queue->tx_ring_dma + offset;
> 55054a16a drivers/net/ethernet/cadence/macb.c Havard Skinnemoen
> 2012-10-31 90 }
> 55054a16a drivers/net/ethernet/cadence/macb.c Havard Skinnemoen
> 2012-10-31 91
> 55054a16a drivers/net/ethernet/cadence/macb.c Havard Skinnemoen
> 2012-10-31 92 static unsigned int
> macb_rx_ring_wrap(unsigned int index)
> 55054a16a drivers/net/ethernet/cadence/macb.c Havard Skinnemoen
> 2012-10-31 93 {
> 55054a16a drivers/net/ethernet/cadence/macb.c Havard Skinnemoen
> 2012-10-31 94 return index & (RX_RING_SIZE - 1);
> 55054a16a drivers/net/ethernet/cadence/macb.c Havard Skinnemoen
> 2012-10-31 95 }
> 55054a16a drivers/net/ethernet/cadence/macb.c Havard Skinnemoen
> 2012-10-31 96
> 55054a16a drivers/net/ethernet/cadence/macb.c Havard Skinnemoen
> 2012-10-31 97 static struct macb_dma_desc
> *macb_rx_desc(struct macb *bp, unsigned int index)
> 55054a16a drivers/net/ethernet/cadence/macb.c Havard Skinnemoen
> 2012-10-31 98 {
> 55054a16a drivers/net/ethernet/cadence/macb.c Havard Skinnemoen
> 2012-10-31 99 return &bp
> ->rx_ring[macb_rx_ring_wrap(index)];
> 55054a16a drivers/net/ethernet/cadence/macb.c Havard Skinnemoen
> 2012-10-31 100 }
> 55054a16a drivers/net/ethernet/cadence/macb.c Havard Skinnemoen
> 2012-10-31 101
> 55054a16a drivers/net/ethernet/cadence/macb.c Havard Skinnemoen
> 2012-10-31 102 static void *macb_rx_buffer(struct macb
> *bp, unsigned int index)
> 55054a16a drivers/net/ethernet/cadence/macb.c Havard Skinnemoen
> 2012-10-31 103 {
> 1b44791ab drivers/net/ethernet/cadence/macb.c Nicolas Ferre
> 2013-06-04 104 return bp->rx_buffers + bp
> ->rx_buffer_size * macb_rx_ring_wrap(index);
> 55054a16a drivers/net/ethernet/cadence/macb.c Havard Skinnemoen
> 2012-10-31 105 }
> 55054a16a drivers/net/ethernet/cadence/macb.c Havard Skinnemoen
> 2012-10-31 106
> f2ce8a9e4 drivers/net/ethernet/cadence/macb.c Andy Shevchenko
> 2015-07-24 107 /* I/O accessors */
> f2ce8a9e4 drivers/net/ethernet/cadence/macb.c Andy Shevchenko
> 2015-07-24 108 static u32 hw_readl_native(struct macb
> *bp, int offset)
> f2ce8a9e4 drivers/net/ethernet/cadence/macb.c Andy Shevchenko
> 2015-07-24 109 {
> f2ce8a9e4 drivers/net/ethernet/cadence/macb.c Andy Shevchenko
> 2015-07-24 110 return __raw_readl(bp->regs +
> offset);
> f2ce8a9e4 drivers/net/ethernet/cadence/macb.c Andy Shevchenko
> 2015-07-24 111 }
> f2ce8a9e4 drivers/net/ethernet/cadence/macb.c Andy Shevchenko
> 2015-07-24 112
> f2ce8a9e4 drivers/net/ethernet/cadence/macb.c Andy Shevchenko
> 2015-07-24 113 static void hw_writel_native(struct macb
> *bp, int offset, u32 value)
> f2ce8a9e4 drivers/net/ethernet/cadence/macb.c Andy Shevchenko
> 2015-07-24 114 {
> f2ce8a9e4 drivers/net/ethernet/cadence/macb.c Andy Shevchenko
> 2015-07-24 115 __raw_writel(value, bp->regs +
> offset);
> f2ce8a9e4 drivers/net/ethernet/cadence/macb.c Andy Shevchenko
> 2015-07-24 116 }
> f2ce8a9e4 drivers/net/ethernet/cadence/macb.c Andy Shevchenko
> 2015-07-24 117
> f2ce8a9e4 drivers/net/ethernet/cadence/macb.c Andy Shevchenko
> 2015-07-24 118 static u32 hw_readl(struct macb *bp, int
> offset)
> f2ce8a9e4 drivers/net/ethernet/cadence/macb.c Andy Shevchenko
> 2015-07-24 119 {
> f2ce8a9e4 drivers/net/ethernet/cadence/macb.c Andy Shevchenko
> 2015-07-24 120 return readl_relaxed(bp->regs +
> offset);
> f2ce8a9e4 drivers/net/ethernet/cadence/macb.c Andy Shevchenko
> 2015-07-24 121 }
> f2ce8a9e4 drivers/net/ethernet/cadence/macb.c Andy Shevchenko
> 2015-07-24 122
> f2ce8a9e4 drivers/net/ethernet/cadence/macb.c Andy Shevchenko
> 2015-07-24 123 static void hw_writel(struct macb *bp, int
> offset, u32 value)
> f2ce8a9e4 drivers/net/ethernet/cadence/macb.c Andy Shevchenko
> 2015-07-24 124 {
> f2ce8a9e4 drivers/net/ethernet/cadence/macb.c Andy Shevchenko
> 2015-07-24 125 writel_relaxed(value, bp->regs +
> offset);
> f2ce8a9e4 drivers/net/ethernet/cadence/macb.c Andy Shevchenko
> 2015-07-24 126 }
> f2ce8a9e4 drivers/net/ethernet/cadence/macb.c Andy Shevchenko
> 2015-07-24 127
> f2ce8a9e4 drivers/net/ethernet/cadence/macb.c Andy Shevchenko
> 2015-07-24 128 /*
> f2ce8a9e4 drivers/net/ethernet/cadence/macb.c Andy Shevchenko
> 2015-07-24 129 * Find the CPU endianness by using the
> loopback bit of NCR register. When the
> f2ce8a9e4 drivers/net/ethernet/cadence/macb.c Andy Shevchenko
> 2015-07-24 130 * CPU is in big endian we need to program
> swaped mode for management
> f2ce8a9e4 drivers/net/ethernet/cadence/macb.c Andy Shevchenko
> 2015-07-24 131 * descriptor access.
> f2ce8a9e4 drivers/net/ethernet/cadence/macb.c Andy Shevchenko
> 2015-07-24 132 */
> f2ce8a9e4 drivers/net/ethernet/cadence/macb.c Andy Shevchenko
> 2015-07-24 133 static bool hw_is_native_io(void __iomem
> *addr)
> f2ce8a9e4 drivers/net/ethernet/cadence/macb.c Andy Shevchenko
> 2015-07-24 134 {
> f2ce8a9e4 drivers/net/ethernet/cadence/macb.c Andy Shevchenko
> 2015-07-24 135 u32 value = MACB_BIT(LLB);
> f2ce8a9e4 drivers/net/ethernet/cadence/macb.c Andy Shevchenko
> 2015-07-24 136
> f2ce8a9e4 drivers/net/ethernet/cadence/macb.c Andy Shevchenko
> 2015-07-24 137 __raw_writel(value, addr +
> MACB_NCR);
> f2ce8a9e4 drivers/net/ethernet/cadence/macb.c Andy Shevchenko
> 2015-07-24 138 value = __raw_readl(addr +
> MACB_NCR);
> f2ce8a9e4 drivers/net/ethernet/cadence/macb.c Andy Shevchenko
> 2015-07-24 139
> f2ce8a9e4 drivers/net/ethernet/cadence/macb.c Andy Shevchenko
> 2015-07-24 140 /* Write 0 back to disable
> everything */
> f2ce8a9e4 drivers/net/ethernet/cadence/macb.c Andy Shevchenko
> 2015-07-24 141 __raw_writel(0, addr + MACB_NCR);
> f2ce8a9e4 drivers/net/ethernet/cadence/macb.c Andy Shevchenko
> 2015-07-24 142
> f2ce8a9e4 drivers/net/ethernet/cadence/macb.c Andy Shevchenko
> 2015-07-24 143 return value == MACB_BIT(LLB);
> f2ce8a9e4 drivers/net/ethernet/cadence/macb.c Andy Shevchenko
> 2015-07-24 144 }
> f2ce8a9e4 drivers/net/ethernet/cadence/macb.c Andy Shevchenko
> 2015-07-24 145
> f2ce8a9e4 drivers/net/ethernet/cadence/macb.c Andy Shevchenko
> 2015-07-24 146 static bool hw_is_gem(void __iomem *addr,
> bool native_io)
> f2ce8a9e4 drivers/net/ethernet/cadence/macb.c Andy Shevchenko
> 2015-07-24 147 {
> f2ce8a9e4 drivers/net/ethernet/cadence/macb.c Andy Shevchenko
> 2015-07-24 148 u32 id;
> f2ce8a9e4 drivers/net/ethernet/cadence/macb.c Andy Shevchenko
> 2015-07-24 149
> f2ce8a9e4 drivers/net/ethernet/cadence/macb.c Andy Shevchenko
> 2015-07-24 150 if (native_io)
> f2ce8a9e4 drivers/net/ethernet/cadence/macb.c Andy Shevchenko
> 2015-07-24 151 id = __raw_readl(addr +
> MACB_MID);
> f2ce8a9e4 drivers/net/ethernet/cadence/macb.c Andy Shevchenko
> 2015-07-24 152 else
> f2ce8a9e4 drivers/net/ethernet/cadence/macb.c Andy Shevchenko
> 2015-07-24 153 id = readl_relaxed(addr +
> MACB_MID);
> f2ce8a9e4 drivers/net/ethernet/cadence/macb.c Andy Shevchenko
> 2015-07-24 154
> f2ce8a9e4 drivers/net/ethernet/cadence/macb.c Andy Shevchenko
> 2015-07-24 155 return MACB_BFEXT(IDNUM, id) >= 0x2;
> f2ce8a9e4 drivers/net/ethernet/cadence/macb.c Andy Shevchenko
> 2015-07-24 156 }
> f2ce8a9e4 drivers/net/ethernet/cadence/macb.c Andy Shevchenko
> 2015-07-24 157
> 421d9df06 drivers/net/ethernet/cadence/macb.c Cyrille Pitchen
> 2015-03-07 158 static void macb_set_hwaddr(struct macb
> *bp)
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 159 {
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 160 u32 bottom;
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 161 u16 top;
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 162
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 163 bottom = cpu_to_le32(*((u32 *)bp
> ->dev->dev_addr));
> f75ba50bd drivers/net/ethernet/cadence/macb.c Jamie Iles
> 2011-11-08 @164 macb_or_gem_writel(bp, SA1B,
> bottom);
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 165 top = cpu_to_le16(*((u16 *)(bp->dev
> ->dev_addr + 4)));
> f75ba50bd drivers/net/ethernet/cadence/macb.c Jamie Iles
> 2011-11-08 166 macb_or_gem_writel(bp, SA1T, top);
> 3629a6ceb drivers/net/ethernet/cadence/macb.c Joachim Eastwood
> 2012-11-11 167
> 3629a6ceb drivers/net/ethernet/cadence/macb.c Joachim Eastwood
> 2012-11-11 168 /* Clear unused address register
> sets */
> 3629a6ceb drivers/net/ethernet/cadence/macb.c Joachim Eastwood
> 2012-11-11 169 macb_or_gem_writel(bp, SA2B, 0);
> 3629a6ceb drivers/net/ethernet/cadence/macb.c Joachim Eastwood
> 2012-11-11 170 macb_or_gem_writel(bp, SA2T, 0);
> 3629a6ceb drivers/net/ethernet/cadence/macb.c Joachim Eastwood
> 2012-11-11 171 macb_or_gem_writel(bp, SA3B, 0);
> 3629a6ceb drivers/net/ethernet/cadence/macb.c Joachim Eastwood
> 2012-11-11 172 macb_or_gem_writel(bp, SA3T, 0);
> 3629a6ceb drivers/net/ethernet/cadence/macb.c Joachim Eastwood
> 2012-11-11 173 macb_or_gem_writel(bp, SA4B, 0);
> 3629a6ceb drivers/net/ethernet/cadence/macb.c Joachim Eastwood
> 2012-11-11 @174 macb_or_gem_writel(bp, SA4T, 0);
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 175 }
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 176
> 421d9df06 drivers/net/ethernet/cadence/macb.c Cyrille Pitchen
> 2015-03-07 177 static void macb_get_hwaddr(struct macb
> *bp)
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 178 {
> d25e78aaf drivers/net/ethernet/cadence/macb.c Joachim Eastwood
> 2012-11-07 179 struct macb_platform_data *pdata;
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 180 u32 bottom;
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 181 u16 top;
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 182 u8 addr[6];
> 17b8bb3e2 drivers/net/ethernet/cadence/macb.c Joachim Eastwood
> 2012-11-07 183 int i;
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 184
> c607a0d99 drivers/net/ethernet/cadence/macb.c Jingoo Han
> 2013-08-30 185 pdata = dev_get_platdata(&bp->pdev
> ->dev);
> d25e78aaf drivers/net/ethernet/cadence/macb.c Joachim Eastwood
> 2012-11-07 186
> 17b8bb3e2 drivers/net/ethernet/cadence/macb.c Joachim Eastwood
> 2012-11-07 187 /* Check all 4 address register for
> vaild address */
> 17b8bb3e2 drivers/net/ethernet/cadence/macb.c Joachim Eastwood
> 2012-11-07 188 for (i = 0; i < 4; i++) {
> 17b8bb3e2 drivers/net/ethernet/cadence/macb.c Joachim Eastwood
> 2012-11-07 @189 bottom =
> macb_or_gem_readl(bp, SA1B + i * 8);
> 17b8bb3e2 drivers/net/ethernet/cadence/macb.c Joachim Eastwood
> 2012-11-07 190 top = macb_or_gem_readl(bp,
> SA1T + i * 8);
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 191
> d25e78aaf drivers/net/ethernet/cadence/macb.c Joachim Eastwood
> 2012-11-07 192 if (pdata && pdata
> ->rev_eth_addr) {
> d25e78aaf drivers/net/ethernet/cadence/macb.c Joachim Eastwood
> 2012-11-07 193 addr[5] = bottom &
> 0xff;
> d25e78aaf drivers/net/ethernet/cadence/macb.c Joachim Eastwood
> 2012-11-07 194 addr[4] = (bottom >>
> 8) & 0xff;
> d25e78aaf drivers/net/ethernet/cadence/macb.c Joachim Eastwood
> 2012-11-07 195 addr[3] = (bottom >>
> 16) & 0xff;
> d25e78aaf drivers/net/ethernet/cadence/macb.c Joachim Eastwood
> 2012-11-07 196 addr[2] = (bottom >>
> 24) & 0xff;
> d25e78aaf drivers/net/ethernet/cadence/macb.c Joachim Eastwood
> 2012-11-07 197 addr[1] = top &
> 0xff;
> d25e78aaf drivers/net/ethernet/cadence/macb.c Joachim Eastwood
> 2012-11-07 198 addr[0] = (top &
> 0xff00) >> 8;
> d25e78aaf drivers/net/ethernet/cadence/macb.c Joachim Eastwood
> 2012-11-07 199 } else {
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 200 addr[0] = bottom &
> 0xff;
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 201 addr[1] = (bottom >>
> 8) & 0xff;
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 202 addr[2] = (bottom >>
> 16) & 0xff;
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 203 addr[3] = (bottom >>
> 24) & 0xff;
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 204 addr[4] = top &
> 0xff;
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 205 addr[5] = (top >> 8)
> & 0xff;
> d25e78aaf drivers/net/ethernet/cadence/macb.c Joachim Eastwood
> 2012-11-07 206 }
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 207
> d1d5741d8 drivers/net/macb.c Sven Schnelle
> 2008-06-09 208 if
> (is_valid_ether_addr(addr)) {
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 209 memcpy(bp->dev
> ->dev_addr, addr, sizeof(addr));
> 17b8bb3e2 drivers/net/ethernet/cadence/macb.c Joachim Eastwood
> 2012-11-07 210 return;
> 17b8bb3e2 drivers/net/ethernet/cadence/macb.c Joachim Eastwood
> 2012-11-07 211 }
> 17b8bb3e2 drivers/net/ethernet/cadence/macb.c Joachim Eastwood
> 2012-11-07 212 }
> 17b8bb3e2 drivers/net/ethernet/cadence/macb.c Joachim Eastwood
> 2012-11-07 213
> c220f8cd0 drivers/net/ethernet/cadence/macb.c Jamie Iles
> 2011-03-08 214 netdev_info(bp->dev, "invalid hw
> address, using random\n");
> f2cedb63d drivers/net/ethernet/cadence/macb.c Danny Kukawka
> 2012-02-15 215 eth_hw_addr_random(bp->dev);
> d1d5741d8 drivers/net/macb.c Sven Schnelle
> 2008-06-09 216 }
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 217
> 6c36a7074 drivers/net/macb.c frederic RODO
> 2007-07-12 218 static int macb_mdio_read(struct mii_bus
> *bus, int mii_id, int regnum)
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 219 {
> 6c36a7074 drivers/net/macb.c frederic RODO
> 2007-07-12 220 struct macb *bp = bus->priv;
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 221 int value;
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 222
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 @223 macb_writel(bp, MAN, (MACB_BF(SOF,
> MACB_MAN_SOF)
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 224 | MACB_BF(RW,
> MACB_MAN_READ)
> 6c36a7074 drivers/net/macb.c frederic RODO
> 2007-07-12 225 |
> MACB_BF(PHYA, mii_id)
> 6c36a7074 drivers/net/macb.c frederic RODO
> 2007-07-12 226 |
> MACB_BF(REGA, regnum)
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 @227 |
> MACB_BF(CODE, MACB_MAN_CODE)));
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 228
> 6c36a7074 drivers/net/macb.c frederic RODO
> 2007-07-12 229 /* wait for end of transfer */
> 6c36a7074 drivers/net/macb.c frederic RODO
> 2007-07-12 @230 while (!MACB_BFEXT(IDLE,
> macb_readl(bp, NSR)))
> 6c36a7074 drivers/net/macb.c frederic RODO
> 2007-07-12 231 cpu_relax();
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 232
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 233 value = MACB_BFEXT(DATA,
> macb_readl(bp, MAN));
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 234
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 235 return value;
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 236 }
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 237
> 6c36a7074 drivers/net/macb.c frederic RODO
> 2007-07-12 238 static int macb_mdio_write(struct mii_bus
> *bus, int mii_id, int regnum,
> 6c36a7074 drivers/net/macb.c frederic RODO
> 2007-07-12 239 u16 value)
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 240 {
> 6c36a7074 drivers/net/macb.c frederic RODO
> 2007-07-12 241 struct macb *bp = bus->priv;
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 242
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 243 macb_writel(bp, MAN, (MACB_BF(SOF,
> MACB_MAN_SOF)
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 244 | MACB_BF(RW,
> MACB_MAN_WRITE)
> 6c36a7074 drivers/net/macb.c frederic RODO
> 2007-07-12 245 |
> MACB_BF(PHYA, mii_id)
> 6c36a7074 drivers/net/macb.c frederic RODO
> 2007-07-12 246 |
> MACB_BF(REGA, regnum)
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 247 |
> MACB_BF(CODE, MACB_MAN_CODE)
> 6c36a7074 drivers/net/macb.c frederic RODO
> 2007-07-12 248 |
> MACB_BF(DATA, value)));
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 249
> 6c36a7074 drivers/net/macb.c frederic RODO
> 2007-07-12 250 /* wait for end of transfer */
> 6c36a7074 drivers/net/macb.c frederic RODO
> 2007-07-12 @251 while (!MACB_BFEXT(IDLE,
> macb_readl(bp, NSR)))
> 6c36a7074 drivers/net/macb.c frederic RODO
> 2007-07-12 252 cpu_relax();
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 253
> 6c36a7074 drivers/net/macb.c frederic RODO
> 2007-07-12 254 return 0;
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 255 }
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 256
> e1824dfe0 drivers/net/ethernet/cadence/macb.c Soren Brinkmann
> 2013-12-10 257 /**
> e1824dfe0 drivers/net/ethernet/cadence/macb.c Soren Brinkmann
> 2013-12-10 258 * macb_set_tx_clk() - Set a clock to a
> new frequency
> e1824dfe0 drivers/net/ethernet/cadence/macb.c Soren Brinkmann
> 2013-12-10 259 * @clk Pointer to the clock
> to change
> e1824dfe0 drivers/net/ethernet/cadence/macb.c Soren Brinkmann
> 2013-12-10 260 * @rate New frequency in Hz
> e1824dfe0 drivers/net/ethernet/cadence/macb.c Soren Brinkmann
> 2013-12-10 261 * @dev Pointer to the
> struct net_device
> e1824dfe0 drivers/net/ethernet/cadence/macb.c Soren Brinkmann
> 2013-12-10 262 */
> e1824dfe0 drivers/net/ethernet/cadence/macb.c Soren Brinkmann
> 2013-12-10 263 static void macb_set_tx_clk(struct clk
> *clk, int speed, struct net_device *dev)
> e1824dfe0 drivers/net/ethernet/cadence/macb.c Soren Brinkmann
> 2013-12-10 264 {
> e1824dfe0 drivers/net/ethernet/cadence/macb.c Soren Brinkmann
> 2013-12-10 265 long ferr, rate, rate_rounded;
> e1824dfe0 drivers/net/ethernet/cadence/macb.c Soren Brinkmann
> 2013-12-10 266
> 93b31f48b drivers/net/ethernet/cadence/macb.c Cyrille Pitchen
> 2015-03-07 267 if (!clk)
> 93b31f48b drivers/net/ethernet/cadence/macb.c Cyrille Pitchen
> 2015-03-07 268 return;
> 93b31f48b drivers/net/ethernet/cadence/macb.c Cyrille Pitchen
> 2015-03-07 269
> e1824dfe0 drivers/net/ethernet/cadence/macb.c Soren Brinkmann
> 2013-12-10 270 switch (speed) {
> e1824dfe0 drivers/net/ethernet/cadence/macb.c Soren Brinkmann
> 2013-12-10 271 case SPEED_10:
> e1824dfe0 drivers/net/ethernet/cadence/macb.c Soren Brinkmann
> 2013-12-10 272 rate = 2500000;
> e1824dfe0 drivers/net/ethernet/cadence/macb.c Soren Brinkmann
> 2013-12-10 273 break;
> e1824dfe0 drivers/net/ethernet/cadence/macb.c Soren Brinkmann
> 2013-12-10 274 case SPEED_100:
> e1824dfe0 drivers/net/ethernet/cadence/macb.c Soren Brinkmann
> 2013-12-10 275 rate = 25000000;
> e1824dfe0 drivers/net/ethernet/cadence/macb.c Soren Brinkmann
> 2013-12-10 276 break;
> e1824dfe0 drivers/net/ethernet/cadence/macb.c Soren Brinkmann
> 2013-12-10 277 case SPEED_1000:
> e1824dfe0 drivers/net/ethernet/cadence/macb.c Soren Brinkmann
> 2013-12-10 278 rate = 125000000;
> e1824dfe0 drivers/net/ethernet/cadence/macb.c Soren Brinkmann
> 2013-12-10 279 break;
> e1824dfe0 drivers/net/ethernet/cadence/macb.c Soren Brinkmann
> 2013-12-10 280 default:
> 9319e47c1 drivers/net/ethernet/cadence/macb.c Soren Brinkmann
> 2013-12-10 281 return;
> e1824dfe0 drivers/net/ethernet/cadence/macb.c Soren Brinkmann
> 2013-12-10 282 }
> e1824dfe0 drivers/net/ethernet/cadence/macb.c Soren Brinkmann
> 2013-12-10 283
> e1824dfe0 drivers/net/ethernet/cadence/macb.c Soren Brinkmann
> 2013-12-10 284 rate_rounded = clk_round_rate(clk,
> rate);
> e1824dfe0 drivers/net/ethernet/cadence/macb.c Soren Brinkmann
> 2013-12-10 285 if (rate_rounded < 0)
> e1824dfe0 drivers/net/ethernet/cadence/macb.c Soren Brinkmann
> 2013-12-10 286 return;
> e1824dfe0 drivers/net/ethernet/cadence/macb.c Soren Brinkmann
> 2013-12-10 287
> e1824dfe0 drivers/net/ethernet/cadence/macb.c Soren Brinkmann
> 2013-12-10 288 /* RGMII allows 50 ppm frequency
> error. Test and warn if this limit
> e1824dfe0 drivers/net/ethernet/cadence/macb.c Soren Brinkmann
> 2013-12-10 289 * is not satisfied.
> e1824dfe0 drivers/net/ethernet/cadence/macb.c Soren Brinkmann
> 2013-12-10 290 */
> e1824dfe0 drivers/net/ethernet/cadence/macb.c Soren Brinkmann
> 2013-12-10 291 ferr = abs(rate_rounded - rate);
> e1824dfe0 drivers/net/ethernet/cadence/macb.c Soren Brinkmann
> 2013-12-10 292 ferr = DIV_ROUND_UP(ferr, rate /
> 100000);
> e1824dfe0 drivers/net/ethernet/cadence/macb.c Soren Brinkmann
> 2013-12-10 293 if (ferr > 5)
> e1824dfe0 drivers/net/ethernet/cadence/macb.c Soren Brinkmann
> 2013-12-10 294 netdev_warn(dev, "unable to
> generate target frequency: %ld Hz\n",
> e1824dfe0 drivers/net/ethernet/cadence/macb.c Soren Brinkmann
> 2013-12-10 295 rate);
> e1824dfe0 drivers/net/ethernet/cadence/macb.c Soren Brinkmann
> 2013-12-10 296
> e1824dfe0 drivers/net/ethernet/cadence/macb.c Soren Brinkmann
> 2013-12-10 297 if (clk_set_rate(clk, rate_rounded))
> e1824dfe0 drivers/net/ethernet/cadence/macb.c Soren Brinkmann
> 2013-12-10 298 netdev_err(dev, "adjusting
> tx_clk failed.\n");
> e1824dfe0 drivers/net/ethernet/cadence/macb.c Soren Brinkmann
> 2013-12-10 299 }
> e1824dfe0 drivers/net/ethernet/cadence/macb.c Soren Brinkmann
> 2013-12-10 300
> 6c36a7074 drivers/net/macb.c frederic RODO
> 2007-07-12 301 static void macb_handle_link_change(struct
> net_device *dev)
> 6c36a7074 drivers/net/macb.c frederic RODO
> 2007-07-12 302 {
> 6c36a7074 drivers/net/macb.c frederic RODO
> 2007-07-12 303 struct macb *bp = netdev_priv(dev);
> 6c36a7074 drivers/net/macb.c frederic RODO
> 2007-07-12 304 struct phy_device *phydev = bp
> ->phy_dev;
> 6c36a7074 drivers/net/macb.c frederic RODO
> 2007-07-12 305 unsigned long flags;
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 306
> 6c36a7074 drivers/net/macb.c frederic RODO
> 2007-07-12 307 int status_change = 0;
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 308
> 6c36a7074 drivers/net/macb.c frederic RODO
> 2007-07-12 309 spin_lock_irqsave(&bp->lock, flags);
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 310
> 6c36a7074 drivers/net/macb.c frederic RODO
> 2007-07-12 311 if (phydev->link) {
> 6c36a7074 drivers/net/macb.c frederic RODO
> 2007-07-12 312 if ((bp->speed != phydev
> ->speed) ||
> 6c36a7074 drivers/net/macb.c frederic RODO
> 2007-07-12 313 (bp->duplex != phydev
> ->duplex)) {
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 314 u32 reg;
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 315
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 @316 reg = macb_readl(bp,
> NCFGR);
> 89e5785fc drivers/net/macb.c Haavard Skinnemoen
> 2006-11-09 317 reg &=
> ~(MACB_BIT(SPD) | MACB_BIT(FD));
> 140b7552f drivers/net/ethernet/cadence/macb.c Patrice Vilchez
> 2012-10-31 318 if (macb_is_gem(bp))
> 140b7552f drivers/net/ethernet/cadence/macb.c Patrice Vilchez
> 2012-10-31 319 reg &=
> ~GEM_BIT(GBE);
>
> :::::: The code at line 164 was first introduced by commit
> :::::: f75ba50bdc2bcfab591bdf903312557033d0ac68 macb: initial support
> for Cadence GEM
>
> :::::: TO: Jamie Iles <jamie.iles@mathembedded.com>
> :::::: CC: Jamie Iles <jamie@jamieiles.com>
>
> ---
> 0-DAY kernel test infrastructure Open Source
> Technology Center
> https://lists.01.org/pipermail/kbuild-all Intel Cor
> poration
--
Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Intel Finland Oy
next prev parent reply other threads:[~2015-07-27 11:10 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-27 9:03 [net:master 41/49] drivers/net/ethernet/cadence/macb.c:164:1: error: macro "writel" passed 3 arguments, but takes just 2 kbuild test robot
2015-07-27 11:07 ` Andy Shevchenko [this message]
2015-07-27 21:25 ` David Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1437995273.29746.84.camel@linux.intel.com \
--to=andriy.shevchenko@linux.intel.com \
--cc=kbuild-all@01.org \
--cc=netdev@vger.kernel.org \
--cc=nicolas.ferre@atmel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.