#include <adf_os_irq.h>
#include <if_ath_pci.h>
-#include "if_ethersubr.h"
#include "if_llc.h"
#include "ieee80211_var.h"
-#include "ieee80211_proto.h"
#include "if_athrate.h"
#include "if_athvar.h"
#include "ah_desc.h"
+#include "ah.h"
static a_int32_t ath_numrxbufs = -1;
static a_int32_t ath_numrxdescs = -1;
*/
static u_int64_t ath_extend_tsf(struct ath_softc_tgt *sc, u_int32_t rstamp)
{
+ struct ath_hal *ah = sc->sc_ah;
u_int64_t tsf;
u_int32_t tsf_low;
u_int64_t tsf64;
- tsf = ath_hal_gettsf64(sc->sc_ah);
+ tsf = ah->ah_getTsf64(ah);
tsf_low = tsf & 0xffffffff;
tsf64 = (tsf & ~0xffffffffULL) | rstamp;
switch (mode) {
case IEEE80211_MODE_11NA:
- sc->sc_rates[mode] = ath_hal_getratetable(ah, HAL_MODE_11NA);
+ sc->sc_rates[mode] = ah->ah_getRateTable(ah, HAL_MODE_11NA);
break;
case IEEE80211_MODE_11NG:
- sc->sc_rates[mode] = ath_hal_getratetable(ah, HAL_MODE_11NG);
+ sc->sc_rates[mode] = ah->ah_getRateTable(ah, HAL_MODE_11NG);
break;
default:
return 0;
((struct ath_desc *)((caddr_t)(_sc)->sc_rxdma.dd_desc + \
((_pa) - (_sc)->sc_rxdma.dd_desc_paddr)))
- tsf = ath_hal_gettsf64(ah);
+ tsf = ah->ah_getTsf64(ah);
bf = asf_tailq_first(&sc->sc_rxbuf);
ds = asf_tailq_first(&sc->sc_rxdesc);
adf_nbuf_dmamap_info(bf->bf_dmamap,&bf->bf_dmamap_info);
ath_beacon_setup(sc, bf, &sc->sc_vap[vap_index]);
- ath_hal_stoptxdma(ah, sc->sc_bhalq);
- ath_hal_puttxbuf(ah, sc->sc_bhalq, ATH_BUF_GET_DESC_PHY_ADDR(bf));
- ath_hal_txstart(ah, sc->sc_bhalq);
+ ah->ah_stopTxDma(ah, sc->sc_bhalq);
+ ah->ah_setTxDP(ah, sc->sc_bhalq, ATH_BUF_GET_DESC_PHY_ADDR(bf));
+ ah->ah_startTxDma(ah, sc->sc_bhalq);
}
/******/
{
struct ath_hal *ah = sc->sc_ah;
- (void) ath_hal_stoptxdma(ah, txq->axq_qnum);
+ ah->ah_stopTxDma(ah, txq->axq_qnum);
}
static void owltgt_txq_drain(struct ath_softc_tgt *sc, struct ath_txq *txq)
ath_tx_status_clear(sc);
sc->sc_tx_draining = 1;
- (void) ath_hal_stoptxdma(ah, sc->sc_bhalq);
+ ah->ah_stopTxDma(ah, sc->sc_bhalq);
for (i = 0; i < HAL_NUM_TX_QUEUES; i++)
if (ATH_TXQ_SETUP(sc, i))
a_uint32_t tmp;
#ifdef ATH_ENABLE_CABQ
- tsf = ath_hal_gettsf64(ah);
+ tsf = ah->ah_getTsf64(ah);
tmp = tsf - sc->sc_swba_tsf;
if ( tmp > ATH_CABQ_HANDLING_THRESHOLD ) {
WMI_SWBA_EVENT swbaEvt;
struct ath_txq *txq = ATH_TXQ(sc, 8);
- swbaEvt.tsf = ath_hal_gettsf64(ah);
- swbaEvt.beaconPendingCount = ath_hal_numtxpending(ah, sc->sc_bhalq);
- sc->sc_swba_tsf = ath_hal_gettsf64(ah);
+ swbaEvt.tsf = ah->ah_getTsf64(ah);
+ swbaEvt.beaconPendingCount = ah->ah_numTxPending(ah, sc->sc_bhalq);
+ sc->sc_swba_tsf = ah->ah_getTsf64(ah);
wmi_event(sc->tgt_wmi_handle,
WMI_SWBA_EVENTID,
if (status & HAL_INT_TXURN) {
sc->sc_int_stats.ast_txurn++;
- ath_hal_updatetxtriglevel(ah, AH_TRUE);
+ ah->ah_updateTxTrigLevel(ah, AH_TRUE);
}
ATH_SCHEDULE_TQUEUE(sc->sc_dev, &sc->sc_txtq);
if (ath_hal_htsupported(ah))
sc->sc_imask |= HAL_INT_CST;
-#ifdef MAGPIE_MERLIN
- {
- a_uint32_t stbcsupport;
- if (ath_hal_txstbcsupport(ah, &stbcsupport))
- sc->sc_txstbcsupport = stbcsupport;
-
- if (ath_hal_rxstbcsupport(ah, &stbcsupport))
- sc->sc_rxstbcsupport = stbcsupport;
- }
-#endif
adf_os_setup_intr(sc->sc_dev, ath_intr);
ath_hal_intrset(ah, sc->sc_imask);
A_UINT16 SeqNo, A_UINT8 *data, a_int32_t datalen)
{
struct ath_softc_tgt *sc = (struct ath_softc_tgt *)Context;
+ struct ath_hal *ah = sc->sc_ah;
- ath_hal_aborttxdma(sc->sc_ah);
+ ah->ah_abortTxDma(sc->sc_ah);
wmi_cmd_rsp(sc->tgt_wmi_handle, Command, SeqNo, NULL, 0);
}
q = *(a_uint32_t *)data;
q = adf_os_ntohl(q);
- ath_hal_stoptxdma(ah, q);
+ ah->ah_stopTxDma(ah, q);
wmi_cmd_rsp(sc->tgt_wmi_handle, Command, SeqNo, NULL, 0);
}
struct ath_hal *ah = sc->sc_ah;
ath_hal_stoppcurecv(ah);
- ath_hal_setrxfilter(ah, 0);
+ ah->ah_setRxFilter(ah, 0);
ath_hal_stopdmarecv(ah);
sc->sc_rxlink = NULL;
struct ath_hal *ah = sc->sc_ah;
ath_desc_free(sc);
- ath_hal_detach(ah);
+ ah->ah_detach(ah);
wmi_cmd_rsp(sc->tgt_wmi_handle, Command, SeqNo, NULL, 0);
adf_os_mem_free(sc);
}
bad2:
ath_desc_free(sc);
if (ah)
- ath_hal_detach(ah);
+ ah->ah_detach(ah);
}
static void tgt_hif_htc_wmi_shutdown(struct ath_softc_tgt *sc)