X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=carlfw%2Finclude%2Fwl.h;h=7428d1a28760901d293c9c06f6a49a7d7ecb9db7;hb=592643728e9b7c37c918afee05df8142c6d7303e;hp=4f0c76de42fd324ac4553da504916aad69bf3d4a;hpb=2cb1f03e4cf246a6254c71d84dc00435057fe09e;p=carl9170fw.git diff --git a/carlfw/include/wl.h b/carlfw/include/wl.h index 4f0c76d..7428d1a 100644 --- a/carlfw/include/wl.h +++ b/carlfw/include/wl.h @@ -6,7 +6,7 @@ * Copyright (c) 2000-2005 ZyDAS Technology Corporation * Copyright (c) 2007-2009 Atheros Communications, Inc. * Copyright 2009 Johannes Berg - * Copyright 2009, 2010 Christian Lamparter + * Copyright 2009-2011 Christian Lamparter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -52,22 +52,10 @@ static inline __inline struct dma_desc *get_wlan_txq_addr(const unsigned int q) return getp(AR9170_MAC_REG_DMA_TXQ_CURR_ADDR + (q << 3)); } -static inline __inline void _wlan_trigger(const uint32_t queue_bit) -{ - set(AR9170_MAC_REG_DMA_TRIGGER, queue_bit); -} - -#ifdef CONFIG_CARL9170FW_DELAYED_TX -static inline __inline void wlan_trigger(const uint32_t queue_bit) -{ - fw.wlan.tx_trigger |= queue_bit; -} -#else static inline __inline void wlan_trigger(const uint32_t queue_bit) { - _wlan_trigger(queue_bit); + set(AR9170_MAC_REG_DMA_TRIGGER, queue_bit); } -#endif /* CONFIG_CARL9170FW_DELAYED_TX */ static inline __inline uint8_t ar9170_get_rx_macstatus_status(struct dma_desc *desc) { @@ -261,9 +249,18 @@ void wlan_timer(void); void handle_wlan(void); void wlan_cab_flush_queue(const unsigned int vif); -void wlan_cab_modify_dtim_beacon(const unsigned int vif, - const unsigned int bcn_addr, - const unsigned int bcn_len); +void wlan_modify_beacon(const unsigned int vif, + const unsigned int bcn_addr, + const unsigned int bcn_len); + +static inline void wlan_prepare_wol(void) +{ + /* set filter policy to: discard everything */ + fw.wlan.rx_filter = CARL9170_RX_FILTER_EVERYTHING; + + /* reenable rx dma */ + wlan_trigger(AR9170_DMA_TRIGGER_RXQ); +} static inline void __check_wlantx(void) {