brintos

brintos / linux-shallow public Read only

0
0
Text · 2.0 KiB · 789cff7 Raw
85 lines · c
1/* SPDX-License-Identifier: BSD-3-Clause-Clear */2/*3 * Copyright (c) 2019-2020 The Linux Foundation. All rights reserved.4 * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.5 */6 7#ifndef ATH11K_SPECTRAL_H8#define ATH11K_SPECTRAL_H9 10#include "../spectral_common.h"11#include "dbring.h"12 13/* enum ath11k_spectral_mode:14 *15 * @SPECTRAL_DISABLED: spectral mode is disabled16 * @SPECTRAL_BACKGROUND: hardware sends samples when it is not busy with17 *	something else.18 * @SPECTRAL_MANUAL: spectral scan is enabled, triggering for samples19 *	is performed manually.20 */21enum ath11k_spectral_mode {22	ATH11K_SPECTRAL_DISABLED = 0,23	ATH11K_SPECTRAL_BACKGROUND,24	ATH11K_SPECTRAL_MANUAL,25};26 27struct ath11k_spectral {28	struct ath11k_dbring rx_ring;29	/* Protects enabled */30	spinlock_t lock;31	struct rchan *rfs_scan;	/* relay(fs) channel for spectral scan */32	struct dentry *scan_ctl;33	struct dentry *scan_count;34	struct dentry *scan_bins;35	enum ath11k_spectral_mode mode;36	u16 count;37	u8 fft_size;38	bool enabled;39	bool is_primary;40};41 42#ifdef CONFIG_ATH11K_SPECTRAL43 44int ath11k_spectral_init(struct ath11k_base *ab);45void ath11k_spectral_deinit(struct ath11k_base *ab);46int ath11k_spectral_vif_stop(struct ath11k_vif *arvif);47void ath11k_spectral_reset_buffer(struct ath11k *ar);48enum ath11k_spectral_mode ath11k_spectral_get_mode(struct ath11k *ar);49struct ath11k_dbring *ath11k_spectral_get_dbring(struct ath11k *ar);50 51#else52 53static inline int ath11k_spectral_init(struct ath11k_base *ab)54{55	return 0;56}57 58static inline void ath11k_spectral_deinit(struct ath11k_base *ab)59{60}61 62static inline int ath11k_spectral_vif_stop(struct ath11k_vif *arvif)63{64	return 0;65}66 67static inline void ath11k_spectral_reset_buffer(struct ath11k *ar)68{69}70 71static inline72enum ath11k_spectral_mode ath11k_spectral_get_mode(struct ath11k *ar)73{74	return ATH11K_SPECTRAL_DISABLED;75}76 77static inline78struct ath11k_dbring *ath11k_spectral_get_dbring(struct ath11k *ar)79{80	return NULL;81}82 83#endif /* CONFIG_ATH11K_SPECTRAL */84#endif /* ATH11K_SPECTRAL_H */85