X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=target_firmware%2Fwlan%2Far5416_hw.c;h=947e9a02a8342d26804420d7ee792fda1837eb56;hb=7eab2c62190edff3a8a77414eb7f908b585eeb78;hp=c0ae4181ac0d3fa409177331cd994340d5912234;hpb=2c9d0b027ee2170505ab4f148fcb764442c0f640;p=open-ath9k-htc-firmware.git diff --git a/target_firmware/wlan/ar5416_hw.c b/target_firmware/wlan/ar5416_hw.c index c0ae418..947e9a0 100644 --- a/target_firmware/wlan/ar5416_hw.c +++ b/target_firmware/wlan/ar5416_hw.c @@ -33,12 +33,10 @@ * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#include "opt_ah.h" #include "ah.h" #include "ah_internal.h" #include "ar5416.h" #include "ar5416reg.h" -#include "ar5416phy.h" #include "ar5416desc.h" #define N(a) (sizeof(a)/sizeof(a[0])) @@ -59,17 +57,14 @@ static const struct ath_hal_private ar5416hal_10 = {{ /* Transmit functions */ .ah_updateTxTrigLevel = ar5416UpdateTxTrigLevel, - .ah_getTxDP = ar5416GetTxDP, .ah_setTxDP = ar5416SetTxDP, .ah_numTxPending = ar5416NumTxPending, .ah_startTxDma = ar5416StartTxDma, .ah_stopTxDma = ar5416StopTxDma, - - .ah_getTxIntrQueue = ar5416GetTxIntrQueue, + .ah_abortTxDma = ar5416AbortTxDma, /* Misc Functions */ - .ah_getCapability = ar5416GetCapability, .ah_getTsf32 = ar5416GetTsf32, .ah_getTsf64 = ar5416GetTsf64, .ah_resetTsf = ar5416ResetTsf, @@ -290,41 +285,6 @@ ar5416SetInterrupts(struct ath_hal *ah, HAL_INT ints) return omask; } -/****************/ -/* Capabilities */ -/****************/ - -HAL_STATUS ar5416GetCapability(struct ath_hal *ah, HAL_CAPABILITY_TYPE type, - a_uint32_t capability, a_uint32_t *result) - -{ - HAL_CAPABILITIES *pCap = &AH_PRIVATE(ah)->ah_caps; -#ifndef MAGPIE_MERLIN // K2 - pCap->halRxStbcSupport = 1; /* K2 supports STBC Rx only */ - pCap->halTxStbcSupport = 0; -#else - pCap->halRxStbcSupport = 1; /* number of streams for STBC recieve. */ - pCap->halTxStbcSupport = 1; -#endif - - switch (type) { -#ifdef MAGPIE_MERLIN - case HAL_CAP_RX_STBC: - { - *result = pCap->halRxStbcSupport; - return HAL_OK; - } - case HAL_CAP_TX_STBC: - { - *result = pCap->halTxStbcSupport; - return HAL_OK; - } -#endif - default: - return ath_hal_getcapability(ah, type, capability, result); - } -} - /****************/ /* TSF Handling */ /****************/ @@ -605,12 +565,6 @@ HAL_BOOL ar5416UpdateTxTrigLevel(struct ath_hal *ah, HAL_BOOL bIncTrigLevel) return (newLevel != curLevel); } -a_uint32_t ar5416GetTxDP(struct ath_hal *ah, a_uint32_t q) -{ - HALASSERT(q < AH_PRIVATE(ah)->ah_caps.halTotalQueues); - return OS_REG_READ(ah, AR_QTXDP(q)); -} - HAL_BOOL ar5416SetTxDP(struct ath_hal *ah, a_uint32_t q, a_uint32_t txdp) { HALASSERT(q < AH_PRIVATE(ah)->ah_caps.halTotalQueues); @@ -734,20 +688,13 @@ HAL_BOOL ar5416StopTxDma(struct ath_hal*ah, a_uint32_t q) return (i != 0); } -void ar5416GetTxIntrQueue(struct ath_hal *ah, a_uint32_t *txqs) -{ - struct ath_hal_5416 *ahp = AH5416(ah); - *txqs &= ahp->ah_intrTxqs; - ahp->ah_intrTxqs &= ~(*txqs); -} - void ar5416IntrReqTxDesc_20(struct ath_hal *ah, struct ath_desc *ds) { struct ar5416_desc *ads = AR5416DESC(ds); ads->ds_ctl0 |= AR_TxIntrReq; } -HAL_BOOL ar5416SetupTxDesc_20(struct ath_hal *ah, struct ath_desc *ds, +HAL_BOOL ar5416SetupTxDesc_20(struct ath_hal *ah, struct ath_tx_desc *ds, a_uint32_t pktLen, a_uint32_t hdrLen, HAL_PKT_TYPE type, @@ -815,9 +762,9 @@ HAL_BOOL ar5416SetupTxDesc_20(struct ath_hal *ah, struct ath_desc *ds, #undef RTSCTS } -HAL_BOOL ar5416FillTxDesc_20(struct ath_hal *ah, struct ath_desc *ds, +HAL_BOOL ar5416FillTxDesc_20(struct ath_hal *ah, struct ath_tx_desc *ds, a_uint32_t segLen, HAL_BOOL firstSeg, HAL_BOOL lastSeg, - const struct ath_desc *ds0) + const struct ath_tx_desc *ds0) { struct ar5416_desc *ads = AR5416DESC(ds); @@ -853,7 +800,7 @@ HAL_BOOL ar5416FillTxDesc_20(struct ath_hal *ah, struct ath_desc *ds, return AH_TRUE; } -HAL_BOOL ar5416FillKeyTxDesc_20(struct ath_hal *ah, struct ath_desc *ds, +HAL_BOOL ar5416FillKeyTxDesc_20(struct ath_hal *ah, struct ath_tx_desc *ds, HAL_KEY_TYPE keyType) { struct ar5416_desc *ads = AR5416DESC(ds); @@ -862,7 +809,7 @@ HAL_BOOL ar5416FillKeyTxDesc_20(struct ath_hal *ah, struct ath_desc *ds, return AH_TRUE; } -HAL_STATUS ar5416ProcTxDesc_20(struct ath_hal *ah, struct ath_desc *gds) +HAL_STATUS ar5416ProcTxDesc_20(struct ath_hal *ah, struct ath_tx_desc *gds) { struct ar5416_desc *ads = AR5416DESC(gds); struct ath_tx_desc *ds = (struct ath_tx_desc *)gds; @@ -929,7 +876,7 @@ HAL_STATUS ar5416ProcTxDesc_20(struct ath_hal *ah, struct ath_desc *gds) return HAL_OK; } -void ar5416Set11nTxDesc_20(struct ath_hal *ah, struct ath_desc *ds, +void ar5416Set11nTxDesc_20(struct ath_hal *ah, struct ath_tx_desc *ds, a_uint32_t pktLen, HAL_PKT_TYPE type, a_uint32_t txPower, a_uint32_t keyIx, HAL_KEY_TYPE keyType, a_uint32_t flags) @@ -963,7 +910,7 @@ void ar5416Set11nTxDesc_20(struct ath_hal *ah, struct ath_desc *ds, #ifdef MAGPIE_MERLIN -void ar5416Set11nRateScenario_20(struct ath_hal *ah, struct ath_desc *ds, +void ar5416Set11nRateScenario_20(struct ath_hal *ah, struct ath_tx_desc *ds, a_uint32_t durUpdateEn, a_uint32_t rtsctsRate, a_uint32_t rtsctsDuration, HAL_11N_RATE_SERIES series[], a_uint32_t nseries, @@ -1020,7 +967,7 @@ void ar5416Set11nRateScenario_20(struct ath_hal *ah, struct ath_desc *ds, #else -void ar5416Set11nRateScenario_20(struct ath_hal *ah, struct ath_desc *ds, +void ar5416Set11nRateScenario_20(struct ath_hal *ah, struct ath_tx_desc *ds, a_uint32_t durUpdateEn, a_uint32_t rtsctsRate, a_uint32_t rtsctsDuration, HAL_11N_RATE_SERIES series[], a_uint32_t nseries, @@ -1075,7 +1022,7 @@ void ar5416Set11nRateScenario_20(struct ath_hal *ah, struct ath_desc *ds, #endif -void ar5416Set11nAggrFirst_20(struct ath_hal *ah, struct ath_desc *ds, a_uint32_t aggrLen, +void ar5416Set11nAggrFirst_20(struct ath_hal *ah, struct ath_tx_desc *ds, a_uint32_t aggrLen, a_uint32_t numDelims) { struct ar5416_desc *ads = AR5416DESC(ds); @@ -1087,7 +1034,7 @@ void ar5416Set11nAggrFirst_20(struct ath_hal *ah, struct ath_desc *ds, a_uint32_ SM(numDelims, AR_PadDelim); } -void ar5416Set11nAggrMiddle_20(struct ath_hal *ah, struct ath_desc *ds, a_uint32_t numDelims) +void ar5416Set11nAggrMiddle_20(struct ath_hal *ah, struct ath_tx_desc *ds, a_uint32_t numDelims) { struct ar5416_desc *ads = AR5416DESC(ds); a_uint32_t ctl6; @@ -1104,7 +1051,7 @@ void ar5416Set11nAggrMiddle_20(struct ath_hal *ah, struct ath_desc *ds, a_uint32 ads->ds_ctl6 = ctl6; } -void ar5416Set11nAggrLast_20(struct ath_hal *ah, struct ath_desc *ds) +void ar5416Set11nAggrLast_20(struct ath_hal *ah, struct ath_tx_desc *ds) { struct ar5416_desc *ads = AR5416DESC(ds); @@ -1113,14 +1060,14 @@ void ar5416Set11nAggrLast_20(struct ath_hal *ah, struct ath_desc *ds) ads->ds_ctl6 &= ~AR_PadDelim; } -void ar5416Clr11nAggr_20(struct ath_hal *ah, struct ath_desc *ds) +void ar5416Clr11nAggr_20(struct ath_hal *ah, struct ath_tx_desc *ds) { struct ar5416_desc *ads = AR5416DESC(ds); ads->ds_ctl1 &= (~AR_IsAggr & ~AR_MoreAggr); } -void ar5416Set11nBurstDuration_20(struct ath_hal *ah, struct ath_desc *ds, +void ar5416Set11nBurstDuration_20(struct ath_hal *ah, struct ath_tx_desc *ds, a_uint32_t burstDuration) { struct ar5416_desc *ads = AR5416DESC(ds); @@ -1129,7 +1076,7 @@ void ar5416Set11nBurstDuration_20(struct ath_hal *ah, struct ath_desc *ds, ads->ds_ctl2 |= SM(burstDuration, AR_BurstDur); } -void ar5416Set11nVirtualMoreFrag_20(struct ath_hal *ah, struct ath_desc *ds, +void ar5416Set11nVirtualMoreFrag_20(struct ath_hal *ah, struct ath_tx_desc *ds, a_uint32_t vmf) { struct ar5416_desc *ads = AR5416DESC(ds);