diff options
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/hw.h')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/hw.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath9k/hw.h b/drivers/net/wireless/ath/ath9k/hw.h index 3a28cdc1948..a207a70224c 100644 --- a/drivers/net/wireless/ath/ath9k/hw.h +++ b/drivers/net/wireless/ath/ath9k/hw.h | |||
@@ -511,6 +511,15 @@ struct ath_gen_timer_table { | |||
511 | * @setup_calibration: set up calibration | 511 | * @setup_calibration: set up calibration |
512 | * @iscal_supported: used to query if a type of calibration is supported | 512 | * @iscal_supported: used to query if a type of calibration is supported |
513 | * @loadnf: load noise floor read from each chain on the CCA registers | 513 | * @loadnf: load noise floor read from each chain on the CCA registers |
514 | * | ||
515 | * @ani_reset: reset ANI parameters to default values | ||
516 | * @ani_lower_immunity: lower the noise immunity level. The level controls | ||
517 | * the power-based packet detection on hardware. If a power jump is | ||
518 | * detected the adapter takes it as an indication that a packet has | ||
519 | * arrived. The level ranges from 0-5. Each level corresponds to a | ||
520 | * few dB more of noise immunity. If you have a strong time-varying | ||
521 | * interference that is causing false detections (OFDM timing errors or | ||
522 | * CCK timing errors) the level can be increased. | ||
514 | */ | 523 | */ |
515 | struct ath_hw_private_ops { | 524 | struct ath_hw_private_ops { |
516 | /* Calibration ops */ | 525 | /* Calibration ops */ |
@@ -554,6 +563,10 @@ struct ath_hw_private_ops { | |||
554 | int param); | 563 | int param); |
555 | void (*do_getnf)(struct ath_hw *ah, int16_t nfarray[NUM_NF_READINGS]); | 564 | void (*do_getnf)(struct ath_hw *ah, int16_t nfarray[NUM_NF_READINGS]); |
556 | void (*loadnf)(struct ath_hw *ah, struct ath9k_channel *chan); | 565 | void (*loadnf)(struct ath_hw *ah, struct ath9k_channel *chan); |
566 | |||
567 | /* ANI */ | ||
568 | void (*ani_reset)(struct ath_hw *ah); | ||
569 | void (*ani_lower_immunity)(struct ath_hw *ah); | ||
557 | }; | 570 | }; |
558 | 571 | ||
559 | /** | 572 | /** |
@@ -564,6 +577,11 @@ struct ath_hw_private_ops { | |||
564 | * | 577 | * |
565 | * @config_pci_powersave: | 578 | * @config_pci_powersave: |
566 | * @calibrate: periodic calibration for NF, ANI, IQ, ADC gain, ADC-DC | 579 | * @calibrate: periodic calibration for NF, ANI, IQ, ADC gain, ADC-DC |
580 | * | ||
581 | * @ani_proc_mib_event: process MIB events, this would happen upon specific ANI | ||
582 | * thresholds being reached or having overflowed. | ||
583 | * @ani_monitor: called periodically by the core driver to collect | ||
584 | * MIB stats and adjust ANI if specific thresholds have been reached. | ||
567 | */ | 585 | */ |
568 | struct ath_hw_ops { | 586 | struct ath_hw_ops { |
569 | void (*config_pci_powersave)(struct ath_hw *ah, | 587 | void (*config_pci_powersave)(struct ath_hw *ah, |
@@ -604,6 +622,9 @@ struct ath_hw_ops { | |||
604 | u32 burstDuration); | 622 | u32 burstDuration); |
605 | void (*set11n_virtualmorefrag)(struct ath_hw *ah, void *ds, | 623 | void (*set11n_virtualmorefrag)(struct ath_hw *ah, void *ds, |
606 | u32 vmf); | 624 | u32 vmf); |
625 | |||
626 | void (*ani_proc_mib_event)(struct ath_hw *ah); | ||
627 | void (*ani_monitor)(struct ath_hw *ah, struct ath9k_channel *chan); | ||
607 | }; | 628 | }; |
608 | 629 | ||
609 | struct ath_hw { | 630 | struct ath_hw { |
@@ -934,6 +955,14 @@ void ar9003_hw_attach_calib_ops(struct ath_hw *ah); | |||
934 | void ar9002_hw_attach_ops(struct ath_hw *ah); | 955 | void ar9002_hw_attach_ops(struct ath_hw *ah); |
935 | void ar9003_hw_attach_ops(struct ath_hw *ah); | 956 | void ar9003_hw_attach_ops(struct ath_hw *ah); |
936 | 957 | ||
958 | /* | ||
959 | * ANI work can be shared between all families but a next | ||
960 | * generation implementation of ANI will be used only for AR9003 only | ||
961 | * for now as the other families still need to be tested with the same | ||
962 | * next generation ANI. | ||
963 | */ | ||
964 | void ath9k_hw_attach_ani_ops_old(struct ath_hw *ah); | ||
965 | |||
937 | #define ATH_PCIE_CAP_LINK_CTRL 0x70 | 966 | #define ATH_PCIE_CAP_LINK_CTRL 0x70 |
938 | #define ATH_PCIE_CAP_LINK_L0S 1 | 967 | #define ATH_PCIE_CAP_LINK_L0S 1 |
939 | #define ATH_PCIE_CAP_LINK_L1 2 | 968 | #define ATH_PCIE_CAP_LINK_L1 2 |