* Copyright (c) 2000-2005 ZyDAS Technology Corporation
* Copyright (c) 2007-2009 Atheros Communications, Inc.
* Copyright 2009 Johannes Berg <johannes@sipsolutions.net>
- * Copyright 2009, 2010 Christian Lamparter <chunkeey@googlemail.com>
+ * Copyright 2009-2011 Christian Lamparter <chunkeey@googlemail.com>
*
* 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
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)
{
void wlan_tx(struct dma_desc *desc);
void wlan_timer(void);
void handle_wlan(void);
-void wlan_tx_stuck(const struct carl9170_cmd *cmd, struct carl9170_rsp *rsp);
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)
{