X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=target_firmware%2Fwlan%2Fah.c;h=0011d320cb80bf56fc8641eeff7ea74afab88d7e;hb=0421b61b6a02eb61eaea125641ba69002d76ecf2;hp=ada5ab2e70389050b1702d971237387a2a28b187;hpb=2c9d0b027ee2170505ab4f148fcb764442c0f640;p=open-ath9k-htc-firmware.git diff --git a/target_firmware/wlan/ah.c b/target_firmware/wlan/ah.c index ada5ab2..0011d32 100755 --- a/target_firmware/wlan/ah.c +++ b/target_firmware/wlan/ah.c @@ -33,13 +33,12 @@ * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#include "opt_ah.h" #include "ah.h" #include "ah_internal.h" #include -extern struct ath_hal *ar5416Attach(a_uint32_t devid,HAL_SOFTC sc, adf_os_device_t dev, - a_uint32_t flags, HAL_STATUS *status); +extern struct ath_hal *ar5416Attach(HAL_SOFTC sc, adf_os_device_t dev, + HAL_STATUS *status); struct ath_hal* ath_hal_attach_tgt(a_uint32_t devid,HAL_SOFTC sc, @@ -48,16 +47,13 @@ ath_hal_attach_tgt(a_uint32_t devid,HAL_SOFTC sc, { struct ath_hal *ah = AH_NULL; - devid = AR5416_DEVID_PCIE; - ah = ar5416Attach(devid, sc, dev, flags, error); + ah = ar5416Attach(sc, dev, error); return ah; } HAL_STATUS -ath_hal_getcapability(struct ath_hal *ah, HAL_CAPABILITY_TYPE type, - a_uint32_t capability, a_uint32_t *result) - +ath_hal_getcapability(struct ath_hal *ah, HAL_CAPABILITY_TYPE type) { const HAL_CAPABILITIES *pCap = &AH_PRIVATE(ah)->ah_caps; switch (type) { @@ -67,40 +63,11 @@ ath_hal_getcapability(struct ath_hal *ah, HAL_CAPABILITY_TYPE type, return pCap->halBssIdMaskSupport ? HAL_OK : HAL_ENOTSUPP; case HAL_CAP_VEOL: return pCap->halVEOLSupport ? HAL_OK : HAL_ENOTSUPP; -#ifdef MAGPIE_MERLIN - case HAL_CAP_RX_STBC: - return HAL_ENOTSUPP; - case HAL_CAP_TX_STBC: - return HAL_ENOTSUPP; -#endif default: return HAL_EINVAL; } } -void -ath_hal_setupratetable(struct ath_hal *ah, HAL_RATE_TABLE *rt) -{ - a_int32_t i; - - if (rt->rateCodeToIndex[0] != 0) - return; - - for (i = 0; i < 32; i++) - rt->rateCodeToIndex[i] = (a_uint8_t) -1; - for (i = 0; i < rt->rateCount; i++) { - a_uint8_t code = rt->info[i].rateCode; - a_uint8_t cix = rt->info[i].controlRate; - - rt->rateCodeToIndex[code] = i; - rt->rateCodeToIndex[code | rt->info[i].shortPreamble] = i; - rt->info[i].lpAckDuration = ath_hal_computetxtime(ah, rt, - WLAN_CTRL_FRAME_SIZE, cix, AH_FALSE); - rt->info[i].spAckDuration = ath_hal_computetxtime(ah, rt, - WLAN_CTRL_FRAME_SIZE, cix, AH_TRUE); - } -} - #define CCK_SIFS_TIME 10 #define CCK_PREAMBLE_BITS 144 #define CCK_PLCP_BITS 48 @@ -143,7 +110,7 @@ ath_hal_computetxtime(struct ath_hal *ah, numBits = frameLen << 3; txTime = phyTime + ((numBits * 1000)/kbps); /* TODO: make sure the same value of txTime can use in all device */ - if (ath_hal_getcapability(ah, HAL_CAP_HT, 0, AH_NULL) != HAL_OK) + if (ath_hal_getcapability(ah, HAL_CAP_HT) != HAL_OK) txTime = txTime + CCK_SIFS_TIME; break; case IEEE80211_T_OFDM: @@ -155,7 +122,7 @@ ath_hal_computetxtime(struct ath_hal *ah, numSymbols = asf_howmany(numBits, bitsPerSymbol); txTime = OFDM_PREAMBLE_TIME + (numSymbols * OFDM_SYMBOL_TIME); /* TODO: make sure the same value of txTime can use in all device */ - if (ath_hal_getcapability(ah, HAL_CAP_HT, 0, AH_NULL) != HAL_OK) + if (ath_hal_getcapability(ah, HAL_CAP_HT) != HAL_OK) txTime = txTime + OFDM_SIFS_TIME; break; default: @@ -210,15 +177,15 @@ ath_hal_wait(struct ath_hal *ah, a_uint32_t reg, a_uint32_t mask, a_uint32_t val a_int32_t i; - if (ath_hal_getcapability(ah, HAL_CAP_HT, 0, AH_NULL) == HAL_OK) { + if (ath_hal_getcapability(ah, HAL_CAP_HT) == HAL_OK) { for (i = 0; i < AH_TIMEOUT_11N; i++) { - if ((OS_REG_READ(ah, reg) & mask) == val) + if ((ioread32_mac(reg) & mask) == val) return AH_TRUE; OS_DELAY(10); } } else { for (i = 0; i < AH_TIMEOUT_11G; i++) { - if ((OS_REG_READ(ah, reg) & mask) == val) + if ((ioread32_mac(reg) & mask) == val) return AH_TRUE; OS_DELAY(10); }