PERFORCE change 120459 for review
Matt Jacob
mjacob at FreeBSD.org
Sun May 27 17:30:13 UTC 2007
http://perforce.freebsd.org/chv.cgi?CH=120459
Change 120459 by mjacob at mjexp on 2007/05/27 17:29:58
Fix some DELAY stuff.
Affected files ...
.. //depot/projects/mjexp/sys/dev/bge/if_bge.c#14 edit
Differences ...
==== //depot/projects/mjexp/sys/dev/bge/if_bge.c#14 (text+ko) ====
@@ -591,7 +591,7 @@
break;
}
- if (i == BGE_TIMEOUT) {
+ if (i == BGE_TIMEOUT * 10) {
device_printf(sc->bge_dev, "EEPROM read timed out\n");
return (1);
}
@@ -655,6 +655,7 @@
BGE_MIPHY(phy) | BGE_MIREG(reg));
for (i = 0; i < BGE_TIMEOUT; i++) {
+ DELAY(10);
val = CSR_READ_4(sc, BGE_MI_COMM);
if (!(val & BGE_MICOMM_BUSY))
break;
@@ -700,19 +701,21 @@
BGE_MIPHY(phy) | BGE_MIREG(reg) | val);
for (i = 0; i < BGE_TIMEOUT; i++) {
+ DELAY(10);
if (!(CSR_READ_4(sc, BGE_MI_COMM) & BGE_MICOMM_BUSY))
break;
}
+ if (i == BGE_TIMEOUT) {
+ device_printf(sc->bge_dev, "PHY read timed out\n");
+ return (0);
+ }
+
if (autopoll & BGE_MIMODE_AUTOPOLL) {
BGE_SETBIT(sc, BGE_MI_MODE, BGE_MIMODE_AUTOPOLL);
DELAY(40);
}
- if (i == BGE_TIMEOUT) {
- device_printf(sc->bge_dev, "PHY read timed out\n");
- return (0);
- }
return (0);
}
@@ -1324,9 +1327,9 @@
/* Poll for buffer manager start indication */
for (i = 0; i < BGE_TIMEOUT; i++) {
+ DELAY(10);
if (CSR_READ_4(sc, BGE_BMAN_MODE) & BGE_BMANMODE_ENABLE)
break;
- DELAY(10);
}
if (i == BGE_TIMEOUT) {
@@ -1342,9 +1345,9 @@
/* Wait until queue initialization is complete */
for (i = 0; i < BGE_TIMEOUT; i++) {
+ DELAY(10);
if (CSR_READ_4(sc, BGE_FTQ_RESET) == 0)
break;
- DELAY(10);
}
if (i == BGE_TIMEOUT) {
@@ -1513,9 +1516,9 @@
/* Poll to make sure it's shut down. */
for (i = 0; i < BGE_TIMEOUT; i++) {
+ DELAY(10);
if (!(CSR_READ_4(sc, BGE_HCC_MODE) & BGE_HCCMODE_ENABLE))
break;
- DELAY(10);
}
if (i == BGE_TIMEOUT) {
@@ -2794,10 +2797,10 @@
* We expect this to fail if no EEPROM is fitted though.
*/
for (i = 0; i < BGE_TIMEOUT; i++) {
+ DELAY(10);
val = bge_readmem_ind(sc, BGE_SOFTWARE_GENCOMM);
if (val == ~BGE_MAGIC_NUMBER)
break;
- DELAY(10);
}
if ((sc->bge_flags & BGE_FLAG_EEPROM) && i == BGE_TIMEOUT)
@@ -2813,9 +2816,13 @@
* results.
*/
for (i = 0; i < BGE_TIMEOUT; i++) {
+ DELAY(10);
if (pci_read_config(dev, BGE_PCI_PCISTATE, 4) == pcistate)
break;
- DELAY(10);
+ }
+
+ if (i == BGE_TIMEOUT) {
+ device_printf(sc->bge_dev, "pci state didn't transition\n");
}
if (sc->bge_flags & BGE_FLAG_PCIE) {
More information about the p4-projects
mailing list