80 lines · c
1/* SPDX-License-Identifier: ISC */2/*3 * Copyright (c) 2013-2015 Qualcomm Atheros, Inc.4 */5 6#ifndef SPECTRAL_H7#define SPECTRAL_H8 9#include "../spectral_common.h"10 11/**12 * struct ath10k_spec_scan - parameters for Atheros spectral scan13 *14 * @count: number of scan results requested for manual mode15 * @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 disabled25 * @SPECTRAL_BACKGROUND: hardware sends samples when it is not busy with26 * something else.27 * @SPECTRAL_MANUAL: spectral scan is enabled, triggering for samples28 * is performed manually.29 */30enum ath10k_spectral_mode {31 SPECTRAL_DISABLED = 0,32 SPECTRAL_BACKGROUND,33 SPECTRAL_MANUAL,34};35 36#ifdef CONFIG_ATH10K_SPECTRAL37 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#else48 49static inline int50ath10k_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 */80