ath9k: Make bf_desc of ath_buf opaque
[firefly-linux-kernel-4.4.55.git] / drivers / net / wireless / ath / ath9k / common.h
index 042999c2fe9c58eb980c08eb65ddcaebe2b52c94..e08f7e5a26e0e90072a36c5ac46a311907e7a8a3 100644 (file)
 #include "../debug.h"
 
 #include "hw.h"
+#include "hw-ops.h"
 
 /* Common header for Atheros 802.11n base driver cores */
 
+#define IEEE80211_WEP_NKID 4
+
 #define WME_NUM_TID             16
 #define WME_BA_BMP_SIZE         64
 #define WME_MAX_BA              WME_BA_BMP_SIZE
@@ -74,11 +77,12 @@ struct ath_buf {
                                           an aggregate) */
        struct ath_buf *bf_next;        /* next subframe in the aggregate */
        struct sk_buff *bf_mpdu;        /* enclosing frame structure */
-       struct ath_desc *bf_desc;       /* virtual addr of desc */
+       void *bf_desc;                  /* virtual addr of desc */
        dma_addr_t bf_daddr;            /* physical addr of desc */
        dma_addr_t bf_buf_addr;         /* physical addr of data buffer */
        bool bf_stale;
        bool bf_isnullfunc;
+       bool bf_tx_aborted;
        u16 bf_flags;
        struct ath_buf_state bf_state;
        dma_addr_t bf_dmacontext;
@@ -125,3 +129,14 @@ void ath9k_cmn_rx_skb_postprocess(struct ath_common *common,
                                  bool decrypt_error);
 
 int ath9k_cmn_padpos(__le16 frame_control);
+int ath9k_cmn_get_hw_crypto_keytype(struct sk_buff *skb);
+void ath9k_cmn_update_ichannel(struct ieee80211_hw *hw,
+                              struct ath9k_channel *ichan);
+struct ath9k_channel *ath9k_cmn_get_curchannel(struct ieee80211_hw *hw,
+                                              struct ath_hw *ah);
+int ath9k_cmn_key_config(struct ath_common *common,
+                        struct ieee80211_vif *vif,
+                        struct ieee80211_sta *sta,
+                        struct ieee80211_key_conf *key);
+void ath9k_cmn_key_delete(struct ath_common *common,
+                         struct ieee80211_key_conf *key);