* 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]))
/* Transmit functions */
.ah_updateTxTrigLevel = ar5416UpdateTxTrigLevel,
- .ah_getTxDP = ar5416GetTxDP,
.ah_setTxDP = ar5416SetTxDP,
.ah_numTxPending = ar5416NumTxPending,
.ah_startTxDma = ar5416StartTxDma,
.ah_abortTxDma = ar5416AbortTxDma,
/* Misc Functions */
- .ah_getCapability = ar5416GetCapability,
.ah_getTsf32 = ar5416GetTsf32,
.ah_getTsf64 = ar5416GetTsf64,
.ah_resetTsf = ar5416ResetTsf,
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 */
/****************/
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);
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,
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);
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;
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)
#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,
#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,
#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);
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;
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);
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);
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);