From owner-svn-src-all@FreeBSD.ORG Wed Feb 9 16:37:29 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A379D106566B; Wed, 9 Feb 2011 16:37:29 +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 77B838FC23; Wed, 9 Feb 2011 16:37:29 +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 p19GbTHb090466; Wed, 9 Feb 2011 16:37:29 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p19GbTLD090462; Wed, 9 Feb 2011 16:37:29 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201102091637.p19GbTLD090462@svn.freebsd.org> From: Adrian Chadd Date: Wed, 9 Feb 2011 16:37:29 +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: r218490 - in head/sys/dev/ath: . ath_hal X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Feb 2011 16:37:29 -0000 Author: adrian Date: Wed Feb 9 16:37:29 2011 New Revision: 218490 URL: http://svn.freebsd.org/changeset/base/218490 Log: Expose the 4k transaction workaround hooks to the driver, but don't (yet) fix the descriptor allocation. Modified: head/sys/dev/ath/ath_hal/ah.c head/sys/dev/ath/ath_hal/ah.h head/sys/dev/ath/if_athvar.h Modified: head/sys/dev/ath/ath_hal/ah.c ============================================================================== --- head/sys/dev/ath/ath_hal/ah.c Wed Feb 9 15:55:48 2011 (r218489) +++ head/sys/dev/ath/ath_hal/ah.c Wed Feb 9 16:37:29 2011 (r218490) @@ -594,6 +594,8 @@ ath_hal_getcapability(struct ath_hal *ah default: return HAL_ENOTSUPP; } + case HAP_CAP_SPLIT_4KB_TRANS: /* hardware handles descriptors straddling 4k page boundary */ + return pCap->hal4kbSplitTransSupport ? HAL_OK : HAL_ENOTSUPP; default: return HAL_EINVAL; } Modified: head/sys/dev/ath/ath_hal/ah.h ============================================================================== --- head/sys/dev/ath/ath_hal/ah.h Wed Feb 9 15:55:48 2011 (r218489) +++ head/sys/dev/ath/ath_hal/ah.h Wed Feb 9 16:37:29 2011 (r218490) @@ -112,6 +112,7 @@ typedef enum { HAL_CAP_INTRMASK = 37, /* bitmask of supported interrupts */ HAL_CAP_BSSIDMATCH = 38, /* hardware has disable bssid match */ HAL_CAP_STREAMS = 39, /* how many 802.11n spatial streams are available */ + HAP_CAP_SPLIT_4KB_TRANS = 40, /* hardware supports descriptors straddling a 4k page boundary */ } HAL_CAPABILITY_TYPE; /* Modified: head/sys/dev/ath/if_athvar.h ============================================================================== --- head/sys/dev/ath/if_athvar.h Wed Feb 9 15:55:48 2011 (r218489) +++ head/sys/dev/ath/if_athvar.h Wed Feb 9 16:37:29 2011 (r218490) @@ -636,6 +636,8 @@ void ath_intr(void *); (ath_hal_getcapability(_ah, HAL_CAP_RX_CHAINMASK, 0, _prxchainmask)) #define ath_hal_gettxchainmask(_ah, _ptxchainmask) \ (ath_hal_getcapability(_ah, HAL_CAP_TX_CHAINMASK, 0, _ptxchainmask)) +#define ath_hal_split4ktrans(_ah) \ + (ath_hal_getcapability(_ah, HAP_CAP_SPLIT_4KB_TRANS, 0, NULL) == HAL_OK) #define ath_hal_setuprxdesc(_ah, _ds, _size, _intreq) \ ((*(_ah)->ah_setupRxDesc)((_ah), (_ds), (_size), (_intreq)))