From owner-p4-projects@FreeBSD.ORG Mon Sep 11 20:03:05 2006 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 6FCFD16A417; Mon, 11 Sep 2006 20:03:05 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 33F8416A415 for ; Mon, 11 Sep 2006 20:03:05 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id DABD343D69 for ; Mon, 11 Sep 2006 20:03:04 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k8BK34Mx091723 for ; Mon, 11 Sep 2006 20:03:04 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k8BK341Q091720 for perforce@freebsd.org; Mon, 11 Sep 2006 20:03:04 GMT (envelope-from imp@freebsd.org) Date: Mon, 11 Sep 2006 20:03:04 GMT Message-Id: <200609112003.k8BK341Q091720@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 105982 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: Mon, 11 Sep 2006 20:03:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=105982 Change 105982 by imp@imp_lighthouse on 2006/09/11 20:02:30 Revert back to baseline for further debugging. Affected files ... .. //depot/projects/arm/src/sys/arm/at91/at91_twi.c#24 edit Differences ... ==== //depot/projects/arm/src/sys/arm/at91/at91_twi.c#24 (text+ko) ==== @@ -131,8 +131,8 @@ WR4(sc, TWI_CR, TWI_CR_SWRST); WR4(sc, TWI_CR, TWI_CR_MSEN | TWI_CR_SVDIS); WR4(sc, TWI_CWGR, sc->cwgr); - WR4(sc, TWI_IER, TWI_SR_RXRDY | TWI_SR_OVRE | TWI_SR_UNRE | - TWI_SR_NACK); +// WR4(sc, TWI_IER, TWI_SR_RXRDY | TWI_SR_OVRE | TWI_SR_UNRE | +// TWI_SR_NACK); if ((sc->iicbus = device_add_child(dev, "iicbus", -1)) == NULL) device_printf(dev, "could not allocate iicbus instance\n"); @@ -229,9 +229,9 @@ int err = 0; int counter = 10000; - while (!(RD4(sc, TWI_SR) & bit) && counter-- != 0) - continue; - if (counter == 0) + while (!(RD4(sc, TWI_SR) & bit) && counter-- >= 0) + DELAY(10); + if (counter <= 0) err = EIO; return (err); } @@ -297,7 +297,7 @@ WR4(sc, TWI_MMR, ~TWI_MMR_MREAD & RD4(sc, TWI_MMR)); WR4(sc, TWI_CR, TWI_CR_START); sc->sc_started = 1; - WR4(sc, TWI_IER, TWI_SR_TXRDY); +// WR4(sc, TWI_IER, TWI_SR_TXRDY); while (len--) { WR4(sc, TWI_THR, *walker++); while (!(sc->flags & TXRDY)) { @@ -327,7 +327,7 @@ WR4(sc, TWI_MMR, TWI_MMR_MREAD | RD4(sc, TWI_MMR)); WR4(sc, TWI_CR, TWI_CR_START); sc->sc_started = 1; - WR4(sc, TWI_IER, TWI_SR_RXRDY); +// WR4(sc, TWI_IER, TWI_SR_RXRDY); while (len-- > 0) { err = 0; while (!(sc->flags & RXRDY)) { @@ -446,8 +446,10 @@ while (len--) { if (len == 0) WR4(sc, TWI_CR, TWI_CR_STOP); - if (!at91_twi_wait(sc, TWI_SR_RXRDY)) + if (!at91_twi_wait(sc, TWI_SR_RXRDY)) { + printf("1\n"); return (EIO); + } *buf++ = RD4(sc, TWI_RHR) & 0xff; } } else { @@ -455,12 +457,16 @@ WR4(sc, TWI_THR, *buf++); if (len == 0) WR4(sc, TWI_CR, TWI_CR_STOP); - if (!at91_twi_wait(sc, TWI_SR_TXRDY)) + if (!at91_twi_wait(sc, TWI_SR_TXRDY)) { + printf("3\n"); return (EIO); + } } } - if (!at91_twi_wait(sc, TWI_SR_TXCOMP)) + if (!at91_twi_wait(sc, TWI_SR_TXCOMP)) { + printf("2\n"); return (EIO); + } } return (0); }