X-Git-Url: https://jxself.org/git/?p=carl9170fw.git;a=blobdiff_plain;f=carlfw%2Finclude%2Fwl.h;h=7152de0eff8515ab29567bb89cd3e623f116d4d2;hp=7428d1a28760901d293c9c06f6a49a7d7ecb9db7;hb=af915846d44d23adc02c7ded807282d607b46faa;hpb=592643728e9b7c37c918afee05df8142c6d7303e diff --git a/carlfw/include/wl.h b/carlfw/include/wl.h index 7428d1a..7152de0 100644 --- a/carlfw/include/wl.h +++ b/carlfw/include/wl.h @@ -52,6 +52,11 @@ 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 struct dma_desc *get_wlan_txq_last_addr(const unsigned int q) +{ + return getp(AR9170_MAC_REG_DMA_TXQ_LAST_ADDR + (q << 2)); +} + static inline __inline void wlan_trigger(const uint32_t queue_bit) { set(AR9170_MAC_REG_DMA_TRIGGER, queue_bit); @@ -210,6 +215,11 @@ static inline __inline struct carl9170_tx_superframe *get_super(struct dma_desc f); } +static inline __inline struct carl9170_tx_superframe *__get_super(struct dma_desc *desc) +{ + return DESC_PAYLOAD(desc); +} + static inline __inline void hide_super(struct dma_desc *desc) { desc->dataAddr = (uint8_t *) @@ -253,14 +263,10 @@ 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; +void wlan_tx_complete(struct carl9170_tx_superframe *super, + bool txs); - /* reenable rx dma */ - wlan_trigger(AR9170_DMA_TRIGGER_RXQ); -} +void wlan_prepare_wol(void); static inline void __check_wlantx(void) {