For HK V2 each fft bin is 2 bytes due to
some HW limitations. To fix this modify the
fftbin size WAR to convert 2 byte fft bins to 1 byte
and forward to applications via SAMP message.
CRs-Fixed: 2319415
Change-Id: I6c27d6804ddaf91ed9e6695e0b21a81115744fff
Add Gen3 Spectral host WAR to remove NULL FFT bins for report mode (1)
in which only summary of metrics for each completed FFT + spectral
scan summary report are to be provided. This would be required on some
Gen3 chipsets (starting with IPQ8074) under the following
circumstances: In report mode 1, HW reports a length corresponding to
all bins, and provides bins with value 0. This is because the
subsystem arranging for the FFT information does not arrange for DMA
of FFT bin values (as expected), but cannot arrange for a smaller
length to be reported by HW. In these circumstances, the host driver
would have to disregard the NULL bins and report a bin count of 0 to
higher layers.
Change-Id: If5fb72805dc80ada0ab617b4b1c2cc9ea497bcf8
CRs-Fixed: 2300251
For generation 3 spectral reports for the 80 MHz segments
come as part of different events. To deal with this a
state machine is added to report handler. Noise floor
value of the lowest chain in the chain mask is populated
in the SAMP message.
CRs-Fixed: 2236331
Change-Id: Ie24426449cf8503c9d7f7c30ca617a6697ca2b5e
In the existing converged component, WMI TLV APIs are implemented in
a generic manner without proper featurization. All the APIs exposed
outside of WMI are implemented in wmi_unified_api.c and all the APIs
forming the CMD or extracting the EVT is implemented in wmi_unified_tlv.c.
Since WIN and MCL have a unified WMI layer in the converged component and
there are features within WIN and MCL that are not common, there exists a
good number of WMI APIs which are specific to WIN but compiled by MCL and
vice-versa. Due to this inadvertent problem, there is a chunk of code and
memory used up by WIN and MCL for features that are not used in their
products.
Featurize WMI APIs and TLVs that are specific to WIN
- Air Time Fareness (ATF)
- Direct Buffer Rx (DBR)
- Smart Antenna (SMART_ANT)
- Generic WIN specific WMI (AP)
Change-Id: I7b27c8993da04c9e9651a9682de370daaa40d187
CRs-Fixed: 2320273
Add new fields such as agc_total_gain, sscan_gainchange
to the Spectral SAMP message.
CRs-Fixed: 2291499
Change-Id: Ia6a9fd742c2ee98fd9d7102f0d8c66dcd22a1614
Clean up spectral, tif and umac component prints by correcting trace
levels for regularly occurring prints and removing newlines from
converged print APIs since qdf_trace_msg appends them by default.
Change-Id: Ib10f1b1c54ecbcb9f4076be7c2c4708359d488e0
CRs-Fixed: 2243843
After stop_scan call, Spectral priority is being disabled.
Do not change the value of any spectral parameter unless the command is
configure_spectral.
Change-Id: I25d3458cd49e25533270f89df9f8f29a4b7da16d
CRs-Fixed: 2259952
As per the current design we are trying to take a ref
for the vdev even when there are no active vdev.
Fix this by adding a NULL check.
CRs-Fixed: 2262983
Change-Id: Iac62c9d0e1138c3d150a179546ad7793ff61e3db
Add spectral scan feature flag which can be
used to control the feature through build options.
Change-Id: Ic56416fc99b521174cccb3af27cc841bfb2ad27d
CRs-Fixed: 2244334
Address the following issue in the spectral folder:
CHECK: 'transfered' may be misspelled - perhaps 'transferred'?
Change-Id: I23b710b4462f3ecc6f14fab54689a1064a716bf7
CRs-Fixed: 2241583
Setting of any spectral parameter after 'wifi load',
before doing a get operation, is not getting affected.
This is because the current implementation marks the
spectral cache valid only during the read operation.
To fix this, mark the cache valid after write as well.
Change-Id: I53df704e60e29cab7ce7afdd49b917e3482479e5
CRs-Fixed: 2238814
Spectral scan period is not in terms of tclk periods for
generation 3 Spectral HW. It is directly in micro seconds.
Default value is 224 us. Driver needs to use 224 us as
default value. Application needs to display the unit as
tclk period till generation II and micro second for
generation III. For this driver will be sharing the
Spectral HW generation info to application as part of
the capability exchange.
CRs-Fixed: 2225740
Change-Id: Iaeda8ebb77c2a39824b5f919e8578ff4d56c1aa5
Replace functions with ucfg as prefix in init_deinit_ucfg file with lmac as
prefix
Change-Id: I90d77dd5ddae4854ea68eeb67dc1b4fc356c2fe3
CRs-Fixed: 2182449
RSSI values are reported in 1/2 dBm steps for spectral HW gen III.
Convert the RSSI values to 1dBm scale.
CRs-Fixed: 2231546
Change-Id: I30962a95ba7a5f759d933e373c2b8708a98712fc
Spectral module gets the noisefloor value from the meta data
info send by FW through direct dma framework. Copy the noise floor
value to SAMP message.
CRs-Fixed: 2219818
Change-Id: Icbd146875be668cdb99be20264e931040b670d5b
On IPQ8074, for report mode 2 only the in-band bins are DMA'ed.
Scatter/gather is used. However, the HW generates all bins, not just
in-band, and reports the number of bins accordingly. The subsystem
arranging for the DMA cannot change this value. The host driver needs
to check if report format is 2, and if so halve the number of bins
reported to get the number actually DMA'ed.
CRs-Fixed: 2218423
Change-Id: Ic0be87422c67110cf3595a4bea71dc872d5b2504
Since vdev_id is globally unique across multiple pdev,
assuming vdev_id 0 to find the first vdev of a pdev wouldn’t work.
Fix this issue by getting the first vdev from the head of vdev
linked list maintained per pdev.
CRs-Fixed: 2211742
Change-Id: I5a7b5436cff363d5470fb600cca54f587a7d683e
Define os_if_spectral_netlink_deinit to close the Spectral socket and
de-register the os_if callbacks
Change-Id: I3d054c2a2d630d4d959861d3620592010d04c09a
CRs-Fixed: 2186113
Process spectral summary and search fft report for
gen3 spectral HW. Add the frame work to register to
Direct dma module.
CRs-Fixed: 2184019
Change-Id: I4e2869d9c2887767d58685533265cc93c908b697
-Initialize the default Configuration as
gen2 for spectral module on MCL.
-Add support to general netlink socket.
Change-Id: Iab06f66d18c4791f0ff5483781634df2a7268ddb
CRs-Fixed: 2183870
Spectral Netlink related APIs are currently present in
target_if layer, move them to os_if layer.
Change-Id: I86a5495f6ec8aa85a2e9639902503a522b023f8e
CRs-Fixed: 2151548
Current Spectral module uses qdf_print. To improve the control over
logging, use module level logging
CRs-Fixed: 2165341
Change-Id: I205991347453c4dcc424ba1958e309b7c5fb71a0
Current target_if Spectral simulation layer code is not following
coding convention rules in some places.
Change-Id: I0bf0f0514b65e17ddce9fb803c647448ee4b5b3a
CRs-Fixed: 2151555
Current target_if spectral layer code is not following coding
convention rules in some places.
Change-Id: I1c0e78c6cdbe97db657c341d74582567a29a86b0
CRs-Fixed: 2151555
fwhdr_abstrct: Use Host based TARGET_TYPE instead of firmware
defined TARGET_TYPE. It will abstract dependency on bmi_msg.h.
Change-Id: I76d744db27df730a3a91a243adfc07fc17d77487
CRs-Fixed: 2140921
Use table of function pointers for legacy api calls
instead of calling legacy apis directely
CRs-Fixed: 2146231
Change-Id: Ia5840208d0de5bd4e78c1d27b8ffdc0cf6cbf298
Add following vendor commands and their handlers.
1) QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_START
Set the spectral parameters and start scan.
2) QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_GET_STATUS
Stop spectral scan.
3) QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_GET_CONFIG
Get current values of spectral parameters.
4) QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_GET_DIAG_STATS
Get stats for spectral scan debug.
5) QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_GET_CAP_INFO
Get the spectral hardware capability.
6) QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_GET_STATUS
Get the current status of spectral scan.
CRs-Fixed: 2146272
Change-Id: I8e048d6c21e9fb1ed286c19df0edcad46f6e6414
Removing WIN specific structures 'scn' and 'ic'
from the spectral module in cmn_dev
CRs-Fixed: 2146258
Change-Id: Ie4def4dfb401f4b1a5920277f8fa79acb67dd46b
As part of second phase of Spectral Analysis(SA)
convergence [WIN & MCL], spectral module code is being moved to cmn_dev.
Also includes fixes for checkpatch.
CRs-Fixed: 2146231
Change-Id: I939509193786b0bd2cbd5f1af64d4a94739a2af5