Path: blob/main/sys/contrib/dev/athk/ath10k/spectral.h
48378 views
/* SPDX-License-Identifier: ISC */1/*2* Copyright (c) 2013-2015 Qualcomm Atheros, Inc.3*/45#ifndef SPECTRAL_H6#define SPECTRAL_H78#include "../spectral_common.h"910/**11* struct ath10k_spec_scan - parameters for Atheros spectral scan12*13* @count: number of scan results requested for manual mode14* @fft_size: number of bins to be requested = 2^(fft_size - bin_scale)15*/16struct ath10k_spec_scan {17u8 count;18u8 fft_size;19};2021/* enum ath10k_spectral_mode:22*23* @SPECTRAL_DISABLED: spectral mode is disabled24* @SPECTRAL_BACKGROUND: hardware sends samples when it is not busy with25* something else.26* @SPECTRAL_MANUAL: spectral scan is enabled, triggering for samples27* is performed manually.28*/29enum ath10k_spectral_mode {30SPECTRAL_DISABLED = 0,31SPECTRAL_BACKGROUND,32SPECTRAL_MANUAL,33};3435#ifdef CONFIG_ATH10K_SPECTRAL3637int ath10k_spectral_process_fft(struct ath10k *ar,38struct wmi_phyerr_ev_arg *phyerr,39const struct phyerr_fft_report *fftr,40size_t bin_len, u64 tsf);41int ath10k_spectral_start(struct ath10k *ar);42int ath10k_spectral_vif_stop(struct ath10k_vif *arvif);43int ath10k_spectral_create(struct ath10k *ar);44void ath10k_spectral_destroy(struct ath10k *ar);4546#else4748static inline int49ath10k_spectral_process_fft(struct ath10k *ar,50struct wmi_phyerr_ev_arg *phyerr,51const struct phyerr_fft_report *fftr,52size_t bin_len, u64 tsf)53{54return 0;55}5657static inline int ath10k_spectral_start(struct ath10k *ar)58{59return 0;60}6162static inline int ath10k_spectral_vif_stop(struct ath10k_vif *arvif)63{64return 0;65}6667static inline int ath10k_spectral_create(struct ath10k *ar)68{69return 0;70}7172static inline void ath10k_spectral_destroy(struct ath10k *ar)73{74}7576#endif /* CONFIG_ATH10K_SPECTRAL */7778#endif /* SPECTRAL_H */798081