iPXE
|
Go to the source code of this file.
Macros | |
#define | RX_FILTER_PRESERVE (ATH9K_RX_FILTER_PHYERR | ATH9K_RX_FILTER_PHYRADAR) |
Functions | |
static void | ath_rx_buf_link (struct ath_softc *sc, struct ath_buf *bf) |
static void | ath_setdefantenna (struct ath_softc *sc, u32 antenna) |
static void | ath_opmode_init (struct ath_softc *sc) |
int | ath_rx_init (struct ath_softc *sc, int nbufs) |
void | ath_rx_cleanup (struct ath_softc *sc) |
u32 | ath_calcrxfilter (struct ath_softc *sc) |
int | ath_startrecv (struct ath_softc *sc) |
int | ath_stoprecv (struct ath_softc *sc) |
void | ath_flushrecv (struct ath_softc *sc) |
static struct ath_buf * | ath_get_next_rx_buf (struct ath_softc *sc, struct ath_rx_status *rs) |
static int | ath9k_rx_accept (struct ath_common *common, struct ath_rx_status *rx_stats, int *decrypt_error) |
static int | ath9k_process_rate (struct ath_common *common __unused, struct net80211_device *dev, struct ath_rx_status *rx_stats, int *rix) |
static int | ath9k_rx_iob_preprocess (struct ath_common *common, struct net80211_device *dev, struct ath_rx_status *rx_stats, int *rix, int *decrypt_error) |
int | ath_rx_tasklet (struct ath_softc *sc, int flush, int hp __unused) |
#define RX_FILTER_PRESERVE (ATH9K_RX_FILTER_PHYERR | ATH9K_RX_FILTER_PHYRADAR) |
Definition at line 33 of file ath9k_recv.c.
References ah, ath9k_hw_common(), ath9k_hw_putrxbuf(), ath9k_hw_setuprxdesc(), ATH_RXBUF_RESET, ath_buf::bf_buf_addr, ath_buf::bf_daddr, ath_buf::bf_desc, common, ds, NULL, ath_softc::rx, ath_rx::rxlink, and ath_softc::sc_ah.
Referenced by ath_rx_tasklet(), and ath_startrecv().
Definition at line 67 of file ath9k_recv.c.
References ath9k_hw_setantenna(), ath_rx::defant, ath_softc::rx, ath_rx::rxotherant, and ath_softc::sc_ah.
Referenced by ath_rx_tasklet().
|
static |
Definition at line 75 of file ath9k_recv.c.
References ah, ath9k_hw_common(), ath9k_hw_setmcastfilter(), ath9k_hw_setopmode(), ath9k_hw_setrxfilter(), ath_calcrxfilter(), ath_hw_setbssidmask(), common, and ath_softc::sc_ah.
Referenced by ath_startrecv().
int ath_rx_init | ( | struct ath_softc * | sc, |
int | nbufs | ||
) |
Definition at line 97 of file ath9k_recv.c.
References alloc_iob_raw(), ath9k_hw_common(), ath_descdma_setup(), ath_rx_cleanup(), ath_buf::bf_buf_addr, ath_buf::bf_mpdu, ath_hw::caps, common, io_buffer::data, DBG, DBG2, ENOMEM, error, IEEE80211_MAX_MPDU_LEN, ath_buf::list, list_for_each_entry, NULL, ath_softc::rx, ath9k_hw_capabilities::rx_status_len, ath_rx::rxbuf, ath_rx::rxdma, ath_rx::rxlink, ath_softc::sc_ah, ath_softc::sc_flags, SC_OP_RXFLUSH, and virt_to_bus().
Referenced by ath9k_init_device().
void ath_rx_cleanup | ( | struct ath_softc * | sc | ) |
Definition at line 142 of file ath9k_recv.c.
References ath_descdma_cleanup(), ath_buf::bf_buf_addr, ath_buf::bf_mpdu, ath_descdma::dd_desc_len, free_iob(), ath_buf::list, list_for_each_entry, NULL, ath_softc::rx, ath_rx::rxbuf, and ath_rx::rxdma.
Referenced by ath9k_deinit_device(), ath9k_init_device(), and ath_rx_init().
Definition at line 179 of file ath9k_recv.c.
References ath9k_hw_getrxfilter(), ATH9K_RX_FILTER_BCAST, ATH9K_RX_FILTER_BEACON, ATH9K_RX_FILTER_MCAST, ATH9K_RX_FILTER_UCAST, RX_FILTER_PRESERVE, and ath_softc::sc_ah.
Referenced by ath_opmode_init().
int ath_startrecv | ( | struct ath_softc * | sc | ) |
Definition at line 194 of file ath9k_recv.c.
References ah, ath9k_hw_putrxbuf(), ath9k_hw_rxena(), ath9k_hw_startpcureceive(), ath_opmode_init(), ath_rx_buf_link(), ath_buf::bf_daddr, ath_buf::list, list_empty, list_first_entry, list_for_each_entry_safe, NULL, ath_softc::rx, ath_rx::rxbuf, ath_rx::rxlink, ath_softc::sc_ah, ath_softc::sc_flags, and SC_OP_OFFCHANNEL.
Referenced by ath9k_start(), ath_reset(), and ath_set_channel().
int ath_stoprecv | ( | struct ath_softc * | sc | ) |
Definition at line 222 of file ath9k_recv.c.
References ah, AH_UNPLUGGED, ath9k_hw_abortpcurecv(), ath9k_hw_setrxfilter(), ath9k_hw_stopdmarecv(), DBG, NULL, ath_softc::rx, ath_rx::rxlink, and ath_softc::sc_ah.
Referenced by ath9k_stop(), ath_radio_disable(), ath_reset(), and ath_set_channel().
void ath_flushrecv | ( | struct ath_softc * | sc | ) |
Definition at line 242 of file ath9k_recv.c.
References ath_rx_tasklet(), ath_softc::sc_flags, and SC_OP_RXFLUSH.
Referenced by ath_radio_disable(), and ath_reset().
|
static |
Definition at line 249 of file ath9k_recv.c.
References ah, ath9k_hw_rxprocdesc(), ath_buf::bf_desc, ath_buf::bf_mpdu, ds, EINPROGRESS, ath_buf::list, list_empty, list_entry, list_first_entry, memset(), list_head::next, NULL, ath_softc::rx, ath_rx::rxbuf, ath_rx::rxlink, and ath_softc::sc_ah.
Referenced by ath_rx_tasklet().
|
static |
Definition at line 314 of file ath9k_recv.c.
References ah, ATH9K_RXERR_CRC, ATH9K_RXERR_DECRYPT, ATH9K_RXERR_MIC, ATH9K_RXERR_PHY, common, ath_rx_status::rs_datalen, ath_rx_status::rs_more, and ath_rx_status::rs_status.
Referenced by ath9k_rx_iob_preprocess().
|
static |
Definition at line 369 of file ath9k_recv.c.
References net80211_device::channel, net80211_device::channels, DBG, ath_softc::dev, EINVAL, ath9k_legacy_rate::hw_value, ath9k_legacy_rate::hw_value_short, ath_softc::hwinfo, net80211_hw_info::nr_rates, net80211_device::priv, ath_softc::rates, and ath_rx_status::rs_rate.
Referenced by ath9k_rx_iob_preprocess().
|
static |
Definition at line 407 of file ath9k_recv.c.
References ath9k_process_rate(), ath9k_rx_accept(), common, ath_softc::dev, EINVAL, and ath_rx_status::rs_more.
Referenced by ath_rx_tasklet().
int ath_rx_tasklet | ( | struct ath_softc * | sc, |
int | flush, | ||
int hp | __unused | ||
) |
Definition at line 430 of file ath9k_recv.c.
References ah, alloc_iob_raw(), ath9k_hw_common(), ath9k_hw_rxena(), ath9k_rx_iob_preprocess(), ath_get_next_rx_buf(), ath_rx_buf_link(), ath_setdefantenna(), ath_buf::bf_buf_addr, ath_buf::bf_mpdu, ath9k_legacy_rate::bitrate, common, DBGIO, ath_rx::defant, ath_softc::dev, iob_pull, iob_put, ath_buf::list, list_add_tail, list_del, memset(), net80211_rx(), NULL, ath_softc::rates, retval, ath_rx_status::rs_antenna, ath_rx_status::rs_datalen, ath_rx_status::rs_rate, ath_rx_status::rs_rssi, ath_softc::rx, ath_rx::rxbuf, ath_rx::rxotherant, ath_softc::sc_ah, ath_softc::sc_flags, SC_OP_RXFLUSH, and virt_to_bus().
Referenced by ath9k_tasklet(), and ath_flushrecv().