|
@@ -1,6 +1,6 @@
|
|
/*
|
|
/*
|
|
* Copyright (c) 2011, 2017-2021 The Linux Foundation. All rights reserved.
|
|
* Copyright (c) 2011, 2017-2021 The Linux Foundation. All rights reserved.
|
|
- * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
|
|
|
|
|
+ * Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
|
*
|
|
*
|
|
* Permission to use, copy, modify, and/or distribute this software for
|
|
* Permission to use, copy, modify, and/or distribute this software for
|
|
* any purpose with or without fee is hereby granted, provided that the
|
|
* any purpose with or without fee is hereby granted, provided that the
|
|
@@ -218,7 +218,7 @@ struct spectral_ioctl_params {
|
|
};
|
|
};
|
|
|
|
|
|
/**
|
|
/**
|
|
- * spectral_cap_hw_gen: Definitions for the Spectral hardware generation.
|
|
|
|
|
|
+ * enum spectral_cap_hw_gen - Definitions for the Spectral hardware generation.
|
|
* This corresponds to definitions in qca_wlan_vendor_spectral_scan_cap_hw_gen.
|
|
* This corresponds to definitions in qca_wlan_vendor_spectral_scan_cap_hw_gen.
|
|
* @SPECTRAL_CAP_HW_GEN_1: Generation 1
|
|
* @SPECTRAL_CAP_HW_GEN_1: Generation 1
|
|
* @SPECTRAL_CAP_HW_GEN_2: Generation 2
|
|
* @SPECTRAL_CAP_HW_GEN_2: Generation 2
|
|
@@ -249,7 +249,7 @@ struct spectral_config_frequency {
|
|
* struct spectral_config - spectral config parameters
|
|
* struct spectral_config - spectral config parameters
|
|
* @ss_fft_period: Skip interval for FFT reports
|
|
* @ss_fft_period: Skip interval for FFT reports
|
|
* @ss_period: Spectral scan period
|
|
* @ss_period: Spectral scan period
|
|
- * @ss_recapture Set this to allow FFT recapture if scan period > 52us
|
|
|
|
|
|
+ * @ss_recapture: Set this to allow FFT recapture if scan period > 52us
|
|
* @ss_count: # of reports to return from ss_active
|
|
* @ss_count: # of reports to return from ss_active
|
|
* @ss_short_report: Set to report only 1 set of FFT results
|
|
* @ss_short_report: Set to report only 1 set of FFT results
|
|
* @radar_bin_thresh_sel: Select threshold to classify strong bin for FFT
|
|
* @radar_bin_thresh_sel: Select threshold to classify strong bin for FFT
|
|
@@ -317,7 +317,7 @@ struct spectral_config_frequency {
|
|
* applicable only for Agile Spectral scan request in
|
|
* applicable only for Agile Spectral scan request in
|
|
* 80+80 MHz mode. For 80+80 mode it represents the
|
|
* 80+80 MHz mode. For 80+80 mode it represents the
|
|
* center frequency (in MHz) of the secondary 80 MHz
|
|
* center frequency (in MHz) of the secondary 80 MHz
|
|
-* span of interest or center frequency (in MHz) of
|
|
|
|
|
|
+ * span of interest or center frequency (in MHz) of
|
|
* any WLAN channel in the secondary 80 MHz span of
|
|
* any WLAN channel in the secondary 80 MHz span of
|
|
* interest.
|
|
* interest.
|
|
* @ss_bandwidth: Spectral scan bandwidth
|
|
* @ss_bandwidth: Spectral scan bandwidth
|
|
@@ -523,6 +523,8 @@ SPECTRAL_COMPILE_TIME_ASSERT(struct_size_4byte_assertion,
|
|
* @max_magnitude: Indicates the maximum magnitude
|
|
* @max_magnitude: Indicates the maximum magnitude
|
|
* @noise_floor: Indicates the current noise floor
|
|
* @noise_floor: Indicates the current noise floor
|
|
* @rssi: Indicates RSSI
|
|
* @rssi: Indicates RSSI
|
|
|
|
+ * @agc_total_gain:
|
|
|
|
+ * @gainchange:
|
|
* @pri80ind: Indication from hardware that the sample was received on the
|
|
* @pri80ind: Indication from hardware that the sample was received on the
|
|
* primary 80 MHz segment. If this is set for smode = SPECTRAL_SCAN_MODE_AGILE,
|
|
* primary 80 MHz segment. If this is set for smode = SPECTRAL_SCAN_MODE_AGILE,
|
|
* it indicates that Spectral scan was carried out on pri80 instead of the
|
|
* it indicates that Spectral scan was carried out on pri80 instead of the
|
|
@@ -531,6 +533,7 @@ SPECTRAL_COMPILE_TIME_ASSERT(struct_size_4byte_assertion,
|
|
* @is_sec80: Indicates whether the frequency span corresponds to pri80 or
|
|
* @is_sec80: Indicates whether the frequency span corresponds to pri80 or
|
|
* sec80 (only applicable for 160/80p80 operating_bw for
|
|
* sec80 (only applicable for 160/80p80 operating_bw for
|
|
* smode SPECTRAL_SCAN_MODE_NORMAL)
|
|
* smode SPECTRAL_SCAN_MODE_NORMAL)
|
|
|
|
+ * @padding_detector_info: padding bytes
|
|
*/
|
|
*/
|
|
struct samp_detector_info {
|
|
struct samp_detector_info {
|
|
uint32_t start_frequency;
|
|
uint32_t start_frequency;
|
|
@@ -567,6 +570,7 @@ SPECTRAL_COMPILE_TIME_ASSERT(struct_size_4byte_assertion,
|
|
* Spectral scan and interference detection is carried out.
|
|
* Spectral scan and interference detection is carried out.
|
|
* @detector_info: Per-detector Spectral information
|
|
* @detector_info: Per-detector Spectral information
|
|
* @num_detectors: Number of detectors per span
|
|
* @num_detectors: Number of detectors per span
|
|
|
|
+ * @padding_span_info: padding bytes
|
|
*/
|
|
*/
|
|
struct samp_freq_span_info {
|
|
struct samp_freq_span_info {
|
|
struct samp_detector_info detector_info[MAX_NUM_DETECTORS];
|
|
struct samp_detector_info detector_info[MAX_NUM_DETECTORS];
|
|
@@ -676,6 +680,10 @@ struct spectral_samp_msg {
|
|
* @noise_floor_sec80: Indicates the current noise floor for secondary 80
|
|
* @noise_floor_sec80: Indicates the current noise floor for secondary 80
|
|
* segment
|
|
* segment
|
|
* @ch_width: Channel width 20/40/80/160 MHz
|
|
* @ch_width: Channel width 20/40/80/160 MHz
|
|
|
|
+ * @spectral_agc_total_gain:
|
|
|
|
+ * @spectral_agc_total_gain_sec80:
|
|
|
|
+ * @spectral_gainchange:
|
|
|
|
+ * @spectral_gainchange_sec80:
|
|
* @spectral_mode: Spectral scan mode
|
|
* @spectral_mode: Spectral scan mode
|
|
* @spectral_pri80ind: Indication from hardware that the sample was
|
|
* @spectral_pri80ind: Indication from hardware that the sample was
|
|
* received on the primary 80 MHz segment. If this
|
|
* received on the primary 80 MHz segment. If this
|
|
@@ -707,6 +715,7 @@ struct spectral_samp_msg {
|
|
* via direct DMA framework.
|
|
* via direct DMA framework.
|
|
* @target_reset_count: Indicates the number of times target went through
|
|
* @target_reset_count: Indicates the number of times target went through
|
|
* reset routine after spectral was enabled.
|
|
* reset routine after spectral was enabled.
|
|
|
|
+ * @agile_ch_width:
|
|
* @bin_pwr_count_5mhz: Indicates the number of FFT bins in the extra
|
|
* @bin_pwr_count_5mhz: Indicates the number of FFT bins in the extra
|
|
* 5 MHz for 165 MHz/ Restricted 80p80 mode
|
|
* 5 MHz for 165 MHz/ Restricted 80p80 mode
|
|
* @bin_pwr_5mhz: Contains FFT magnitudes corresponding to the extra
|
|
* @bin_pwr_5mhz: Contains FFT magnitudes corresponding to the extra
|