summaryrefslogtreecommitdiffstats
path: root/sys/dev
diff options
context:
space:
mode:
authoradrian <adrian@FreeBSD.org>2012-12-03 23:45:06 +0000
committeradrian <adrian@FreeBSD.org>2012-12-03 23:45:06 +0000
commitb6088ed1c9fdd89257b23ab467aea1c1719819bf (patch)
treeb737926ef06c694b79c8e4e409cf6797d90c0789 /sys/dev
parentc0c39050490f62a0a06787cecc2ce931c8ce2b55 (diff)
downloadFreeBSD-src-b6088ed1c9fdd89257b23ab467aea1c1719819bf.zip
FreeBSD-src-b6088ed1c9fdd89257b23ab467aea1c1719819bf.tar.gz
Add and tie in the AR5416 bluetooth coexistence methods into the HAL.
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/ath/ath_hal/ah.h16
-rw-r--r--sys/dev/ath/ath_hal/ar5416/ar5416_attach.c10
2 files changed, 26 insertions, 0 deletions
diff --git a/sys/dev/ath/ath_hal/ah.h b/sys/dev/ath/ath_hal/ah.h
index 54cef23..8a71450 100644
--- a/sys/dev/ath/ath_hal/ah.h
+++ b/sys/dev/ath/ath_hal/ah.h
@@ -1514,6 +1514,22 @@ struct ath_hal {
HAL_BOOL __ahdecl(*ah_getPendingInterrupts)(struct ath_hal*, HAL_INT*);
HAL_INT __ahdecl(*ah_getInterrupts)(struct ath_hal*);
HAL_INT __ahdecl(*ah_setInterrupts)(struct ath_hal*, HAL_INT);
+
+ /* Bluetooth Coexistence functions */
+ void __ahdecl(*ah_btCoexSetInfo)(struct ath_hal *,
+ HAL_BT_COEX_INFO *);
+ void __ahdecl(*ah_btCoexSetConfig)(struct ath_hal *,
+ HAL_BT_COEX_CONFIG *);
+ void __ahdecl(*ah_btCoexSetQcuThresh)(struct ath_hal *,
+ int);
+ void __ahdecl(*ah_btCoexSetWeights)(struct ath_hal *,
+ uint32_t);
+ void __ahdecl(*ah_btCoexSetBmissThresh)(struct ath_hal *,
+ uint32_t);
+ void __ahdecl(*ah_btcoexSetParameter)(struct ath_hal *,
+ uint32_t, uint32_t);
+ void __ahdecl(*ah_btCoexDisable)(struct ath_hal *);
+ int __ahdecl(*ah_btCoexEnable)(struct ath_hal *);
};
/*
diff --git a/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c b/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c
index 603dfc2..a7cb06d 100644
--- a/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c
+++ b/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c
@@ -191,6 +191,16 @@ ar5416InitState(struct ath_hal_5416 *ahp5416, uint16_t devid, HAL_SOFTC sc,
ah->ah_getPendingInterrupts = ar5416GetPendingInterrupts;
ah->ah_setInterrupts = ar5416SetInterrupts;
+ /* Bluetooth Coexistence functions */
+ ah->ah_btCoexSetInfo = ar5416SetBTCoexInfo;
+ ah->ah_btCoexSetConfig = ar5416BTCoexConfig;
+ ah->ah_btCoexSetQcuThresh = ar5416BTCoexSetQcuThresh;
+ ah->ah_btCoexSetWeights = ar5416BTCoexSetWeights;
+ ah->ah_btCoexSetBmissThresh = ar5416BTCoexSetupBmissThresh;
+ ah->ah_btcoexSetParameter = ar5416BTCoexSetParameter;
+ ah->ah_btCoexDisable = ar5416BTCoexDisable;
+ ah->ah_btCoexEnable = ar5416BTCoexEnable;
+
ahp->ah_priv.ah_getWirelessModes= ar5416GetWirelessModes;
ahp->ah_priv.ah_eepromRead = ar5416EepromRead;
#ifdef AH_SUPPORT_WRITE_EEPROM
OpenPOWER on IntegriCloud