[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20080423051832.63BF7DDF65@ozlabs.org>
Date: Wed, 23 Apr 2008 15:17:14 +1000
From: Benjamin Herrenschmidt <benh@...nel.crashing.org>
To: <jgarzik@...ox.com>
CC: <netdev@...r.kernel.org>, <linuxppc-dev@...abs.org>,
<super.firetwister@...glemail.com>
Subject: [PATCH] ibm_newemac: Increase MDIO timeouts
This patch doubles the MDIO timeouts in EMAC as there are field
cases where they are two short to communicate with some PHYs.
Signed-off-by: Benjamin Herrenschmidt <benh@...nel.crashing.org>
---
drivers/net/ibm_newemac/core.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
--- linux-work.orig/drivers/net/ibm_newemac/core.c 2008-04-23 15:11:16.000000000 +1000
+++ linux-work/drivers/net/ibm_newemac/core.c 2008-04-23 15:14:20.000000000 +1000
@@ -738,7 +738,7 @@ static int __emac_mdio_read(struct emac_
rgmii_get_mdio(dev->rgmii_dev, dev->rgmii_port);
/* Wait for management interface to become idle */
- n = 10;
+ n = 20;
while (!emac_phy_done(dev, in_be32(&p->stacr))) {
udelay(1);
if (!--n) {
@@ -763,7 +763,7 @@ static int __emac_mdio_read(struct emac_
out_be32(&p->stacr, r);
/* Wait for read to complete */
- n = 100;
+ n = 200;
while (!emac_phy_done(dev, (r = in_be32(&p->stacr)))) {
udelay(1);
if (!--n) {
@@ -810,7 +810,7 @@ static void __emac_mdio_write(struct ema
rgmii_get_mdio(dev->rgmii_dev, dev->rgmii_port);
/* Wait for management interface to be idle */
- n = 10;
+ n = 20;
while (!emac_phy_done(dev, in_be32(&p->stacr))) {
udelay(1);
if (!--n) {
@@ -836,7 +836,7 @@ static void __emac_mdio_write(struct ema
out_be32(&p->stacr, r);
/* Wait for write to complete */
- n = 100;
+ n = 200;
while (!emac_phy_done(dev, in_be32(&p->stacr))) {
udelay(1);
if (!--n) {
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists