X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=target_firmware%2Fwlan%2Fah.h;h=7b4037876a5bcc06d9e8845d0a165b602e71a933;hb=3b66fd12068952644141c82e013ce7a79ec8f3eb;hp=7365e1957200ca9b99a643dfcc39bc45f4eb0edb;hpb=eaacae6cedaf752150758b9baa0917e1deb1a99f;p=open-ath9k-htc-firmware.git diff --git a/target_firmware/wlan/ah.h b/target_firmware/wlan/ah.h index 7365e19..7b40378 100755 --- a/target_firmware/wlan/ah.h +++ b/target_firmware/wlan/ah.h @@ -44,6 +44,7 @@ #endif #define AR5416_DEVID_PCIE 0x0024 /* AR5416 PCI-E (XB) (Owl) */ +#define HAL_RATE_TABLE_SIZE 33 typedef enum { HAL_OK = 0, /* No error */ @@ -74,8 +75,6 @@ typedef enum { HAL_CAP_VEOL = 0, HAL_CAP_BSSIDMASK = 1, HAL_CAP_TSF_ADJUST = 2, - HAL_CAP_RX_STBC = 3, - HAL_CAP_TX_STBC = 4, HAL_CAP_HT = 5, HAL_CAP_RTS_AGGR_LIMIT = 6, } HAL_CAPABILITY_TYPE; @@ -275,7 +274,7 @@ typedef struct { typedef struct { a_int32_t rateCount; - a_uint8_t rateCodeToIndex[32]; + a_uint8_t rateCodeToIndex[HAL_RATE_TABLE_SIZE]; struct { a_uint8_t valid; a_uint8_t phy; @@ -289,7 +288,7 @@ typedef struct { a_uint8_t controlRate; a_uint16_t lpAckDuration; a_uint16_t spAckDuration; - } info[32]; + } info[HAL_RATE_TABLE_SIZE]; } HAL_RATE_TABLE; typedef struct { @@ -306,7 +305,7 @@ typedef struct { typedef struct { a_int32_t rateCount; - a_uint8_t rateCodeToIndex[32]; + a_uint8_t rateCodeToIndex[HAL_RATE_TABLE_SIZE]; struct { a_uint8_t valid; a_uint8_t phy; @@ -317,7 +316,7 @@ typedef struct { a_uint8_t controlRate; a_uint16_t lpAckDuration; a_uint16_t spAckDuration; - } info[32]; + } info[HAL_RATE_TABLE_SIZE]; } HAL_RATE_TABLE; #define HAL_RATESERIES_RTS_CTS 0x0001 /* use rts/cts w/this series */ @@ -366,7 +365,6 @@ struct ath_hal { a_uint32_t ah_magic; HAL_SOFTC ah_sc; - HAL_BUS_HANDLE ah_sh; adf_os_device_t ah_dev; a_uint32_t ah_macVersion; @@ -379,21 +377,11 @@ struct ath_hal HAL_BOOL incTrigLevel); /* Misc Functions */ - HAL_STATUS __ahdecl(*ah_getCapability)(struct ath_hal *, - HAL_CAPABILITY_TYPE, a_uint32_t capability, - a_uint32_t *result); void __ahdecl(*ah_setDefAntenna)(struct ath_hal*, a_uint32_t); - - HAL_BOOL __ahdecl(*ah_updateCTSForBursting)(struct ath_hal *, - struct ath_desc *, struct ath_desc *, - struct ath_desc *, struct ath_desc *, - a_uint32_t, a_uint32_t); void __ahdecl(*ah_setRxFilter)(struct ath_hal*, a_uint32_t); /* Target Transmit Functions */ - - a_uint32_t __ahdecl(*ah_getTxDP)(struct ath_hal*, a_uint32_t); HAL_BOOL __ahdecl(*ah_setTxDP)(struct ath_hal*, a_uint32_t, a_uint32_t txdp); a_uint32_t __ahdecl(*ah_numTxPending)(struct ath_hal *, a_uint32_t q); HAL_BOOL __ahdecl(*ah_startTxDma)(struct ath_hal*, a_uint32_t); @@ -402,34 +390,34 @@ struct ath_hal HAL_BOOL __ahdecl(*ah_abortTxDma)(struct ath_hal *); void __ahdecl(*ah_set11nTxDesc)(struct ath_hal *ah, - struct ath_desc *ds, + 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); void __ahdecl(*ah_set11nRateScenario)(struct ath_hal *ah, - struct ath_desc *ds, + 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, a_uint32_t flags); void __ahdecl(*ah_set11nAggrFirst)(struct ath_hal *ah, - struct ath_desc *ds, a_uint32_t aggrLen, + struct ath_tx_desc *ds, a_uint32_t aggrLen, a_uint32_t numDelims); void __ahdecl(*ah_set11nAggrMiddle)(struct ath_hal *ah, - struct ath_desc *ds, a_uint32_t numDelims); + struct ath_tx_desc *ds, a_uint32_t numDelims); void __ahdecl(*ah_set11nAggrLast)(struct ath_hal *ah, - struct ath_desc *ds); + struct ath_tx_desc *ds); void __ahdecl(*ah_clr11nAggr)(struct ath_hal *ah, - struct ath_desc *ds); + struct ath_tx_desc *ds); void __ahdecl(*ah_set11nBurstDuration)(struct ath_hal *ah, - struct ath_desc *ds, + struct ath_tx_desc *ds, a_uint32_t burstDuration); void __ahdecl(*ah_set11nVirtualMoreFrag)(struct ath_hal *ah, - struct ath_desc *ds, a_uint32_t vmf); + struct ath_tx_desc *ds, a_uint32_t vmf); - HAL_BOOL __ahdecl(*ah_setupTxDesc)(struct ath_hal *, struct ath_desc *, + HAL_BOOL __ahdecl(*ah_setupTxDesc)(struct ath_hal *, struct ath_tx_desc *, a_uint32_t pktLen, a_uint32_t hdrLen, HAL_PKT_TYPE type, a_uint32_t txPower, a_uint32_t txRate0, a_uint32_t txTries0, @@ -437,53 +425,43 @@ struct ath_hal a_uint32_t rtsctsRate, a_uint32_t rtsctsDuration, a_uint32_t compicvLen, a_uint32_t compivLen, a_uint32_t comp); - HAL_BOOL __ahdecl(*ah_fillTxDesc)(struct ath_hal *, struct ath_desc *, + HAL_BOOL __ahdecl(*ah_fillTxDesc)(struct ath_hal *, struct ath_tx_desc *, a_uint32_t segLen, HAL_BOOL firstSeg, - HAL_BOOL lastSeg, const struct ath_desc *); - HAL_BOOL __ahdecl (*ah_fillKeyTxDesc) (struct ath_hal *, struct ath_desc *, HAL_KEY_TYPE); - HAL_STATUS __ahdecl(*ah_procTxDesc)(struct ath_hal *, struct ath_desc*); - void __ahdecl(*ah_getTxIntrQueue)(struct ath_hal *, a_uint32_t *); - void __ahdecl(*ah_reqTxIntrDesc)(struct ath_hal *, struct ath_desc*); + HAL_BOOL lastSeg, const struct ath_tx_desc *); + HAL_BOOL __ahdecl (*ah_fillKeyTxDesc) (struct ath_hal *, struct ath_tx_desc *, HAL_KEY_TYPE); + HAL_STATUS __ahdecl(*ah_procTxDesc)(struct ath_hal *, struct ath_tx_desc *); HAL_BOOL __ahdecl(*ah_setBssIdMask)(struct ath_hal *, const a_uint8_t*); void __ahdecl(*ah_setPCUConfig)(struct ath_hal *); void __ahdecl(*ah_setMulticastFilter)(struct ath_hal*, a_uint32_t filter0, a_uint32_t filter1); - - a_uint32_t __ahdecl(*ah_getTsf32)(struct ath_hal*); + u_int64_t __ahdecl(*ah_getTsf64)(struct ath_hal*); - void __ahdecl(*ah_resetTsf)(struct ath_hal*); /* Target receive Functions */ - a_uint32_t __ahdecl(*ah_getRxDP)(struct ath_hal*); void __ahdecl(*ah_setRxDP)(struct ath_hal*, a_uint32_t rxdp); - HAL_BOOL __ahdecl(*ah_setupRxDesc)(struct ath_hal *, struct ath_desc *, + HAL_BOOL __ahdecl(*ah_setupRxDesc)(struct ath_rx_desc *, a_uint32_t size, a_uint32_t flags); HAL_STATUS __ahdecl(*ah_procRxDesc)(struct ath_hal *, struct ath_desc *, a_uint32_t phyAddr, struct ath_desc *next, u_int64_t tsf); HAL_STATUS __ahdecl(*ah_procRxDescFast)(struct ath_hal *ah, - struct ath_desc *ds, a_uint32_t pa, + struct ath_rx_desc *ds, a_uint32_t pa, struct ath_desc *nds, struct ath_rx_status *rx_stats); HAL_BOOL __ahdecl(*ah_stopDmaReceive)(struct ath_hal*); - void __ahdecl(*ah_startPcuReceive)(struct ath_hal*); void __ahdecl(*ah_stopPcuReceive)(struct ath_hal*); void __ahdecl(*ah_enableReceive)(struct ath_hal*); /* Interrupt functions */ HAL_BOOL __ahdecl(*ah_isInterruptPending)(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); }; extern struct ath_hal * __ahdecl ath_hal_attach_tgt(a_uint32_t devid, HAL_SOFTC, - adf_os_device_t dev, HAL_BUS_HANDLE sh, + adf_os_device_t dev, a_uint32_t flags, HAL_STATUS* status); -extern const HAL_RATE_TABLE * __ahdecl ath_hal_getratetable(struct ath_hal *, - a_uint32_t mode); - extern a_uint16_t __ahdecl ath_hal_computetxtime(struct ath_hal *, const HAL_RATE_TABLE *rates, a_uint32_t frameLen,