Lines Matching refs:spectral
16 #define ATH11K_SPECTRAL_MAX_IB_BINS(x) ((x)->hw_params.spectral.max_fft_bins >> 1)
164 /* if there already is a vif doing spectral, return that. */
184 if (ar->spectral.mode == ATH11K_SPECTRAL_DISABLED)
187 ar->spectral.is_primary = true;
219 spin_lock_bh(&ar->spectral.lock);
220 ar->spectral.mode = mode;
221 spin_unlock_bh(&ar->spectral.lock);
227 ath11k_warn(ar->ab, "failed to enable spectral scan: %d\n", ret);
237 count = max_t(u16, 1, ar->spectral.count);
241 param.scan_fft_size = ar->spectral.fft_size;
261 ath11k_warn(ar->ab, "failed to configure spectral scan: %d\n", ret);
278 spectral_mode = ar->spectral.mode;
315 if (ar->spectral.mode == ATH11K_SPECTRAL_MANUAL ||
316 ar->spectral.mode == ATH11K_SPECTRAL_BACKGROUND) {
320 ret = ath11k_spectral_scan_config(ar, ar->spectral.mode);
322 ath11k_warn(ar->ab, "failed to reconfigure spectral scan: %d\n",
329 ath11k_warn(ar->ab, "failed to trigger spectral scan: %d\n",
372 spectral_count = ar->spectral.count;
400 ar->spectral.count = val;
425 fft_size = ar->spectral.fft_size;
452 val > ar->ab->hw_params.spectral.max_fft_bins)
459 ar->spectral.fft_size = ilog2(val);
593 lockdep_assert_held(&ar->spectral.lock);
595 if (!ab->hw_params.spectral.fft_sz) {
605 bin_len = tlv_len - ab->hw_params.spectral.fft_hdr_len;
613 bin_sz = ab->hw_params.spectral.fft_sz + ab->hw_params.spectral.fft_pad_sz;
625 check_length = sizeof(*fft_report) + (num_bins * ab->hw_params.spectral.fft_sz);
647 if (ab->hw_params.spectral.fragment_160mhz) {
677 /* If freq2 is available then the spectral scan results are fragmented
681 if (!ar->spectral.is_primary)
685 ar->spectral.is_primary = !ar->spectral.is_primary;
689 ab->hw_params.spectral.fft_sz);
696 if (ar->spectral.rfs_scan)
697 relay_write(ar->spectral.rfs_scan, fft_sample,
718 spin_lock_bh(&ar->spectral.lock);
720 if (!ar->spectral.enabled) {
737 ath11k_warn(ab, "failed to parse spectral tlv hdr at bytes %d\n",
758 ath11k_warn(ab, "failed to parse spectral tlv payload at bytes %d tlv_len:%d data_len:%d\n",
774 ab->hw_params.spectral.summary_pad_sz;
777 ath11k_warn(ab, "failed to parse spectral summary at bytes %d tlv_len:%d\n",
785 ath11k_warn(ar->ab, "found magic value in spectral summary, dropping\n");
796 ath11k_warn(ab, "failed to parse spectral search fft at bytes %d\n",
807 ath11k_warn(ab, "failed to process spectral fft at bytes %d\n",
823 spin_unlock_bh(&ar->spectral.lock);
830 struct ath11k_spectral *sp = &ar->spectral;
869 struct ath11k_spectral *sp = &ar->spectral;
877 debugfs_remove(ar->spectral.scan_bins);
878 ar->spectral.scan_bins = NULL;
880 debugfs_remove(ar->spectral.scan_count);
881 ar->spectral.scan_count = NULL;
883 debugfs_remove(ar->spectral.scan_ctl);
884 ar->spectral.scan_ctl = NULL;
886 if (ar->spectral.rfs_scan) {
887 relay_close(ar->spectral.rfs_scan);
888 ar->spectral.rfs_scan = NULL;
902 if (!ar->spectral.enabled)
905 if (ar->spectral.rfs_scan)
906 relay_reset(ar->spectral.rfs_scan);
917 sp = &ar->spectral;
939 ar->spectral.rfs_scan = relay_open("spectral_scan",
944 if (!ar->spectral.rfs_scan) {
950 ar->spectral.scan_ctl = debugfs_create_file("spectral_scan_ctl",
954 if (!ar->spectral.scan_ctl) {
961 ar->spectral.scan_count = debugfs_create_file("spectral_count",
965 if (!ar->spectral.scan_count) {
972 ar->spectral.scan_bins = debugfs_create_file("spectral_bins",
976 if (!ar->spectral.scan_bins) {
1002 if (!ab->hw_params.spectral.fft_sz)
1007 sp = &ar->spectral;
1021 ath11k_warn(ab, "failed to init spectral ring for pdev %d\n",
1037 ath11k_warn(ab, "failed to register spectral for pdev %d\n",
1052 if (ar->spectral.enabled)
1053 return ar->spectral.mode;
1060 if (ar->spectral.enabled)
1061 return &ar->spectral.rx_ring;