Update b43 from compat-wireless-2008-05-26 codebase
[openwrt/staging/florian.git] / package / b43 / src / dma.h
index c0d6b69e650128fa68dc7825f8cf00c10e23f073..d1eb5c0848a522edb6a9348366070e4e46980ddd 100644 (file)
@@ -181,7 +181,6 @@ struct b43_dmadesc_meta {
        dma_addr_t dmaaddr;
        /* ieee80211 TX status. Only used once per 802.11 frag. */
        bool is_last_fragment;
-       struct ieee80211_tx_status txstat;
 };
 
 struct b43_dmaring;
@@ -245,6 +244,9 @@ struct b43_dmaring {
        enum b43_dmatype type;
        /* Boolean. Is this ring stopped at ieee80211 level? */
        bool stopped;
+       /* The QOS priority assigned to this ring. Only used for TX rings.
+        * This is the mac80211 "queue" value. */
+       u8 queue_prio;
        /* Lock, only used for TX. */
        spinlock_t lock;
        struct b43_wldev *dev;
@@ -253,7 +255,13 @@ struct b43_dmaring {
        int max_used_slots;
        /* Last time we injected a ring overflow. */
        unsigned long last_injected_overflow;
-#endif                         /* CONFIG_B43_DEBUG */
+       /* Statistics: Number of successfully transmitted packets */
+       u64 nr_succeed_tx_packets;
+       /* Statistics: Number of failed TX packets */
+       u64 nr_failed_tx_packets;
+       /* Statistics: Total number of TX plus all retries. */
+       u64 nr_total_packet_tries;
+#endif /* CONFIG_B43_DEBUG */
 };
 
 static inline u32 b43_dma_read(struct b43_dmaring *ring, u16 offset)
@@ -276,10 +284,13 @@ void b43_dma_get_tx_stats(struct b43_wldev *dev,
                          struct ieee80211_tx_queue_stats *stats);
 
 int b43_dma_tx(struct b43_wldev *dev,
-              struct sk_buff *skb, struct ieee80211_tx_control *ctl);
+              struct sk_buff *skb);
 void b43_dma_handle_txstatus(struct b43_wldev *dev,
                             const struct b43_txstatus *status);
 
 void b43_dma_rx(struct b43_dmaring *ring);
 
+void b43_dma_direct_fifo_rx(struct b43_wldev *dev,
+                           unsigned int engine_index, bool enable);
+
 #endif /* B43_DMA_H_ */