aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath9k/ath9k.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/ath9k.h')
-rw-r--r--drivers/net/wireless/ath/ath9k/ath9k.h14
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/net/wireless/ath/ath9k/ath9k.h b/drivers/net/wireless/ath/ath9k/ath9k.h
index 5d9a9aabe476..94d887b65e69 100644
--- a/drivers/net/wireless/ath/ath9k/ath9k.h
+++ b/drivers/net/wireless/ath/ath9k/ath9k.h
@@ -87,17 +87,14 @@ struct ath_config {
87 * @BUF_AMPDU: This buffer is an ampdu, as part of an aggregate (during TX) 87 * @BUF_AMPDU: This buffer is an ampdu, as part of an aggregate (during TX)
88 * @BUF_AGGR: Indicates whether the buffer can be aggregated 88 * @BUF_AGGR: Indicates whether the buffer can be aggregated
89 * (used in aggregation scheduling) 89 * (used in aggregation scheduling)
90 * @BUF_XRETRY: To denote excessive retries of the buffer
91 */ 90 */
92enum buffer_type { 91enum buffer_type {
93 BUF_AMPDU = BIT(0), 92 BUF_AMPDU = BIT(0),
94 BUF_AGGR = BIT(1), 93 BUF_AGGR = BIT(1),
95 BUF_XRETRY = BIT(2),
96}; 94};
97 95
98#define bf_isampdu(bf) (bf->bf_state.bf_type & BUF_AMPDU) 96#define bf_isampdu(bf) (bf->bf_state.bf_type & BUF_AMPDU)
99#define bf_isaggr(bf) (bf->bf_state.bf_type & BUF_AGGR) 97#define bf_isaggr(bf) (bf->bf_state.bf_type & BUF_AGGR)
100#define bf_isxretried(bf) (bf->bf_state.bf_type & BUF_XRETRY)
101 98
102#define ATH_TXSTATUS_RING_SIZE 64 99#define ATH_TXSTATUS_RING_SIZE 64
103 100
@@ -216,6 +213,7 @@ struct ath_frame_info {
216struct ath_buf_state { 213struct ath_buf_state {
217 u8 bf_type; 214 u8 bf_type;
218 u8 bfs_paprd; 215 u8 bfs_paprd;
216 u8 ndelim;
219 u16 seqno; 217 u16 seqno;
220 unsigned long bfs_paprd_timestamp; 218 unsigned long bfs_paprd_timestamp;
221}; 219};
@@ -230,7 +228,6 @@ struct ath_buf {
230 dma_addr_t bf_daddr; /* physical addr of desc */ 228 dma_addr_t bf_daddr; /* physical addr of desc */
231 dma_addr_t bf_buf_addr; /* physical addr of data buffer, for DMA */ 229 dma_addr_t bf_buf_addr; /* physical addr of data buffer, for DMA */
232 bool bf_stale; 230 bool bf_stale;
233 u16 bf_flags;
234 struct ath_buf_state bf_state; 231 struct ath_buf_state bf_state;
235}; 232};
236 233
@@ -277,8 +274,7 @@ struct ath_tx_control {
277}; 274};
278 275
279#define ATH_TX_ERROR 0x01 276#define ATH_TX_ERROR 0x01
280#define ATH_TX_XRETRY 0x02 277#define ATH_TX_BAR 0x02
281#define ATH_TX_BAR 0x04
282 278
283/** 279/**
284 * @txq_map: Index is mac80211 queue number. This is 280 * @txq_map: Index is mac80211 queue number. This is
@@ -425,6 +421,7 @@ void ath9k_set_beaconing_status(struct ath_softc *sc, bool status);
425 421
426#define ATH_PAPRD_TIMEOUT 100 /* msecs */ 422#define ATH_PAPRD_TIMEOUT 100 /* msecs */
427 423
424void ath_reset_work(struct work_struct *work);
428void ath_hw_check(struct work_struct *work); 425void ath_hw_check(struct work_struct *work);
429void ath_hw_pll_work(struct work_struct *work); 426void ath_hw_pll_work(struct work_struct *work);
430void ath_paprd_calibrate(struct work_struct *work); 427void ath_paprd_calibrate(struct work_struct *work);
@@ -460,6 +457,7 @@ void ath9k_btcoex_timer_pause(struct ath_softc *sc);
460#define ATH_LED_PIN_9287 8 457#define ATH_LED_PIN_9287 8
461#define ATH_LED_PIN_9300 10 458#define ATH_LED_PIN_9300 10
462#define ATH_LED_PIN_9485 6 459#define ATH_LED_PIN_9485 6
460#define ATH_LED_PIN_9480 0
463 461
464#ifdef CONFIG_MAC80211_LEDS 462#ifdef CONFIG_MAC80211_LEDS
465void ath_init_leds(struct ath_softc *sc); 463void ath_init_leds(struct ath_softc *sc);
@@ -604,6 +602,7 @@ struct ath_softc {
604 struct mutex mutex; 602 struct mutex mutex;
605 struct work_struct paprd_work; 603 struct work_struct paprd_work;
606 struct work_struct hw_check_work; 604 struct work_struct hw_check_work;
605 struct work_struct hw_reset_work;
607 struct completion paprd_complete; 606 struct completion paprd_complete;
608 607
609 unsigned int hw_busy_count; 608 unsigned int hw_busy_count;
@@ -647,10 +646,10 @@ struct ath_softc {
647 struct ath_descdma txsdma; 646 struct ath_descdma txsdma;
648 647
649 struct ath_ant_comb ant_comb; 648 struct ath_ant_comb ant_comb;
649 u8 ant_tx, ant_rx;
650}; 650};
651 651
652void ath9k_tasklet(unsigned long data); 652void ath9k_tasklet(unsigned long data);
653int ath_reset(struct ath_softc *sc, bool retry_tx);
654int ath_cabq_update(struct ath_softc *); 653int ath_cabq_update(struct ath_softc *);
655 654
656static inline void ath_read_cachesize(struct ath_common *common, int *csz) 655static inline void ath_read_cachesize(struct ath_common *common, int *csz)
@@ -668,6 +667,7 @@ int ath9k_init_device(u16 devid, struct ath_softc *sc,
668 const struct ath_bus_ops *bus_ops); 667 const struct ath_bus_ops *bus_ops);
669void ath9k_deinit_device(struct ath_softc *sc); 668void ath9k_deinit_device(struct ath_softc *sc);
670void ath9k_set_hw_capab(struct ath_softc *sc, struct ieee80211_hw *hw); 669void ath9k_set_hw_capab(struct ath_softc *sc, struct ieee80211_hw *hw);
670void ath9k_reload_chainmask_settings(struct ath_softc *sc);
671 671
672void ath_radio_disable(struct ath_softc *sc, struct ieee80211_hw *hw); 672void ath_radio_disable(struct ath_softc *sc, struct ieee80211_hw *hw);
673bool ath9k_uses_beacons(int type); 673bool ath9k_uses_beacons(int type);