Branch data Line data Source code
1 : : /* SPDX-License-Identifier: ISC */ 2 : : /* 3 : : * Copyright (c) 2013-2015 Qualcomm Atheros, Inc. 4 : : */ 5 : : 6 : : #ifndef SPECTRAL_H 7 : : #define SPECTRAL_H 8 : : 9 : : #include "../spectral_common.h" 10 : : 11 : : /** 12 : : * struct ath10k_spec_scan - parameters for Atheros spectral scan 13 : : * 14 : : * @count: number of scan results requested for manual mode 15 : : * @fft_size: number of bins to be requested = 2^(fft_size - bin_scale) 16 : : */ 17 : : struct ath10k_spec_scan { 18 : : u8 count; 19 : : u8 fft_size; 20 : : }; 21 : : 22 : : /* enum ath10k_spectral_mode: 23 : : * 24 : : * @SPECTRAL_DISABLED: spectral mode is disabled 25 : : * @SPECTRAL_BACKGROUND: hardware sends samples when it is not busy with 26 : : * something else. 27 : : * @SPECTRAL_MANUAL: spectral scan is enabled, triggering for samples 28 : : * is performed manually. 29 : : */ 30 : : enum ath10k_spectral_mode { 31 : : SPECTRAL_DISABLED = 0, 32 : : SPECTRAL_BACKGROUND, 33 : : SPECTRAL_MANUAL, 34 : : }; 35 : : 36 : : #ifdef CONFIG_ATH10K_SPECTRAL 37 : : 38 : : int ath10k_spectral_process_fft(struct ath10k *ar, 39 : : struct wmi_phyerr_ev_arg *phyerr, 40 : : const struct phyerr_fft_report *fftr, 41 : : size_t bin_len, u64 tsf); 42 : : int ath10k_spectral_start(struct ath10k *ar); 43 : : int ath10k_spectral_vif_stop(struct ath10k_vif *arvif); 44 : : int ath10k_spectral_create(struct ath10k *ar); 45 : : void ath10k_spectral_destroy(struct ath10k *ar); 46 : : 47 : : #else 48 : : 49 : : static inline int 50 : : ath10k_spectral_process_fft(struct ath10k *ar, 51 : : struct wmi_phyerr_ev_arg *phyerr, 52 : : const struct phyerr_fft_report *fftr, 53 : : size_t bin_len, u64 tsf) 54 : : { 55 : : return 0; 56 : : } 57 : : 58 : 0 : static inline int ath10k_spectral_start(struct ath10k *ar) 59 : : { 60 : 0 : return 0; 61 : : } 62 : : 63 : 0 : static inline int ath10k_spectral_vif_stop(struct ath10k_vif *arvif) 64 : : { 65 : 0 : return 0; 66 : : } 67 : : 68 : 0 : static inline int ath10k_spectral_create(struct ath10k *ar) 69 : : { 70 : 0 : return 0; 71 : : } 72 : : 73 : 0 : static inline void ath10k_spectral_destroy(struct ath10k *ar) 74 : : { 75 : 0 : } 76 : : 77 : : #endif /* CONFIG_ATH10K_SPECTRAL */ 78 : : 79 : : #endif /* SPECTRAL_H */