linux/drivers/net/wireless/ath/ath10k/spectral.h
<<
>>
Prefs
   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 */
  80