X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=target_firmware%2Fwlan%2Fif_ath.c;h=f526e4623f4238d9d693e65d1052c9ed64814442;hb=5fa29a873e5f7ecf2e39f2ed0ac01cd07b4efac4;hp=b787a8439181c9c6f77a878abaef5d0cb3ed1cbf;hpb=aba1768f070cc7917cc42a8204d737785b420139;p=open-ath9k-htc-firmware.git diff --git a/target_firmware/wlan/if_ath.c b/target_firmware/wlan/if_ath.c index b787a84..f526e46 100755 --- a/target_firmware/wlan/if_ath.c +++ b/target_firmware/wlan/if_ath.c @@ -50,13 +50,12 @@ #include #include -#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; @@ -121,10 +120,10 @@ static a_int32_t ath_rate_setup(struct ath_softc_tgt *sc, a_uint32_t mode) 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; @@ -624,9 +623,9 @@ static void ath_tgt_send_beacon(struct ath_softc_tgt *sc, adf_nbuf_t bc_hdr, 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); } /******/ @@ -637,7 +636,7 @@ static void ath_tx_stopdma(struct ath_softc_tgt *sc, struct ath_txq *txq) { 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) @@ -660,7 +659,7 @@ static void ath_draintxq(struct ath_softc_tgt *sc, HAL_BOOL drain_softq) 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)) @@ -933,7 +932,7 @@ static a_int32_t ath_desc_alloc(struct ath_softc_tgt *sc) a_uint32_t i; struct ath_descdma *dd = &sc->sc_rxdma; - struct ath_rx_desc *ds = dd->dd_desc; + struct ath_rx_desc *ds = (struct ath_rx_desc *)dd->dd_desc; struct ath_rx_desc *ds_prev = NULL; asf_tailq_init(&sc->sc_rxdesc); @@ -1037,7 +1036,7 @@ adf_os_irq_resp_t ath_intr(adf_drv_handle_t hdl) struct ath_txq *txq = ATH_TXQ(sc, 8); swbaEvt.tsf = ath_hal_gettsf64(ah); - swbaEvt.beaconPendingCount = ath_hal_numtxpending(ah, sc->sc_bhalq); + swbaEvt.beaconPendingCount = ah->ah_numTxPending(ah, sc->sc_bhalq); sc->sc_swba_tsf = ath_hal_gettsf64(ah); wmi_event(sc->tgt_wmi_handle, @@ -1068,7 +1067,7 @@ adf_os_irq_resp_t ath_intr(adf_drv_handle_t hdl) 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); @@ -1136,7 +1135,6 @@ static void ath_init_tgt(void *Context, A_UINT16 Command, { struct ath_softc_tgt *sc = (struct ath_softc_tgt *)Context; struct ath_hal *ah = sc->sc_ah; - a_uint32_t stbcsupport; sc->sc_imask = HAL_INT_RX | HAL_INT_TX | HAL_INT_RXEOL | HAL_INT_RXORN @@ -1147,13 +1145,6 @@ static void ath_init_tgt(void *Context, A_UINT16 Command, if (ath_hal_htsupported(ah)) sc->sc_imask |= HAL_INT_CST; -#ifdef MAGPIE_MERLIN - 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); @@ -1604,7 +1595,7 @@ static void ath_stop_tx_dma_tgt(void *Context, A_UINT16 Command, 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); } @@ -1653,7 +1644,7 @@ static void ath_detach_tgt(void *Context, A_UINT16 Command, A_UINT16 SeqNo, 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); } @@ -1945,7 +1936,7 @@ bad: 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)