carl9170 firmware: per-vif tx sequence counter
[carl9170fw.git] / carlfw / include / wl.h
index fa3cb229afeb41e0d1ab6f70b344268755172315..577fd05f31b789d778881441fad1b76de2f90f77 100644 (file)
@@ -259,19 +259,35 @@ static inline __inline __hot void read_tsf(uint32_t *tsf)
 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);
+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)
 {
+       BUILD_BUG_ON(CARL9170_TX_SUPERDESC_LEN & 3);
        BUILD_BUG_ON(sizeof(struct carl9170_tx_superdesc) != CARL9170_TX_SUPERDESC_LEN);
+       BUILD_BUG_ON(sizeof(struct _carl9170_tx_superdesc) != CARL9170_TX_SUPERDESC_LEN);
+       BUILD_BUG_ON(sizeof(struct _carl9170_tx_superframe) != CARL9170_TX_SUPERFRAME_LEN);
        BUILD_BUG_ON((offsetof(struct carl9170_tx_superframe, f) & 3) != 0);
+       BUILD_BUG_ON(offsetof(struct _carl9170_tx_superframe, f) !=
+                    (offsetof(struct _carl9170_tx_superframe, f)));
        BUILD_BUG_ON(sizeof(struct ar9170_tx_hwdesc) != AR9170_TX_HWDESC_LEN);
-       BUILD_BUG_ON(sizeof(struct ar9170_rx_head) != 12);
-       BUILD_BUG_ON(sizeof(struct ar9170_rx_phystatus) != 20);
-       BUILD_BUG_ON(sizeof(struct ar9170_rx_macstatus) != 4);
+       BUILD_BUG_ON(sizeof(struct _ar9170_tx_hwdesc) != AR9170_TX_HWDESC_LEN);
+       BUILD_BUG_ON(sizeof(struct ar9170_rx_head) != AR9170_RX_HEAD_LEN);
+       BUILD_BUG_ON(sizeof(struct ar9170_rx_phystatus) != AR9170_RX_PHYSTATUS_LEN);
+       BUILD_BUG_ON(sizeof(struct ar9170_rx_macstatus) != AR9170_RX_MACSTATUS_LEN);
 }
 
 #endif /* __CARL9170FW_WLAN_H */