spectral.h (1760B)
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 */ 17struct 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 */ 30enum ath10k_spectral_mode { 31 SPECTRAL_DISABLED = 0, 32 SPECTRAL_BACKGROUND, 33 SPECTRAL_MANUAL, 34}; 35 36#ifdef CONFIG_ATH10K_SPECTRAL 37 38int 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); 42int ath10k_spectral_start(struct ath10k *ar); 43int ath10k_spectral_vif_stop(struct ath10k_vif *arvif); 44int ath10k_spectral_create(struct ath10k *ar); 45void ath10k_spectral_destroy(struct ath10k *ar); 46 47#else 48 49static inline int 50ath10k_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 58static inline int ath10k_spectral_start(struct ath10k *ar) 59{ 60 return 0; 61} 62 63static inline int ath10k_spectral_vif_stop(struct ath10k_vif *arvif) 64{ 65 return 0; 66} 67 68static inline int ath10k_spectral_create(struct ath10k *ar) 69{ 70 return 0; 71} 72 73static inline void ath10k_spectral_destroy(struct ath10k *ar) 74{ 75} 76 77#endif /* CONFIG_ATH10K_SPECTRAL */ 78 79#endif /* SPECTRAL_H */