svn commit: r218490 - in head/sys/dev/ath: . ath_hal
Adrian Chadd
adrian at FreeBSD.org
Wed Feb 9 16:37:29 UTC 2011
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)))
More information about the svn-src-head
mailing list