svn commit: r185756 - head/sys/dev/re
Pyun YongHyeon
yongari at FreeBSD.org
Sun Dec 7 18:48:42 PST 2008
Author: yongari
Date: Mon Dec 8 02:48:41 2008
New Revision: 185756
URL: http://svn.freebsd.org/changeset/base/185756
Log:
Reduce spin wait time consumed in GMII register access routines.
Waiting for 1ms for each GMII register access looks overkill and it
may also decrease overall performance of driver because re(4)
invokes mii_tick for every hz.
Tested by: rpaulo
Modified:
head/sys/dev/re/if_re.c
Modified: head/sys/dev/re/if_re.c
==============================================================================
--- head/sys/dev/re/if_re.c Mon Dec 8 02:38:13 2008 (r185755)
+++ head/sys/dev/re/if_re.c Mon Dec 8 02:48:41 2008 (r185756)
@@ -417,13 +417,12 @@ re_gmii_readreg(device_t dev, int phy, i
}
CSR_WRITE_4(sc, RL_PHYAR, reg << 16);
- DELAY(1000);
for (i = 0; i < RL_TIMEOUT; i++) {
+ DELAY(30);
rval = CSR_READ_4(sc, RL_PHYAR);
if (rval & RL_PHYAR_BUSY)
break;
- DELAY(100);
}
if (i == RL_TIMEOUT) {
@@ -445,13 +444,12 @@ re_gmii_writereg(device_t dev, int phy,
CSR_WRITE_4(sc, RL_PHYAR, (reg << 16) |
(data & RL_PHYAR_PHYDATA) | RL_PHYAR_BUSY);
- DELAY(1000);
for (i = 0; i < RL_TIMEOUT; i++) {
+ DELAY(30);
rval = CSR_READ_4(sc, RL_PHYAR);
if (!(rval & RL_PHYAR_BUSY))
break;
- DELAY(100);
}
if (i == RL_TIMEOUT) {
More information about the svn-src-head
mailing list