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