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@kernel.crashing.org> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
This commit is contained in:
parent
815b97c6b8
commit
cca87c18ce
|
@ -738,7 +738,7 @@ static int __emac_mdio_read(struct emac_instance *dev, u8 id, u8 reg)
|
||||||
rgmii_get_mdio(dev->rgmii_dev, dev->rgmii_port);
|
rgmii_get_mdio(dev->rgmii_dev, dev->rgmii_port);
|
||||||
|
|
||||||
/* Wait for management interface to become idle */
|
/* Wait for management interface to become idle */
|
||||||
n = 10;
|
n = 20;
|
||||||
while (!emac_phy_done(dev, in_be32(&p->stacr))) {
|
while (!emac_phy_done(dev, in_be32(&p->stacr))) {
|
||||||
udelay(1);
|
udelay(1);
|
||||||
if (!--n) {
|
if (!--n) {
|
||||||
|
@ -763,7 +763,7 @@ static int __emac_mdio_read(struct emac_instance *dev, u8 id, u8 reg)
|
||||||
out_be32(&p->stacr, r);
|
out_be32(&p->stacr, r);
|
||||||
|
|
||||||
/* Wait for read to complete */
|
/* Wait for read to complete */
|
||||||
n = 100;
|
n = 200;
|
||||||
while (!emac_phy_done(dev, (r = in_be32(&p->stacr)))) {
|
while (!emac_phy_done(dev, (r = in_be32(&p->stacr)))) {
|
||||||
udelay(1);
|
udelay(1);
|
||||||
if (!--n) {
|
if (!--n) {
|
||||||
|
@ -810,7 +810,7 @@ static void __emac_mdio_write(struct emac_instance *dev, u8 id, u8 reg,
|
||||||
rgmii_get_mdio(dev->rgmii_dev, dev->rgmii_port);
|
rgmii_get_mdio(dev->rgmii_dev, dev->rgmii_port);
|
||||||
|
|
||||||
/* Wait for management interface to be idle */
|
/* Wait for management interface to be idle */
|
||||||
n = 10;
|
n = 20;
|
||||||
while (!emac_phy_done(dev, in_be32(&p->stacr))) {
|
while (!emac_phy_done(dev, in_be32(&p->stacr))) {
|
||||||
udelay(1);
|
udelay(1);
|
||||||
if (!--n) {
|
if (!--n) {
|
||||||
|
@ -836,7 +836,7 @@ static void __emac_mdio_write(struct emac_instance *dev, u8 id, u8 reg,
|
||||||
out_be32(&p->stacr, r);
|
out_be32(&p->stacr, r);
|
||||||
|
|
||||||
/* Wait for write to complete */
|
/* Wait for write to complete */
|
||||||
n = 100;
|
n = 200;
|
||||||
while (!emac_phy_done(dev, in_be32(&p->stacr))) {
|
while (!emac_phy_done(dev, in_be32(&p->stacr))) {
|
||||||
udelay(1);
|
udelay(1);
|
||||||
if (!--n) {
|
if (!--n) {
|
||||||
|
|
Loading…
Reference in New Issue