diff options
author | David S. Miller <davem@davemloft.net> | 2010-01-19 14:43:42 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-01-19 14:43:42 -0500 |
commit | 6373464288cab09bc641be301d8d30fc9f64ba71 (patch) | |
tree | c1bc92dc630aa15da2e12bc0d09c92169817a702 /drivers/net/wireless/ath/ath9k/ath9k.h | |
parent | 6d955180b2f9ccff444df06265160868cabb289a (diff) | |
parent | 730dd70549e0ec755dd55615ba5cfc38a482a947 (diff) |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6
Conflicts:
drivers/net/wireless/iwlwifi/iwl-core.h
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/ath9k.h')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/ath9k.h | 76 |
1 files changed, 49 insertions, 27 deletions
diff --git a/drivers/net/wireless/ath/ath9k/ath9k.h b/drivers/net/wireless/ath/ath9k/ath9k.h index 9f1f523e02eb..bf3d4c4bfa52 100644 --- a/drivers/net/wireless/ath/ath9k/ath9k.h +++ b/drivers/net/wireless/ath/ath9k/ath9k.h | |||
@@ -33,11 +33,11 @@ struct ath_node; | |||
33 | 33 | ||
34 | /* Macro to expand scalars to 64-bit objects */ | 34 | /* Macro to expand scalars to 64-bit objects */ |
35 | 35 | ||
36 | #define ito64(x) (sizeof(x) == 8) ? \ | 36 | #define ito64(x) (sizeof(x) == 1) ? \ |
37 | (((unsigned long long int)(x)) & (0xff)) : \ | 37 | (((unsigned long long int)(x)) & (0xff)) : \ |
38 | (sizeof(x) == 16) ? \ | 38 | (sizeof(x) == 2) ? \ |
39 | (((unsigned long long int)(x)) & 0xffff) : \ | 39 | (((unsigned long long int)(x)) & 0xffff) : \ |
40 | ((sizeof(x) == 32) ? \ | 40 | ((sizeof(x) == 4) ? \ |
41 | (((unsigned long long int)(x)) & 0xffffffff) : \ | 41 | (((unsigned long long int)(x)) & 0xffffffff) : \ |
42 | (unsigned long long int)(x)) | 42 | (unsigned long long int)(x)) |
43 | 43 | ||
@@ -341,6 +341,12 @@ int ath_beaconq_config(struct ath_softc *sc); | |||
341 | #define ATH_LONG_CALINTERVAL 30000 /* 30 seconds */ | 341 | #define ATH_LONG_CALINTERVAL 30000 /* 30 seconds */ |
342 | #define ATH_RESTART_CALINTERVAL 1200000 /* 20 minutes */ | 342 | #define ATH_RESTART_CALINTERVAL 1200000 /* 20 minutes */ |
343 | 343 | ||
344 | void ath_ani_calibrate(unsigned long data); | ||
345 | |||
346 | /**********/ | ||
347 | /* BTCOEX */ | ||
348 | /**********/ | ||
349 | |||
344 | /* Defines the BT AR_BT_COEX_WGHT used */ | 350 | /* Defines the BT AR_BT_COEX_WGHT used */ |
345 | enum ath_stomp_type { | 351 | enum ath_stomp_type { |
346 | ATH_BTCOEX_NO_STOMP, | 352 | ATH_BTCOEX_NO_STOMP, |
@@ -361,6 +367,10 @@ struct ath_btcoex { | |||
361 | struct ath_gen_timer *no_stomp_timer; /* Timer for no BT stomping */ | 367 | struct ath_gen_timer *no_stomp_timer; /* Timer for no BT stomping */ |
362 | }; | 368 | }; |
363 | 369 | ||
370 | int ath_init_btcoex_timer(struct ath_softc *sc); | ||
371 | void ath9k_btcoex_timer_resume(struct ath_softc *sc); | ||
372 | void ath9k_btcoex_timer_pause(struct ath_softc *sc); | ||
373 | |||
364 | /********************/ | 374 | /********************/ |
365 | /* LED Control */ | 375 | /* LED Control */ |
366 | /********************/ | 376 | /********************/ |
@@ -385,6 +395,9 @@ struct ath_led { | |||
385 | bool registered; | 395 | bool registered; |
386 | }; | 396 | }; |
387 | 397 | ||
398 | void ath_init_leds(struct ath_softc *sc); | ||
399 | void ath_deinit_leds(struct ath_softc *sc); | ||
400 | |||
388 | /********************/ | 401 | /********************/ |
389 | /* Main driver core */ | 402 | /* Main driver core */ |
390 | /********************/ | 403 | /********************/ |
@@ -403,26 +416,28 @@ struct ath_led { | |||
403 | #define ATH_TXPOWER_MAX 100 /* .5 dBm units */ | 416 | #define ATH_TXPOWER_MAX 100 /* .5 dBm units */ |
404 | #define ATH_RATE_DUMMY_MARKER 0 | 417 | #define ATH_RATE_DUMMY_MARKER 0 |
405 | 418 | ||
406 | #define SC_OP_INVALID BIT(0) | 419 | #define SC_OP_INVALID BIT(0) |
407 | #define SC_OP_BEACONS BIT(1) | 420 | #define SC_OP_BEACONS BIT(1) |
408 | #define SC_OP_RXAGGR BIT(2) | 421 | #define SC_OP_RXAGGR BIT(2) |
409 | #define SC_OP_TXAGGR BIT(3) | 422 | #define SC_OP_TXAGGR BIT(3) |
410 | #define SC_OP_FULL_RESET BIT(4) | 423 | #define SC_OP_FULL_RESET BIT(4) |
411 | #define SC_OP_PREAMBLE_SHORT BIT(5) | 424 | #define SC_OP_PREAMBLE_SHORT BIT(5) |
412 | #define SC_OP_PROTECT_ENABLE BIT(6) | 425 | #define SC_OP_PROTECT_ENABLE BIT(6) |
413 | #define SC_OP_RXFLUSH BIT(7) | 426 | #define SC_OP_RXFLUSH BIT(7) |
414 | #define SC_OP_LED_ASSOCIATED BIT(8) | 427 | #define SC_OP_LED_ASSOCIATED BIT(8) |
415 | #define SC_OP_WAIT_FOR_BEACON BIT(12) | 428 | #define SC_OP_LED_ON BIT(9) |
416 | #define SC_OP_LED_ON BIT(13) | 429 | #define SC_OP_SCANNING BIT(10) |
417 | #define SC_OP_SCANNING BIT(14) | 430 | #define SC_OP_TSF_RESET BIT(11) |
418 | #define SC_OP_TSF_RESET BIT(15) | 431 | #define SC_OP_BT_PRIORITY_DETECTED BIT(12) |
419 | #define SC_OP_WAIT_FOR_CAB BIT(16) | 432 | |
420 | #define SC_OP_WAIT_FOR_PSPOLL_DATA BIT(17) | 433 | /* Powersave flags */ |
421 | #define SC_OP_WAIT_FOR_TX_ACK BIT(18) | 434 | #define PS_WAIT_FOR_BEACON BIT(0) |
422 | #define SC_OP_BEACON_SYNC BIT(19) | 435 | #define PS_WAIT_FOR_CAB BIT(1) |
423 | #define SC_OP_BT_PRIORITY_DETECTED BIT(21) | 436 | #define PS_WAIT_FOR_PSPOLL_DATA BIT(2) |
424 | #define SC_OP_NULLFUNC_COMPLETED BIT(22) | 437 | #define PS_WAIT_FOR_TX_ACK BIT(3) |
425 | #define SC_OP_PS_ENABLED BIT(23) | 438 | #define PS_BEACON_SYNC BIT(4) |
439 | #define PS_NULLFUNC_COMPLETED BIT(5) | ||
440 | #define PS_ENABLED BIT(6) | ||
426 | 441 | ||
427 | struct ath_wiphy; | 442 | struct ath_wiphy; |
428 | struct ath_rate_table; | 443 | struct ath_rate_table; |
@@ -458,6 +473,7 @@ struct ath_softc { | |||
458 | 473 | ||
459 | u32 intrstatus; | 474 | u32 intrstatus; |
460 | u32 sc_flags; /* SC_OP_* */ | 475 | u32 sc_flags; /* SC_OP_* */ |
476 | u16 ps_flags; /* PS_* */ | ||
461 | u16 curtxpow; | 477 | u16 curtxpow; |
462 | u8 nbcnvifs; | 478 | u8 nbcnvifs; |
463 | u16 nvifs; | 479 | u16 nvifs; |
@@ -508,6 +524,7 @@ struct ath_wiphy { | |||
508 | int chan_is_ht; | 524 | int chan_is_ht; |
509 | }; | 525 | }; |
510 | 526 | ||
527 | void ath9k_tasklet(unsigned long data); | ||
511 | int ath_reset(struct ath_softc *sc, bool retry_tx); | 528 | int ath_reset(struct ath_softc *sc, bool retry_tx); |
512 | int ath_get_hal_qnum(u16 queue, struct ath_softc *sc); | 529 | int ath_get_hal_qnum(u16 queue, struct ath_softc *sc); |
513 | int ath_get_mac80211_qnum(u32 queue, struct ath_softc *sc); | 530 | int ath_get_mac80211_qnum(u32 queue, struct ath_softc *sc); |
@@ -524,15 +541,15 @@ static inline void ath_bus_cleanup(struct ath_common *common) | |||
524 | } | 541 | } |
525 | 542 | ||
526 | extern struct ieee80211_ops ath9k_ops; | 543 | extern struct ieee80211_ops ath9k_ops; |
544 | extern int modparam_nohwcrypt; | ||
527 | 545 | ||
528 | irqreturn_t ath_isr(int irq, void *dev); | 546 | irqreturn_t ath_isr(int irq, void *dev); |
529 | void ath_cleanup(struct ath_softc *sc); | 547 | int ath9k_init_device(u16 devid, struct ath_softc *sc, u16 subsysid, |
530 | int ath_init_device(u16 devid, struct ath_softc *sc, u16 subsysid, | ||
531 | const struct ath_bus_ops *bus_ops); | 548 | const struct ath_bus_ops *bus_ops); |
532 | void ath_detach(struct ath_softc *sc); | 549 | void ath9k_deinit_device(struct ath_softc *sc); |
533 | const char *ath_mac_bb_name(u32 mac_bb_version); | 550 | const char *ath_mac_bb_name(u32 mac_bb_version); |
534 | const char *ath_rf_name(u16 rf_version); | 551 | const char *ath_rf_name(u16 rf_version); |
535 | void ath_set_hw_capab(struct ath_softc *sc, struct ieee80211_hw *hw); | 552 | void ath9k_set_hw_capab(struct ath_softc *sc, struct ieee80211_hw *hw); |
536 | void ath9k_update_ichannel(struct ath_softc *sc, struct ieee80211_hw *hw, | 553 | void ath9k_update_ichannel(struct ath_softc *sc, struct ieee80211_hw *hw, |
537 | struct ath9k_channel *ichan); | 554 | struct ath9k_channel *ichan); |
538 | void ath_update_chainmask(struct ath_softc *sc, int is_ht); | 555 | void ath_update_chainmask(struct ath_softc *sc, int is_ht); |
@@ -541,6 +558,7 @@ int ath_set_channel(struct ath_softc *sc, struct ieee80211_hw *hw, | |||
541 | 558 | ||
542 | void ath_radio_enable(struct ath_softc *sc, struct ieee80211_hw *hw); | 559 | void ath_radio_enable(struct ath_softc *sc, struct ieee80211_hw *hw); |
543 | void ath_radio_disable(struct ath_softc *sc, struct ieee80211_hw *hw); | 560 | void ath_radio_disable(struct ath_softc *sc, struct ieee80211_hw *hw); |
561 | bool ath9k_setpower(struct ath_softc *sc, enum ath9k_power_mode mode); | ||
544 | 562 | ||
545 | #ifdef CONFIG_PCI | 563 | #ifdef CONFIG_PCI |
546 | int ath_pci_init(void); | 564 | int ath_pci_init(void); |
@@ -582,4 +600,8 @@ void ath_mac80211_stop_queue(struct ath_softc *sc, u16 skb_queue); | |||
582 | void ath_mac80211_start_queue(struct ath_softc *sc, u16 skb_queue); | 600 | void ath_mac80211_start_queue(struct ath_softc *sc, u16 skb_queue); |
583 | 601 | ||
584 | int ath_tx_get_qnum(struct ath_softc *sc, int qtype, int haltype); | 602 | int ath_tx_get_qnum(struct ath_softc *sc, int qtype, int haltype); |
603 | |||
604 | void ath_start_rfkill_poll(struct ath_softc *sc); | ||
605 | extern void ath9k_rfkill_poll_state(struct ieee80211_hw *hw); | ||
606 | |||
585 | #endif /* ATH9K_H */ | 607 | #endif /* ATH9K_H */ |