Populate number of Spectral detectors per BW in the
Spectral capability vendor command response.
CRs-Fixed: 2659587
Change-Id: I2eba5df02a5f70556d65e689aece1f0fbd8bba93
Remove static from nla_policy spectral_scan_policy in correspondence to
the change to add policy attribute to SPECTRAL_SCAN vendor subcommand.
Change-Id: I764a51f5c1355cb0c3dd2096e6dc7ee332b2f3d6
CRs-Fixed: 2634075
1) Enable DDMA support, FFT bin length adjustment SWARs
2) Skip 16 bytes of padding added after Spectral summary report.
3) FFT report header length is 24 instead of 16 in Pine.
4) Max FFT size is changed to 10.
CRs-Fixed: 2608215
Change-Id: If32a8995f814140f5b61041031fb842d01d24c94
All gen III chipsets use Direct-DMA mechanism to copy Spectral reports to
the Host for further processing. This mechanism involves ring and buffer
management in the Host, FW, and uCode, where improper/incomplete DMA and
improper tail update issues are seen. DBR framework provides support to
debug such issues. Add Spectral control path support to facilitate the
configuration of these debug options.
CRs-Fixed: 2478596 2478595
Change-Id: I094616c4137145389b6984ccab933e5ebd0aa1ab
Some chipsets don't have the capability to run agile Spectral with
160/80p80 modes. For this populate separate agile Spectral capability
for 160 MHz, 80p80 and non 160 MHz modes.
CRs-Fixed: 2549664
Change-Id: I7ae961d3f2bba33d1d3f73679f162823d54b6717
Add an attribute which describes the error code
in the response to set config, start scan and stop
scan.
CRs-Fixed: 2500481
Change-Id: I491cd6e061d2d08ceb4d9af2a7de5223e229c280
Change Spectral report processing logic to handle
Agile Spectral reports. 160 MHz state machine is not
affected by Agile Spectral reports.
CRs-Fixed: 2458359
Change-Id: Iead6427f57edddd61f7d64a961cc6d936d54ab9e
Add a new request structure for Specteral control path.
This structure packages all the commands and their
required inputs. Response to the commands are filled
in this structure by the command handlers in lower
layers.
CRs-Fixed: 2446466
Change-Id: I3113e8721382d284b4e03e0f8fdab1e68d5cfaa1
Populate Spectral capability structure with scaling parameters
from extended service ready event parameters. Send the spectral caps
via cf80211 interface.
CRs-Fixed: 2379652
Change-Id: Id0372bdd40843c2101df32d2e71920027a24909f
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
Spectral allocates its nbuf using qdf_nbuf_alloc() and calls
Netlink functions to send the SKB to the application layer.
After sending SKB, the Netlink send functions free the SKB using
dev_kfree_skb(). As a result, QDF nbuf tracker treats this
an SKB leak and panics the system.
To avoid this leak, remove the SKB entry from QDF nbuf debug hash table
by calling qdf_net_buf_debug_release_skb() before handling
the SKB to Netlink send functions.
Change-Id: I62c7046d1481c2a38ef5321410ebca9f5f5f34ed
CRs-Fixed: 2285654
Such log will show once has the spectral scan result message
need to send to application, which is boring and delete it
Change-Id: I4e7fd8877b354d94022b65a8e43cc4ca3e285943
CRs-Fixed: 2274032
Forward declare 'struct wmi_spectral_cmd_ops' in
file wlan_spectral_utils_api.h to avoid
compilation issue when spectral feature flag
is disabled.
Change-Id: Iba8dfbb2007f20d409fbb2d67ee29f702264e50d
CRs-Fixed: 2269005
Add spectral scan feature flag which can be
used to control the feature through build options.
Change-Id: Ic56416fc99b521174cccb3af27cc841bfb2ad27d
CRs-Fixed: 2244334
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
Define os_if_spectral_netlink_deinit to close the Spectral socket and
de-register the os_if callbacks
Change-Id: I3d054c2a2d630d4d959861d3620592010d04c09a
CRs-Fixed: 2186113
-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
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