qcacmn: Add Host support for Spectral FFT recapture

Add support to receive the fft_recapture arg value
from spectraltool, handle the FFT recapture config and
pass this to FW. The recapture feature must be
enabled only for spectral scan period > 52 us and
Normal Spectral scans.

Change-Id: Ied637704d25bb15bff2139a215da7481d4f80e4f
CRs-Fixed: 3140890
This commit is contained in:
Jhalak Naik
2022-03-07 19:58:56 +05:30
zatwierdzone przez Madan Koyyalamudi
rodzic b64b200ff8
commit 055dfbe881
5 zmienionych plików z 52 dodań i 17 usunięć

Wyświetl plik

@@ -1775,17 +1775,6 @@ target_if_sops_stop_spectral_scan(void *arg, enum spectral_scan_mode smode)
p_sops->configure_spectral(spectral, sparams, smode);
}
if (ret == 0 && smode == SPECTRAL_SCAN_MODE_NORMAL) {
struct target_if_spectral_ops *p_sops;
struct spectral_config *sparams;
p_sops = GET_TARGET_IF_SPECTRAL_OPS(spectral);
sparams = &spectral->params[smode];
sparams->ss_recapture = false;
p_sops->configure_spectral(spectral, sparams, smode);
}
return ret;
}
@@ -4431,12 +4420,28 @@ _target_if_set_spectral_config(struct target_if_spectral *spectral,
break;
case SPECTRAL_PARAM_SCAN_PERIOD:
sparams->ss_period = param->value;
if ((sparams->ss_period >=
SPECTRAL_RECAPTURE_SCAN_PERIOD_THRESHOLD) &&
(smode == SPECTRAL_SCAN_MODE_NORMAL))
sparams->ss_recapture = true;
else
if (sparams->ss_recapture && ((sparams->ss_period <
SPECTRAL_RECAPTURE_SCAN_PERIOD_THRESHOLD) ||
(smode == SPECTRAL_SCAN_MODE_AGILE))) {
sparams->ss_recapture = false;
spectral_err("FFT recapture cannot be enabled due to scan period: %d us or spectral scan mode: %d",
sparams->ss_period, smode);
}
break;
case SPECTRAL_PARAM_FFT_RECAPTURE:
if (param->value) {
if (sparams->ss_period >=
SPECTRAL_RECAPTURE_SCAN_PERIOD_THRESHOLD &&
smode == SPECTRAL_SCAN_MODE_NORMAL) {
sparams->ss_recapture = true;
} else {
spectral_err("FFT recapture cannot be enabled due to scan period: %d us or spectral scan mode: %d",
sparams->ss_period, smode);
sparams->ss_recapture = false;
}
} else {
sparams->ss_recapture = false;
}
break;
case SPECTRAL_PARAM_SCAN_COUNT:
sparams->ss_count = param->value;