Commit | Line | Data |
---|---|---|
855aed12 SW |
1 | /* |
2 | * Copyright (c) 2013 Qualcomm Atheros, Inc. | |
3 | * | |
4 | * Permission to use, copy, modify, and/or distribute this software for any | |
5 | * purpose with or without fee is hereby granted, provided that the above | |
6 | * copyright notice and this permission notice appear in all copies. | |
7 | * | |
8 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | |
9 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | |
10 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | |
11 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | |
12 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | |
13 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | |
14 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | |
15 | */ | |
16 | ||
17 | #ifndef SPECTRAL_H | |
18 | #define SPECTRAL_H | |
19 | ||
20 | #include "../spectral_common.h" | |
21 | ||
22 | /** | |
23 | * struct ath10k_spec_scan - parameters for Atheros spectral scan | |
24 | * | |
25 | * @count: number of scan results requested for manual mode | |
26 | * @fft_size: number of bins to be requested = 2^(fft_size - bin_scale) | |
27 | */ | |
28 | struct ath10k_spec_scan { | |
29 | u8 count; | |
30 | u8 fft_size; | |
31 | }; | |
32 | ||
33 | /* enum ath10k_spectral_mode: | |
34 | * | |
35 | * @SPECTRAL_DISABLED: spectral mode is disabled | |
36 | * @SPECTRAL_BACKGROUND: hardware sends samples when it is not busy with | |
37 | * something else. | |
38 | * @SPECTRAL_MANUAL: spectral scan is enabled, triggering for samples | |
39 | * is performed manually. | |
40 | */ | |
41 | enum ath10k_spectral_mode { | |
42 | SPECTRAL_DISABLED = 0, | |
43 | SPECTRAL_BACKGROUND, | |
44 | SPECTRAL_MANUAL, | |
45 | }; | |
46 | ||
47 | #ifdef CONFIG_ATH10K_DEBUGFS | |
48 | ||
49 | int ath10k_spectral_process_fft(struct ath10k *ar, | |
50 | struct wmi_single_phyerr_rx_event *event, | |
51 | struct phyerr_fft_report *fftr, | |
52 | size_t bin_len, u64 tsf); | |
53 | int ath10k_spectral_start(struct ath10k *ar); | |
54 | int ath10k_spectral_vif_stop(struct ath10k_vif *arvif); | |
55 | int ath10k_spectral_create(struct ath10k *ar); | |
56 | void ath10k_spectral_destroy(struct ath10k *ar); | |
57 | ||
58 | #else | |
59 | ||
60 | static inline int | |
61 | ath10k_spectral_process_fft(struct ath10k *ar, | |
62 | struct wmi_single_phyerr_rx_event *event, | |
63 | struct phyerr_fft_report *fftr, | |
64 | size_t bin_len, u64 tsf) | |
65 | { | |
66 | return 0; | |
67 | } | |
68 | ||
69 | static inline int ath10k_spectral_start(struct ath10k *ar) | |
70 | { | |
71 | return 0; | |
72 | } | |
73 | ||
74 | static inline int ath10k_spectral_vif_stop(struct ath10k_vif *arvif) | |
75 | { | |
76 | return 0; | |
77 | } | |
78 | ||
79 | static inline int ath10k_spectral_create(struct ath10k *ar) | |
80 | { | |
81 | return 0; | |
82 | } | |
83 | ||
84 | static inline void ath10k_spectral_destroy(struct ath10k *ar) | |
85 | { | |
86 | } | |
87 | ||
88 | #endif /* CONFIG_ATH10K_DEBUGFS */ | |
89 | ||
90 | #endif /* SPECTRAL_H */ |