recv.c (03ab3da3b215bac4ebb093c808d54596e03e3225) recv.c (fbbcd14690d3c42b664740d58a22af50a77d5689)
1/*
2 * Copyright (c) 2008-2011 Atheros Communications Inc.
3 *
4 * Permission to use, copy, modify, and/or distribute this software for any
5 * purpose with or without fee is hereby granted, provided that the above
6 * copyright notice and this permission notice appear in all copies.
7 *
8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES

--- 245 unchanged lines hidden (view full) ---

254}
255
256static void ath_edma_start_recv(struct ath_softc *sc)
257{
258 ath9k_hw_rxena(sc->sc_ah);
259 ath_rx_addbuffer_edma(sc, ATH9K_RX_QUEUE_HP);
260 ath_rx_addbuffer_edma(sc, ATH9K_RX_QUEUE_LP);
261 ath_opmode_init(sc);
1/*
2 * Copyright (c) 2008-2011 Atheros Communications Inc.
3 *
4 * Permission to use, copy, modify, and/or distribute this software for any
5 * purpose with or without fee is hereby granted, provided that the above
6 * copyright notice and this permission notice appear in all copies.
7 *
8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES

--- 245 unchanged lines hidden (view full) ---

254}
255
256static void ath_edma_start_recv(struct ath_softc *sc)
257{
258 ath9k_hw_rxena(sc->sc_ah);
259 ath_rx_addbuffer_edma(sc, ATH9K_RX_QUEUE_HP);
260 ath_rx_addbuffer_edma(sc, ATH9K_RX_QUEUE_LP);
261 ath_opmode_init(sc);
262 ath9k_hw_startpcureceive(sc->sc_ah, !!(sc->hw->conf.flags & IEEE80211_CONF_OFFCHANNEL));
262 ath9k_hw_startpcureceive(sc->sc_ah, sc->cur_chan->offchannel);
263}
264
265static void ath_edma_stop_recv(struct ath_softc *sc)
266{
267 ath_rx_remove_buffer(sc, ATH9K_RX_QUEUE_HP);
268 ath_rx_remove_buffer(sc, ATH9K_RX_QUEUE_LP);
269}
270

--- 181 unchanged lines hidden (view full) ---

452 goto start_recv;
453
454 bf = list_first_entry(&sc->rx.rxbuf, struct ath_rxbuf, list);
455 ath9k_hw_putrxbuf(ah, bf->bf_daddr);
456 ath9k_hw_rxena(ah);
457
458start_recv:
459 ath_opmode_init(sc);
263}
264
265static void ath_edma_stop_recv(struct ath_softc *sc)
266{
267 ath_rx_remove_buffer(sc, ATH9K_RX_QUEUE_HP);
268 ath_rx_remove_buffer(sc, ATH9K_RX_QUEUE_LP);
269}
270

--- 181 unchanged lines hidden (view full) ---

452 goto start_recv;
453
454 bf = list_first_entry(&sc->rx.rxbuf, struct ath_rxbuf, list);
455 ath9k_hw_putrxbuf(ah, bf->bf_daddr);
456 ath9k_hw_rxena(ah);
457
458start_recv:
459 ath_opmode_init(sc);
460 ath9k_hw_startpcureceive(ah, !!(sc->hw->conf.flags & IEEE80211_CONF_OFFCHANNEL));
460 ath9k_hw_startpcureceive(ah, sc->cur_chan->offchannel);
461
462 return 0;
463}
464
465static void ath_flushrecv(struct ath_softc *sc)
466{
467 if (sc->sc_ah->caps.hw_caps & ATH9K_HW_CAP_EDMA)
468 ath_rx_tasklet(sc, 1, true);

--- 673 unchanged lines hidden ---
461
462 return 0;
463}
464
465static void ath_flushrecv(struct ath_softc *sc)
466{
467 if (sc->sc_ah->caps.hw_caps & ATH9K_HW_CAP_EDMA)
468 ath_rx_tasklet(sc, 1, true);

--- 673 unchanged lines hidden ---