From owner-svn-src-head@FreeBSD.ORG Thu Jan 20 07:03:21 2011 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0EA221065670; Thu, 20 Jan 2011 07:03:21 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D6F118FC0A; Thu, 20 Jan 2011 07:03:20 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id p0K73KFU004036; Thu, 20 Jan 2011 07:03:20 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p0K73KXx004033; Thu, 20 Jan 2011 07:03:20 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201101200703.p0K73KXx004033@svn.freebsd.org> From: Adrian Chadd Date: Thu, 20 Jan 2011 07:03:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r217622 - head/sys/dev/ath/ath_hal X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Jan 2011 07:03:21 -0000 Author: adrian Date: Thu Jan 20 07:03:20 2011 New Revision: 217622 URL: http://svn.freebsd.org/changeset/base/217622 Log: Add another HAL function which waits for a register for a configurable amount. This will be used by some future code. Modified: head/sys/dev/ath/ath_hal/ah.c head/sys/dev/ath/ath_hal/ah_internal.h Modified: head/sys/dev/ath/ath_hal/ah.c ============================================================================== --- head/sys/dev/ath/ath_hal/ah.c Thu Jan 20 05:49:15 2011 (r217621) +++ head/sys/dev/ath/ath_hal/ah.c Thu Jan 20 07:03:20 2011 (r217622) @@ -197,9 +197,16 @@ HAL_BOOL ath_hal_wait(struct ath_hal *ah, u_int reg, uint32_t mask, uint32_t val) { #define AH_TIMEOUT 1000 + return ath_hal_waitfor(ah, reg, mask, val, AH_TIMEOUT); +#undef AH_TIMEOUT +} + +HAL_BOOL +ath_hal_waitfor(struct ath_hal *ah, u_int reg, uint32_t mask, uint32_t val, uint32_t timeout) +{ int i; - for (i = 0; i < AH_TIMEOUT; i++) { + for (i = 0; i < timeout; i++) { if ((OS_REG_READ(ah, reg) & mask) == val) return AH_TRUE; OS_DELAY(10); @@ -208,7 +215,6 @@ ath_hal_wait(struct ath_hal *ah, u_int r "%s: timeout on reg 0x%x: 0x%08x & 0x%08x != 0x%08x\n", __func__, reg, OS_REG_READ(ah, reg), mask, val); return AH_FALSE; -#undef AH_TIMEOUT } /* Modified: head/sys/dev/ath/ath_hal/ah_internal.h ============================================================================== --- head/sys/dev/ath/ath_hal/ah_internal.h Thu Jan 20 05:49:15 2011 (r217621) +++ head/sys/dev/ath/ath_hal/ah_internal.h Thu Jan 20 07:03:20 2011 (r217622) @@ -471,6 +471,8 @@ extern int ath_hal_additional_swba_backo /* wait for the register contents to have the specified value */ extern HAL_BOOL ath_hal_wait(struct ath_hal *, u_int reg, uint32_t mask, uint32_t val); +extern HAL_BOOL ath_hal_waitfor(struct ath_hal *, u_int reg, + uint32_t mask, uint32_t val, uint32_t timeout); /* return the first n bits in val reversed */ extern uint32_t ath_hal_reverseBits(uint32_t val, uint32_t n);