1
0
Gráfico de cometimentos

76 Cometimentos

Autor(a) SHA1 Mensagem Data
Jhalak Naik
b022dda84c qcacmn: Modify Spectral debug print APIs
Modify APIs target_if_dbg_print_samp_msg() and
target_if_dbg_print_samp_param() to use the
new formats for spectral_samp_msg and
target_if_samp_msg_params, respectively.

CRs-Fixed: 2961953
Change-Id: Ib0776c2189e9ca1dc33d38f2a7609aa6d15959ee
2021-07-10 13:31:19 -07:00
Jhalak Naik
8a5bf47771 qcacmn: Add new function free_samp_msg_skb()
Add a new API free_samp_msg_skb(), to free
SAMP msg buffer, if error in phyerr processing
for 160/80p80 MHz modes. Call this API from
reset_160mhz_delivery_state_machine(), to
avoid redundancy.

CRs-Fixed: 2961987
Change-Id: I3a0488997e474fef6f4f57e3fbfd1a163c91ac7b
2021-07-10 13:31:13 -07:00
Jhalak Naik
a66fec0ada qcacmn: Populate target_if_samp_msg_params for Spectral gen2
Add API target_if_spectral_populate_samp_params_gen2() to
populate fields in target_if_samp_msg_params, using
search fft report and target_if_spectral_rfqual_info
fields.

CRs-Fixed: 2961986
Change-Id: Iad970483f6183d2e52d97e6c3ddf8f146845fbe4
2021-07-10 13:31:09 -07:00
Jhalak Naik
9cbb125f8e qcacmn: Refactor target_if_process_phyerr_gen2()
Refactor API target_if_process_phyerr_gen2 for
new SAMP message format.

CRs-Fixed: 2961984
Change-Id: Ife76f4da3256e44a2d3ffe0bdb65da2d3b6b24c7
2021-07-10 13:31:04 -07:00
Jhalak Naik
da7baec68d qcacmn: Modify target_if Spectral APIs to Support GEN2
Modify the below APIs to support Spectral gen2
fields and add appropriate checks:

	1) target_if_spectral_fill_samp_msg()
	2) target_if_populate_fft_bins_info()

CRs-Fixed: 2961981
Change-Id: Ieb63a0215e5585bc8acebe8051dbf0663142fb86
2021-07-10 13:30:57 -07:00
Jhalak Naik
7100c71202 qcacmn: Populate target_if_samp_msg_params for Spectral gen3
Add API target_if_spectral_populate_samp_params_gen3() to
populate fields in target_if_samp_msg_params, using
Spectral report, search fft report and spectral scan
summary report.

CRs-Fixed: 2945300
Change-Id: Idce57af9a198773491f6c6bc7303641ec0fb15a7
2021-07-10 13:30:53 -07:00
Jhalak Naik
555875b09b qcacmn: Populate start and end frequencies in detector map
Add API target_if_spectral_get_start_end_freq to set
start and end frequencies in the per-session
detector level map, based on spectral scan
cfreq1/cfreq2 and operating BW.

API target_if_populate_detector_start_end_freqs handles
population of the start and end frequencies per-detector,
in a session.

CRs-Fixed: 2961957
Change-Id: I68a052db6643d92c22e7ee671f4e46af33c2fa08
2021-07-10 13:30:38 -07:00
Jhalak Naik
86ff67088d qcacmn: Replace numbers with macros in FFT report processing
Replace numerical values with macros, for indicating
position and size of Spectral FFT report fields, in
target_if_consume_sfft_report_gen3().

Change-Id: I81994ebb0d642bc4cbebe2b24aabcae567ae6a9c
CRs-Fixed: 2945319
2021-07-10 13:30:34 -07:00
Jhalak Naik
2ae296f522 qcacmn: Support timestamp verification per-detector
Modify prev_tstamp variable in target_if_spectral
structure to an array and index it based on detector ID.
Also, modify target_if_spectral_verify_ts() to include
detector_id parameter and compare current timestamp with previously
received sample on per-detector level, to check discrepancy.

Change-Id: I9f6382909ac0661323db54f160f1350cb8bd8153
CRs-Fixed: 2945318
2021-07-10 13:30:29 -07:00
Jhalak Naik
f0cbec4348 qcacmn: Add API to get correct center frequency values
Add target_if_get_ieee80211_format_cfreq() to calculate
correct cfreq1/cfreq2 values in-line with IEEE 802.11
standard, for Spectral gen3.

CRs-Fixed: 2965699
Change-Id: I9449a6625883c4534a71c2427c84954625bd2977
2021-07-10 13:30:21 -07:00
Jhalak Naik
7a2dbee636 qcacmn: Populate FFT bins start and end indices
Add API to fill FFT bin start and end indices to the
detector map, depending on the values of cfreq1 and cfreq2.

This is to handle samples where the frequency of
Detector 0 is greater than that of Detector 1.
Fill the start and end indices for bins such that
the bin_pwr array is in increasing order of
frequencies but the order of detectors same as
that sent by the HW.

Add API target_if_update_session_info_from_report_ctx(),
to populate the per-session information in the
consume report context. This includes population of
start and end bin indices on per-detector level,
start and end frequencies on per-detector level
and cfreq1/cfreq2 on per-report level,

Change-Id: I044c6961e5f710089b0192876e8717f9127b497f
CRs-Fixed: 2945315
2021-07-10 13:30:17 -07:00
Jhalak Naik
89adfb27cf qcacmn: Find adjusted timestamps in FFT report processing
Find the last_raw_timestamp and adjusted_timestamp
as part of the FFT report processing API.

Change-Id: Ibc7fd524ca897ead3b4b8ca25ba6e6487154305d
CRs-Fixed: 2945307
2021-07-10 13:30:12 -07:00
Jhalak Naik
7dfea024c8 qcacmn: Modify target_if_consume_spectral_report_gen3()
Refactor target_if_consume_spectral_report_gen3()
and divide the functionality into individual
functions.

This will be under OPTIMIZED_SAMP_MESSAGE flag, which
is unset by default for all profiles, till
development is complete.

Change-Id: I07e753dcaff6e81dfc8739df4e691d871c921581
CRs-Fixed: 2945171
2021-07-10 13:29:59 -07:00
Jhalak Naik
f3008debc9 qcacmn: Modify state machine for 160/80p80 MHz gen3 spectral
A state machine checks if spectral reports are
in order for gen3 spectral 160/80p80. Currently,
this state machine has four states.
Modify this state machine to have only two states and
change associated APIs accordingly.

Change-Id: I754758fdf0529394c63fe371f54db79d52459999
CRs-Fixed: 2945161
2021-07-10 13:29:54 -07:00
Jhalak Naik
1de0695e47 qcacmn: Modify target_if_process_sfft_report_gen3()
Modify the API to include Validation and
processing of Spectral search FFT report.

This will be under OPTIMIZED_SAMP_MESSAGE flag, which
is unset by default for all profiles, till
development is complete.

Change-Id: I250867e2c002f491f51a36416ea9ca5ae0bc5508
CRs-Fixed: 2945132
2021-07-10 13:29:45 -07:00
Jhalak Naik
40bce64102 qcacmn: Modify target_if_consume_sscan_summary_report_gen3()
Modify target_if_consume_sscan_summary_report_gen3() to
include validation and processing of Spectral summary
report.

This will be under OPTIMIZED_SAMP_MESSAGE flag, which
is unset by default for all profiles, till
development is complete.

Change-Id: Ice88b8e74ed714515f21b9b232aa0088fbb54d1d
CRs-Fixed: 2945124
2021-07-10 13:29:40 -07:00
Deeksha Gupta
34fcba4a4a qcacmn: Avoid excessive kmsg log in target_spectral
Sometimes firmware sends spectral events repeatedly with
wrong vdev. This causes continuous error logs are
written to kmsg.

Replace info prints in target_if_consume_spectral_report_gen3()
with debug level prints.

Change-Id: I2ca4be7d0d13e841a6dbd4efbc02ecd2b12893f8
CRs-Fixed: 2926759
2021-04-23 04:36:06 -07:00
Shiva Krishna Pittala
d710aaf1e4 qcacmn: Don't print the FFT report in Spectral report mode 0
target_if_dump_fft_report_gen3() function doesn't check if the FFT report
is present in the Spectral report. Add the report mode 0 check to avoid
printing FFT report when it is not there.

Change-Id: Ia825cd7927ec7ffa41473649d381c717b0ef26c9
CRs-Fixed: 2898904
2021-03-16 14:49:06 -07:00
Edayilliam Jayadev
4283a1ae62 qcacmn: Reset 160 MHz state machine on error
Reset the 160 MHz state machine on any error
while processing a Spectral report.

CRs-fixed: 2879610
Change-Id: I982d12edc5c9aa24b0255fbcb932d198a6da514b
2021-02-25 07:36:07 -08:00
Shiva Krishna Pittala
840f5fa192 qcacmn: Modification of fields in version 2 of Spectral reports
Following fields in the Spectral FFT report have been modified in the HW
in the version 2 of the Spectral report, reflect the same at the Host.
	- fft_radar_check
	- fft_peak_sidx
	- fft_chn_idx
	- fft_base_pwr_db
	- fft_total_gain_db

CRs-Fixed: 2855909
Change-Id: I8dd190cae8da260d1fb639342ca980285bfd3d0e
2021-01-22 01:33:11 -08:00
Shiva Krishna Pittala
8f049e633b qcacmn: Spectral changes to support big-endian Host platforms
WLAN chip components are little-endian based. When such a chip is attached
to a big-endian Host platform, there will be a mismatch in the order of
bytes for the data that is transferred between the Host and target.

Spectral HW module transfers the Spectral report directly to the Host DDR.
This transfer doesn't go through any byte-order conversion at the HW side.
So, to avoid invalid reads at the Host side on a big-endian platform,
convert the Spectral report to the Host byte-order before using it.

Change-Id: I742537f3a95ffca2e12b83535e83e2870ad06b10
CRs-Fixed: 2838371
2020-12-18 13:35:46 -08:00
Shiva Krishna Pittala
53b3234b8f qcacmn: Read only the useful 2 bytes of an FFT bin in pack-mode 0
FFT bin is 10-bit wide in Spectral pack-modes 0 and 1. However, HW packs
just one FFT bin in a 32-bit DWORD by adding extra padding bits in
pack-mode 0. Currently, the Host reads the entire 32-bit DWORD to figure
out the FFT bin value. Instead, read the only useful bytes i.e.,
least significant 2 bytes of a DWORD. This approach is efficient,
especially on a Host that implements a byte-swap mechanism on FFT bins on
a big-endian Host.
Also, while dumping FFT bins for debug purpose, print the first 2 bytes of
an FFT bin in pack-modes 0 and 1.

Change-Id: I20ca8c4905671e80251dca07f80ce17801b98f5c
CRs-Fixed: 2831530
2020-12-08 11:16:32 -08:00
Edayilliam Jayadev
f4001e93ea qcacmn: Remove host assert in Spectral Rx path
In Pine 160/165 MHz following are the expected sequence of events.
    1. Start scan WMI command
    2. FW param WMI event
    3. Direct DMA completion WMI events
If 3 and 2 happens in the reverse order (i.e., host receives a direct
DMA completion event before receiving a FW param WMI event), host assert
will be triggered.

This change removes the assert and drops the Spectral reports till
FW param WMI event is received.

CRs-Fixed: 2812403
Change-Id: I537d0077737baab8d3a8e90bdc4f9138690010bc
2020-11-06 22:50:52 -08:00
Edayilliam Jayadev
8afea1031d qcacmn: Stop finite Spectral scan internally in host
When user programs a non-zero scan count(say N), after receiving  N
samples Spectral scan is supposed to be stopped. This change keeps track
of number of Spectral reports received from target and stops the
Spectral scan when programmed number of samples arrives at host.

CRS-Fixed: 2764935
Change-Id: Ibea0eeece4577fd6e0da302716869b05c900f917
2020-09-03 05:58:03 -07:00
Debasis Das
ec3e25bf03 qcacmn: Fix array index out of bounds
The 2nd argument passed to the function is_primaryseg_expected
is used to index the array spectral->rparams.fragmentation_160 which
is of size 2.If the value of the argument is greater than or equal
to 2, the indexing will lead to array-out-of-bounds access.
The fix is adding the relevant validation check.

Change-Id: Iccf98b06c0546ad11ec67e93e14183214100107f
2020-09-02 08:48:31 -07:00
Wu Gao
b43c68dedf qcacmn: Gets vdev by id in spectral component
It starts spectral scan without vdev object, and uses the first vdev
as current vdev. which cause vdev mismatch in some platforms. So pass
vdev object or id when finding current vdev.

Change-Id: Iab55afbe2c98906021a008918f186d3d2dce5871
CRS-Fixed: 2716460
2020-07-24 02:01:08 -07:00
Edayilliam Jayadev
86c7e9c3b7 qcacmn: Always populate agile frequency in SAMP message
Populate the agile frequency in SAMP message irrespective of
the current Spectral mode.

CRs-Fixed: 2688422
Change-Id: I2a897449d37a69af2144c9f9710612d6d4a13e8c
2020-05-21 14:13:52 -07:00
Edayilliam Jayadev
abdb33bb00 qcacmn: Add start scan response WMI event
Add support for processing the start scan response
WMI event. FW provides the necessary information to
segregate FFT bins to pri80, 5 MHz and sec80 in
160/165 MHz. Also, cfreq2 and the channel width is
provided to FW via WMI command.

CRs-Fixed: 2672081
Change-Id: I666b6c18a63d5d01117aa9cbd611691c6f8b2793
2020-05-13 01:30:40 -07:00
Edayilliam Jayadev
6392e1b119 qcacmn: Add null pointer check
Add a null pointer check after allocating memory for storing the
FFT bins.

CRs-Fixed: 2673564
Change-Id: I1c55256a1bed921b2272e01a014808b4396bf193
2020-05-06 08:43:53 -07:00
Edayilliam Jayadev
1de47959b6 qcacmn: Enable Agile Spectral in single synth targets
Some targets have a single synthesizer and it allows
a single Spectral detector to scan in 160 MHz /165 MHz.
Enable Agile Spectral scanning in 160 MHz / 165 MHz for
such targets. Agile creq2 will be populated in the WMI
command after WMI interface changes are merged.

CRs-Fixed: 2648480
Change-Id: I8522cbeeab29ac41479e3041eea376b081c0758a
2020-04-30 01:51:14 -07:00
Rongjing Liao
2905808346 qcacmn: add argument '_len' sanity check before use
When argument '_len' is equal to 0 or less than 0, 'ascii'
array element will be used uninitialized. To fix this case,
add arguemnt sanity check before use.

Change-Id: I2e2a4c199fac72466f831bb4261a6a03ac116e11
CRs-Fixed: 2643354
2020-03-21 21:56:26 -07:00
Edayilliam Jayadev
01106d6458 qcacmn: Enable 165 MHz Spectral scan
QCN9000 has the capability to Spectral scan in 165 MHz/
restricted 80p80 mode of operation. Host filters the FFT bins
corresponding to the additional 5 MHz and exports to the
user space via SMAP message.

CRs-Fixed: 2630960
Change-Id: I54ec36968cb0c8d5a68ff39029004b08936cb91e
2020-03-21 02:03:45 -07:00
Edayilliam Jayadev
49de9e2d3c qcacmn: Handle 80p80 and 160 MHz separately
Currently 160 and 80+80 MHz modes are handled together in
Spectral module. Differentiate between 160 and 80+80 MHz
to support new features like restricted 80+80
which are applicable only with 80+80 MHz.

CRs-Fixed: 2630729
Change-Id: I3e9fdd0e2d22a0bca7d37445df7fb1f1bab023c8
2020-03-16 08:05:34 -07:00
Edayilliam Jayadev
4e5b760643 qcacmn: Enable 160 MHz Spectral scan in QCN9000
Till IPQ8074/IPQ8074_V2 each Spectral detector was capable of
doing scan up to 80 MHz. But in QCN9000 each Spectral detector
is capable of doing scan up to 160 MHz. As a result there will
be only one Spectral report in 160/80p80 MHz. Modify Spectral
Rx path to support single Spectral report in 160 MHz.

Change-Id: I9639cdc6adc6ad80e2769571b06d2a2021d699bc
CRs-Fixed: 2619544
2020-03-14 18:16:25 -07:00
Edayilliam Jayadev
ec5e46507e qcacmn: FFT size max based on band width
For QCN9000 max FFT size supported is 9 for 20 MHz and 10
for all other bandwidths. Add FFT bin size max based on
bandwidth to support this requirement.

Change-Id: If383dc914937d68c9f4781463a3a965c73bc78f1
CRs-Fixed: 2617674
2020-02-11 02:09:20 -08:00
Edayilliam Jayadev
d0113009aa qcacmn: Cleanup in Spectral time stamp WAR logic
Add a function to encapsulate Spectral time stamp WAR logic which corrects
the Spectral time stamp reported by target.

Change-Id: I490c9f2109f36831cd8de47b8165749e93d9b5cb
CRs-Fixed: 2600170
2020-02-01 09:08:25 -08:00
Edayilliam Jayadev
17ecd7493a qcacmn: Enable Spectral feature for Pine
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
2020-02-01 06:25:04 -08:00
Edayilliam Jayadev
94e232827d qcacmn: Cleanup Spectral bin length WAR and FFT report logging
Modularise the logic of FFT bin length adjustment SWARs and
Spectral FFT report logging logic.

Change-Id: Ia1382e3bdd78589c5192263d23e31bc74e2bfbbd
CRs-Fixed: 2599080
2020-01-21 02:00:02 -08:00
Shwetha G K
7887593414 qcacmn: Log Spectral FFT timestamp WAR parametrs
Log Spectral FFT timestamp WAR related parameters

Change-Id: I11e3107f41049e9fb05c3f9f7960279b88392598
CRs-Fixed: 2556803
2019-12-03 04:52:57 -08:00
Shwetha G K
389eae6224 qcacmn: Check discrepancies in Spectral timestamps
If the timestamp field in the current Spectral report is equal to the
timestamp field in the previous report, assert the FW.

Change-Id: Idb32807f0cdd59a2eaab5dd6c1e62567fd5a45d0
CRs-Fixed: 2478593
2019-12-03 03:26:32 -08:00
Shwetha G K
0c000df15e qcacmn: Add poisoning support for Spectral DDMA buffers
All gen III chipsets use DDMA method to copy the spectral reports to
the Host. It is possible that the buffers can be improper/incompletely
DMAed, which leads to wrong values being present in the Spectral report.
To detect improper DMA, the DBR framework has the support to poison the
buffers before handing them over to the target. This framework expects
the buffer owner modules to check for poison values in key fields.
So, validate the Spectral reports and assert the target upon failure.

Change-Id: I519bf8abd87cfc9758fe7d126a195f39656d8ecc
CRs-Fixed: 2478592
2019-12-02 00:43:04 -08:00
Krishna Rao
5304724e59 qcacmn: Add Agile Spectral frequency to Spectral SAMP message
Add Agile Spectral frequency to Spectral SAMP message and populate the
same. This coexists with the pre-existing operational frequency in
SAMP message for the sake of flexibility.

Change-Id: Iadb8efeaac924df5b0ac9a83f630206b2ef93052
CRs-Fixed: 2545763
2019-10-27 17:28:49 -07:00
Krishna Rao
54a3931f9f qcacmn: Add and populate Spectral pri80 indication
Spectral generation III hardware sets the Spectral primary 80 MHz
(pri80) indication in Spectral Summary reports to inform software
whether the Spectral sample was gathered on the primary 80 MHz
segment. But this may also be set in the case of Spectral scans
intended to be carried out on the Agile frequency or secondary 80 MHz,
due to a channel switch of the Spectral chain from Agile/secondary 80
MHz to primary 80 MHz. Software can ignore samples for which the pri80
indication is set for Agile mode or for secondary 80 MHz in normal
mode.

Add and populate fields for pri80 indication, one intended for primary
80 MHz/Agile and the other for secondary 80 MHz.

CRs-Fixed: 2524733
Change-Id: If592d664cebfe1e08026e55d4031c74d9a9db2e0
2019-09-28 23:41:01 -07:00
Krishna Rao
851c69d5bb qcacmn: Rename and use macros for operations on sscan summary
Rename some of the functions and structures related to Gen3 Spectral
summary report to clarify which type of Spectral report they operate
on. Use macros instead of hard coded values to specify size and
position of some fields while extracting them from Gen3 Spectral
summary report.

CRs-Fixed: 2518700
Change-Id: I9d646b60bc5314b408b39a7a118162af8d8fc7b2
2019-09-06 10:19:30 -07:00
Shiva Krishna Pittala
71bc664165 qcacmn: Add a callback to the FW assert function in Spectral module
As Spectral module is loaded before qca_ol module and the FW assert
function is compiled in qca_ol module, FW assert function will be an
unknown symbol when used inside Spectral module.
To fix this, register a callback to the FW assert function and
use that callback in Spectral module.

Change-Id: I6ca18b151e86b93de9988bc6026894617f2168a2
CRs-Fixed: 2507522
2019-08-14 14:30:26 -07:00
Edayilliam Jayadev
151c4bb3d6 qcacmn: Extend timestamp WAR for agile mode
Target will be sharing the time taken for reset in the
first Spectral report after reset. The reset delay value
is common for all the Spectral modes. Host updates
the timestamp WAR offset variable for all the Spectral modes.

CRs-Fixed: 2504798
Change-Id: If7d47a434054f220b0717f7d8939f9f8922af30f
2019-08-11 02:11:44 -07:00
Krishna Rao
5dd99baa21 qcacmn: Rectify Spectral hexdump output
The Spectral hexdump output would have individual hexadecimal values
on each line due to a transition to the QDF framework carried out in
the past. This is difficult to understand. Rectify the hexdump output
to have sixteen hexadecimal values (and their corresponding ASCII
representation) on each line. As of now, this hexdump functionality
continues to be maintained specific to Spectral in order to allow for
Spectral specific low level annotations to be added as and when
required.

CRs-Fixed: 2502690
Change-Id: I5618e64c37db5b14ede2d91b2f2af5d0a60178c6
2019-08-05 10:55:54 -07:00
Edayilliam Jayadev
8e74a62e72 qcacmn: Change Spectral control path to support Agile mode
Modify Spectral control path APIs to support Agile mode.

CRs-Fixed: 2450620
Change-Id: Id6cf48c1288b157932ab5ce0535293e466a87783
2019-07-27 00:31:31 -07:00
Edayilliam Jayadev
cd6f190963 qcacmn: Make RX path changes for Agile Spectral
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
2019-06-21 03:09:19 -07:00
Edayilliam Jayadev
8a0228a1f3 qcacmn: Make sig/tag mismatch Spectral logs rate limited
Rate limit sig/tag mismatch related Spectral logs
so that it doesn't effect the stability of the system.

CRs-Fixed: 2433581
Change-Id: I860089419836f1a6203abe0be5df62eab9dd546b
2019-04-27 14:38:45 -07:00