From owner-p4-projects@FreeBSD.ORG Sun May 27 17:30:12 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A1C1716A46D; Sun, 27 May 2007 17:30:12 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 5884B16A46B for ; Sun, 27 May 2007 17:30:12 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 4915B13C45E for ; Sun, 27 May 2007 17:30:12 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l4RHUCF9031855 for ; Sun, 27 May 2007 17:30:12 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l4RHUBWu031848 for perforce@freebsd.org; Sun, 27 May 2007 17:30:11 GMT (envelope-from mjacob@freebsd.org) Date: Sun, 27 May 2007 17:30:11 GMT Message-Id: <200705271730.l4RHUBWu031848@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 120459 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 May 2007 17:30:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=120459 Change 120459 by mjacob@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) {