netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCHv2 08/11] fec: fix uninitialized rx buffer usage
       [not found]               ` <cover.1265173480.git.amit.kucheria@canonical.com>
@ 2010-02-03  5:16                 ` Amit Kucheria
  2010-02-03 16:46                   ` Grant Likely
  2010-02-03  5:16                 ` [PATCHv2 09/11] fec: Add LAN8700 phy support Amit Kucheria
  2010-02-03  5:16                 ` [PATCHv2 10/11] fec: Add ARCH_MX5 as a dependency Amit Kucheria
  2 siblings, 1 reply; 7+ messages in thread
From: Amit Kucheria @ 2010-02-03  5:16 UTC (permalink / raw)
  To: List Linux Kernel
  Cc: linux, Dinh.Nguyen, netdev, s.hauer, grant.likely, Rob Herring,
	valentin.longchamp, daniel, bryan.wu, David S. Miller,
	linux-arm-kernel

From: Rob Herring <r.herring@freescale.com>

The fec driver was enabling receive buffer descriptor without allocating
the buffers. Make sure the buffer descriptors are initialized to not
start receiving packets.

Open also calls fec_restart after the rx buffers are allocated. With the code
in fec_restart, it zeroes out the buffer descriptors that have just been
setup.

Signed-off-by: Rob Herring <r.herring@freescale.com>
Signed-off-by: Amit Kucheria <amit.kucheria@canonical.com>
Cc: David S. Miller <davem@davemloft.net>
Cc: netdev@vger.kernel.org
---
 drivers/net/fec.c |   57 +++++++++++++++++++++++++++--------------------------
 1 files changed, 29 insertions(+), 28 deletions(-)

diff --git a/drivers/net/fec.c b/drivers/net/fec.c
index 16a1d58..9a8743d 100644
--- a/drivers/net/fec.c
+++ b/drivers/net/fec.c
@@ -1658,6 +1658,7 @@ static int fec_enet_init(struct net_device *dev, int index)
 {
 	struct fec_enet_private *fep = netdev_priv(dev);
 	struct bufdesc *cbd_base;
+	struct bufdesc *bdp;
 	int i;
 
 	/* Allocate memory for buffer descriptors. */
@@ -1710,6 +1711,34 @@ static int fec_enet_init(struct net_device *dev, int index)
 	/* Set MII speed to 2.5 MHz */
 	fep->phy_speed = ((((clk_get_rate(fep->clk) / 2 + 4999999)
 					/ 2500000) / 2) & 0x3F) << 1;
+
+	/* Initialize the receive buffer descriptors. */
+	bdp = fep->rx_bd_base;
+	for (i = 0; i < RX_RING_SIZE; i++) {
+
+		/* Initialize the BD for every fragment in the page. */
+		bdp->cbd_sc = 0;
+		bdp++;
+	}
+
+	/* Set the last buffer to wrap */
+	bdp--;
+	bdp->cbd_sc |= BD_SC_WRAP;
+
+	/* ...and the same for transmit */
+	bdp = fep->tx_bd_base;
+	for (i = 0; i < TX_RING_SIZE; i++) {
+
+		/* Initialize the BD for every fragment in the page. */
+		bdp->cbd_sc = 0;
+		bdp->cbd_bufaddr = 0;
+		bdp++;
+	}
+
+	/* Set the last buffer to wrap */
+	bdp--;
+	bdp->cbd_sc |= BD_SC_WRAP;
+
 	fec_restart(dev, 0);
 
 	/* Queue up command to detect the PHY and initialize the
@@ -1730,7 +1759,6 @@ static void
 fec_restart(struct net_device *dev, int duplex)
 {
 	struct fec_enet_private *fep = netdev_priv(dev);
-	struct bufdesc *bdp;
 	int i;
 
 	/* Whack a reset.  We should wait for this. */
@@ -1768,33 +1796,6 @@ fec_restart(struct net_device *dev, int duplex)
 		}
 	}
 
-	/* Initialize the receive buffer descriptors. */
-	bdp = fep->rx_bd_base;
-	for (i = 0; i < RX_RING_SIZE; i++) {
-
-		/* Initialize the BD for every fragment in the page. */
-		bdp->cbd_sc = BD_ENET_RX_EMPTY;
-		bdp++;
-	}
-
-	/* Set the last buffer to wrap */
-	bdp--;
-	bdp->cbd_sc |= BD_SC_WRAP;
-
-	/* ...and the same for transmit */
-	bdp = fep->tx_bd_base;
-	for (i = 0; i < TX_RING_SIZE; i++) {
-
-		/* Initialize the BD for every fragment in the page. */
-		bdp->cbd_sc = 0;
-		bdp->cbd_bufaddr = 0;
-		bdp++;
-	}
-
-	/* Set the last buffer to wrap */
-	bdp--;
-	bdp->cbd_sc |= BD_SC_WRAP;
-
 	/* Enable MII mode */
 	if (duplex) {
 		/* MII enable / FD enable */
-- 
1.6.3.3

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

* [PATCHv2 09/11] fec: Add LAN8700 phy support
       [not found]               ` <cover.1265173480.git.amit.kucheria@canonical.com>
  2010-02-03  5:16                 ` [PATCHv2 08/11] fec: fix uninitialized rx buffer usage Amit Kucheria
@ 2010-02-03  5:16                 ` Amit Kucheria
  2010-02-03  5:16                 ` [PATCHv2 10/11] fec: Add ARCH_MX5 as a dependency Amit Kucheria
  2 siblings, 0 replies; 7+ messages in thread
From: Amit Kucheria @ 2010-02-03  5:16 UTC (permalink / raw)
  To: List Linux Kernel
  Cc: David S. Miller, netdev, linux-arm-kernel, linux, s.hauer,
	valentin.longchamp, daniel, grant.likely, Dinh.Nguyen, r.herring,
	bryan.wu

The i.MX51 babbage board has a FEC ethernet controller with this phy.

In the long term we should resurrect the phylib patches for fec.

Signed-off-by: Amit Kucheria <amit.kucheria@canonical.com>
Cc: David S. Miller <davem@davemloft.net>
Cc: netdev@vger.kernel.org
---
 drivers/net/fec.c |   21 +++++++++++++++++++++
 1 files changed, 21 insertions(+), 0 deletions(-)

diff --git a/drivers/net/fec.c b/drivers/net/fec.c
index 9a8743d..5d0d332 100644
--- a/drivers/net/fec.c
+++ b/drivers/net/fec.c
@@ -1128,6 +1128,26 @@ static phy_info_t phy_info_dp83848= {
 	},
 };
 
+static phy_info_t phy_info_lan8700 = {
+	0x0007C0C,
+	"LAN8700",
+	(const phy_cmd_t []) { /* config */
+		{ mk_mii_read(MII_REG_CR), mii_parse_cr },
+		{ mk_mii_read(MII_REG_ANAR), mii_parse_anar },
+		{ mk_mii_end, }
+	},
+	(const phy_cmd_t []) { /* startup */
+		{ mk_mii_write(MII_REG_CR, 0x1200), NULL }, /* autonegotiate */
+		{ mk_mii_read(MII_REG_SR), mii_parse_sr },
+		{ mk_mii_end, }
+	},
+	(const phy_cmd_t []) { /* act_int */
+		{ mk_mii_end, }
+	},
+	(const phy_cmd_t []) { /* shutdown */
+		{ mk_mii_end, }
+	},
+};
 /* ------------------------------------------------------------------------- */
 
 static phy_info_t const * const phy_info[] = {
@@ -1137,6 +1157,7 @@ static phy_info_t const * const phy_info[] = {
 	&phy_info_am79c874,
 	&phy_info_ks8721bl,
 	&phy_info_dp83848,
+	&phy_info_lan8700,
 	NULL
 };
 
-- 
1.6.3.3

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

* [PATCHv2 10/11] fec: Add ARCH_MX5 as a dependency
       [not found]               ` <cover.1265173480.git.amit.kucheria@canonical.com>
  2010-02-03  5:16                 ` [PATCHv2 08/11] fec: fix uninitialized rx buffer usage Amit Kucheria
  2010-02-03  5:16                 ` [PATCHv2 09/11] fec: Add LAN8700 phy support Amit Kucheria
@ 2010-02-03  5:16                 ` Amit Kucheria
  2 siblings, 0 replies; 7+ messages in thread
From: Amit Kucheria @ 2010-02-03  5:16 UTC (permalink / raw)
  To: List Linux Kernel
  Cc: David S. Miller, netdev, linux-arm-kernel, linux, s.hauer,
	valentin.longchamp, daniel, grant.likely, Dinh.Nguyen, r.herring,
	bryan.wu

i.MX51 babbage board has a FEC ethernet controller

Signed-off-by: Amit Kucheria <amit.kucheria@canonical.com>
Cc: David S. Miller <davem@davemloft.net>
Cc: netdev@vger.kernel.org
---
 drivers/net/Kconfig |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
index dd9a09c..515658e 100644
--- a/drivers/net/Kconfig
+++ b/drivers/net/Kconfig
@@ -1883,7 +1883,8 @@ config 68360_ENET
 
 config FEC
 	bool "FEC ethernet controller (of ColdFire and some i.MX CPUs)"
-	depends on M523x || M527x || M5272 || M528x || M520x || M532x || MACH_MX27 || ARCH_MX35 || ARCH_MX25
+	depends on M523x || M527x || M5272 || M528x || M520x || M532x || \
+		MACH_MX27 || ARCH_MX35 || ARCH_MX25 || ARCH_MX5
 	help
 	  Say Y here if you want to use the built-in 10/100 Fast ethernet
 	  controller on some Motorola ColdFire and Freescale i.MX processors.
-- 
1.6.3.3

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

* Re: [PATCHv2 08/11] fec: fix uninitialized rx buffer usage
  2010-02-03  5:16                 ` [PATCHv2 08/11] fec: fix uninitialized rx buffer usage Amit Kucheria
@ 2010-02-03 16:46                   ` Grant Likely
  2010-02-03 18:33                     ` Amit Kucheria
  0 siblings, 1 reply; 7+ messages in thread
From: Grant Likely @ 2010-02-03 16:46 UTC (permalink / raw)
  To: Amit Kucheria
  Cc: List Linux Kernel, Rob Herring, David S. Miller, netdev,
	linux-arm-kernel, linux, s.hauer, valentin.longchamp, daniel,
	Dinh.Nguyen, bryan.wu

On Tue, Feb 2, 2010 at 10:16 PM, Amit Kucheria
<amit.kucheria@canonical.com> wrote:
> From: Rob Herring <r.herring@freescale.com>
>
> The fec driver was enabling receive buffer descriptor without allocating
> the buffers. Make sure the buffer descriptors are initialized to not
> start receiving packets.
>
> Open also calls fec_restart after the rx buffers are allocated. With the code
> in fec_restart, it zeroes out the buffer descriptors that have just been
> setup.

fec related patches 8 & 9 look okay to me.

g.

-- 
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.

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

* Re: [PATCHv2 08/11] fec: fix uninitialized rx buffer usage
  2010-02-03 16:46                   ` Grant Likely
@ 2010-02-03 18:33                     ` Amit Kucheria
  2010-02-03 18:38                       ` Grant Likely
  0 siblings, 1 reply; 7+ messages in thread
From: Amit Kucheria @ 2010-02-03 18:33 UTC (permalink / raw)
  To: Grant Likely
  Cc: List Linux Kernel, Rob Herring, David S. Miller, netdev,
	linux-arm-kernel, linux, s.hauer, valentin.longchamp, daniel,
	Dinh.Nguyen, bryan.wu

On Wed, Feb 3, 2010 at 8:46 AM, Grant Likely <grant.likely@secretlab.ca> wrote:
> On Tue, Feb 2, 2010 at 10:16 PM, Amit Kucheria
> <amit.kucheria@canonical.com> wrote:
>> From: Rob Herring <r.herring@freescale.com>
>>
>> The fec driver was enabling receive buffer descriptor without allocating
>> the buffers. Make sure the buffer descriptors are initialized to not
>> start receiving packets.
>>
>> Open also calls fec_restart after the rx buffers are allocated. With the code
>> in fec_restart, it zeroes out the buffer descriptors that have just been
>> setup.
>
> fec related patches 8 & 9 look okay to me.
>
> g.
>
> --
> Grant Likely, B.Sc., P.Eng.
> Secret Lab Technologies Ltd.

Can I take that as an Acked-by?

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

* Re: [PATCHv2 08/11] fec: fix uninitialized rx buffer usage
  2010-02-03 18:33                     ` Amit Kucheria
@ 2010-02-03 18:38                       ` Grant Likely
  2010-02-03 20:23                         ` Grant Likely
  0 siblings, 1 reply; 7+ messages in thread
From: Grant Likely @ 2010-02-03 18:38 UTC (permalink / raw)
  To: Amit Kucheria
  Cc: List Linux Kernel, Rob Herring, David S. Miller, netdev,
	linux-arm-kernel, linux, s.hauer, valentin.longchamp, daniel,
	Dinh.Nguyen, bryan.wu

On Wed, Feb 3, 2010 at 11:33 AM, Amit Kucheria
<amit.kucheria@canonical.com> wrote:
> On Wed, Feb 3, 2010 at 8:46 AM, Grant Likely <grant.likely@secretlab.ca> wrote:
>> On Tue, Feb 2, 2010 at 10:16 PM, Amit Kucheria
>> <amit.kucheria@canonical.com> wrote:
>>> From: Rob Herring <r.herring@freescale.com>
>>>
>>> The fec driver was enabling receive buffer descriptor without allocating
>>> the buffers. Make sure the buffer descriptors are initialized to not
>>> start receiving packets.
>>>
>>> Open also calls fec_restart after the rx buffers are allocated. With the code
>>> in fec_restart, it zeroes out the buffer descriptors that have just been
>>> setup.
>>
>> fec related patches 8 & 9 look okay to me.
>>
>> g.
>>
>> --
>> Grant Likely, B.Sc., P.Eng.
>> Secret Lab Technologies Ltd.
>
> Can I take that as an Acked-by?

of course.

g.

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

* Re: [PATCHv2 08/11] fec: fix uninitialized rx buffer usage
  2010-02-03 18:38                       ` Grant Likely
@ 2010-02-03 20:23                         ` Grant Likely
  0 siblings, 0 replies; 7+ messages in thread
From: Grant Likely @ 2010-02-03 20:23 UTC (permalink / raw)
  To: Amit Kucheria
  Cc: List Linux Kernel, Rob Herring, David S. Miller, netdev,
	linux-arm-kernel, linux, s.hauer, valentin.longchamp, daniel,
	Dinh.Nguyen, bryan.wu

On Wed, Feb 3, 2010 at 11:38 AM, Grant Likely <grant.likely@secretlab.ca> wrote:
> On Wed, Feb 3, 2010 at 11:33 AM, Amit Kucheria
> <amit.kucheria@canonical.com> wrote:
>> On Wed, Feb 3, 2010 at 8:46 AM, Grant Likely <grant.likely@secretlab.ca> wrote:
>>>
>>> fec related patches 8 & 9 look okay to me.
>>>
>>> g.
>>
>> Can I take that as an Acked-by?
>
> of course.

BTW, since these 2 patches are essentially independent, you may find
it easier to get all the patches merged if you post the FEC changes in
a separate patch series.

g.

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

end of thread, other threads:[~2010-02-03 20:23 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <cover.1265173246.git.amit.kucheria@verdurent.com>
     [not found] ` <0511204199ab83aed2340e70a4639500c0528dab.1265173480.git.amit.kucheria@canonical.com>
     [not found]   ` <9fa7a3c70c46a1f776c6520051481cff6525ef02.1265173480.git.amit.kucheria@canonical.com>
     [not found]     ` <ccc89dd7a6035abf5a78680404a2b30b9e025353.1265173480.git.amit.kucheria@canonical.com>
     [not found]       ` <ec63e5978fd5ac5d308ede5916e648ba925818eb.1265173480.git.amit.kucheria@canonical.com>
     [not found]         ` <f10f79e7313ecdeeb59ab881795baedf2430c636.1265173480.git.amit.kucheria@canonical.com>
     [not found]           ` <240f12ca87d7666f31263aabc620a9ec197cd8ff.1265173480.git.amit.kucheria@canonical.com>
     [not found]             ` <752ae69adb57d4f73fa011ba380cea1b927b9c8b.1265173480.git.amit.kucheria@canonical.com>
     [not found]               ` <cover.1265173480.git.amit.kucheria@canonical.com>
2010-02-03  5:16                 ` [PATCHv2 08/11] fec: fix uninitialized rx buffer usage Amit Kucheria
2010-02-03 16:46                   ` Grant Likely
2010-02-03 18:33                     ` Amit Kucheria
2010-02-03 18:38                       ` Grant Likely
2010-02-03 20:23                         ` Grant Likely
2010-02-03  5:16                 ` [PATCHv2 09/11] fec: Add LAN8700 phy support Amit Kucheria
2010-02-03  5:16                 ` [PATCHv2 10/11] fec: Add ARCH_MX5 as a dependency Amit Kucheria

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