For QCN6432, below factors are taken into account to
calculate the maximum CFR buffer length:
max number of MU users supported = 8
uCode header = (14 + (max number of MU users supported *2) )*4
= 120 Bytes
Max CVMEM Banks available = 4
Each bank is capable of storing 8KB
Total CVMEM bank size = 4 * 8 = 32KB
Max allowed mode is 320M
Max number of actual tones supported = 1001
Max CFR data len = 1001 * Max NSS * Max Chains * Size of tone
= 1001 * 4 * 2 * 4
= 32032 Bytes
Max CFR buffer length = Max CFR data len + ucode header
= 32032 + 120
= 32152 Bytes
CRs-Fixed: 3623934
Change-Id: If859c3a861a5b5698b69ee6afe4d3b8d0b048812
FW sets 0xFFFF as invalid phase delta in invalid cases.
Retain same in HOST as well. In case of valid phase, add the
ibf cal value to the delta & ensure the derived phase value
is in the range of 0 - 1024 indicating 0 - 360 degrees
CRs-Fixed: 3597123
Change-Id: Ie259eb6c34393688c987a18859aa5036aa28b9da
For QCN9160 target, uCode reports the dBm converted values
in status tlv. Hence, remove conversion at HOST.
Populate proper chip type for QCN9160's RCC.
CRs-Fixed: 3509733
Change-Id: I8422f661161337cdce5ef8001fb502aebdbe0dc2
11be target support 65 gain values from 0 to 64.
Add changes to support the same.
Change-Id: I4239683ca7e49b2cc8c5de7b0a719e27a74b8494
CRs-Fixed: 3513135
Add device Id and target type checks for qcn6432 target
compilation
Add CFR and spectral support for QCN6432
Change-Id: Ic908fa768aa1be7cfc40be7fcc7f9ca6aa85aaa6
CRs-Fixed: 3351747
Update meta data version of Waikiki as it supports AOA
phase delta extraction now.
CRs-Fixed: 3462217
Change-Id: I909802417125ecafaf4d14466c349f0ed9b45fd2
QCN9160 CFR is supposed to in parity with QCN9000, hence
set the proper metadata version.
Change-Id: I34f06dd856d2c2ccf3b956592fa0f1035e608d46
CRs-Fixed: 3454540
The kernel-doc script identified documentation issues in the
target_if/cfr folder, so fix them.
Change-Id: I5af96dbc3b6adcd369134422dd2f9e5a6be799e9
CRs-Fixed: 3417466
Host and FW have agreement about using fixed pdev id for CFR on HMT,
which required changes on both sides. In case only picked host
change with old FW, which will case device broken during booting up,
add this change to set pdev id base on FW capability for CFR request.
Change-Id: Iac82074228d42c6f51ea2024defdb0272e5cb396
CRs-Fixed: 3409616
Host and FW have agreement about using fixed pdev id for CFR on HMT.
Since it's different to legacy chip for concurrency case or get pdev
id base band.
Change-Id: I2b16876244cf8988e8855752844917fbf0154f54
CRs-Fixed: 3312489
Currently if ENABLE_HOST_TO_TARGET_CONVERSION is defined,
host pdev/vdev set params can be translated to
target pdev/vdev set params through APIs
convert_host_pdev_param_tlv,convert_host_vdev_param_tlv.
If ENABLE_HOST_TO_TARGET_CONVERSION is not defined,
host pdev/vdev set params in
common code is sent to firmware directly, which is incorrect.
Define pdev/vdev set params in such away they represents
host params on ENABLE_HOST_TO_TARGET_CONVERSION enabled and
target params on ENABLE_HOST_TO_TARGET_CONVERSION disabled.
Change-Id: I5718c76c351b2d7904d8bf8b603073ffcb0a039d
CRs-Fixed: 3321556
This change is to populate the phase delta for the valid
chains as per rx_chainmask for scan radio in special
vap mode.
Change-Id: I3ff9a928d93b0e81221b2bf9a515c63150f04272
CRs-Fixed: 3316528
This is used in streamfs buffer size.
This is done in consideration with using upto
504 tones in place of 512 tones for CFR.
Change-Id: I7e45697e47f4b818b472b1bd8e91d785e676c506
CRs-Fixed: 3260185
Since more than one components depend on reap timer of
monitor status ring, add bitmap to record the trigger
sources of the timer and refine the APIs/calling functions
accordingly.
With this change:
When a new start request comes, if the source is
CDP_MON_REAP_SOURCE_ANY, skip bit set, and start timer
if any bit has been set in the bitmap; while for the
other sources, set the bit and start timer if the bitmap
is empty before that.
When a new stop request comes, if the source is
CDP_MON_REAP_SOURCE_ANY, skip bit clear, and stop timer
if any bit has been set in the bitmap; while for the
other sources, clear the bit and stop timer if the bitmap
is empty after that.
Change-Id: Idaa7837c4b93b247ff2236aa5072d309fa9548c2
CRs-Fixed: 3190347
Update cfr metadata version for Alder as agc gain table index
is reported newly on this target
Change-Id: Ie9b4933068163d461676a9005ba8c706730717e8
CRs-Fixed: 3170137
Update cfr metadata version for Pine and HKv2 as agc gain
table index is reported newly on these targets.
CRs-Fixed: 3158325
Change-Id: I17fe5a78ec44e1528e6187535a803c729734dd18
Include a UTC timestamp when constructing the CFR header,
represented as a 64-bit nanoseconds value. This will allow
for better correlation with ground truth data.
CRs-Fixed: 3156846
Change-Id: Ic5308bcd591d641e715ded8e4b75d447160dbbce
HAL changes to populate agc gain, CFO, rx_start_ts, mcs_rate and
gi_type to CFR info for QCA6750.
Change-Id: I164324b1e929399a8dacf88f3012970c65d5d653
CRs-Fixed: 3115256
HAL changes to populate agc gain, CFO, rx_start_ts, mcs_rate and
gi_type to CFR info for QCA6490.
Change-Id: I6f6f47c87d40bd661162f764fb3a360230a56457
CRs-Fixed: 3086667
There is wrong chip type in cfr meta data header if run CFR/CSI with
HSP since doesn't fill it for QCA6490 & QCA6750.
Change-Id: I932c065d33c5eaa33f66ec8a92470f5820472d7b
CRs-Fixed: 3073865
Since target already converts RSSI from SNR to dBm for QCA6490 and
WCN7850, so don't convert them again in host side.
Change-Id: Ie35f3821a802f2e65b61f4891f2ca9c632fa1477
CRs-Fixed: 3024119
Split the extract phase tlv functionality into two
seprate APIs for code readability. Also add sanity check
for max_aoa_chains.
Change-Id: I2d73ee99cff37872191f8a9258a561d7dbd01808
CRs-Fixed: 2997020
Changes to derive chain phase values out of Hardware
reported agc gain and target reported AoA phase calibration
values. AoA for RCC to be supported based on target shared
capability. AoA phase delta & ibf cal values are shared by
target upon every channel change via WMI event.
Change-Id: Ic4fca3731b795e07a511388f6dbb15a46d676a77
Add mcs rate, gI type and other SU sig info to cfr metadata.
For Tx based capture mcs rate & gI type is applicable
MCS For legacy mode
0: 48 Mbps
1: 24 Mbps
2: 12 Mbps
3: 6 Mbps
4: 54 Mbps
5: 36 Mbps
6: 18 Mbps
7: 9 Mbps
8: invalid entry
MCS for HT, 0-7: MCS0-MCS7,
MCS for VHT, 0-9: MCS0-MCS9,
MCS for HE, 0-11 MCS0-MCS11, 12-13: 4096QAM
GI:
0: 0.8 us
1: 0.4 us
2: 1.6 us
3: 3.2 us
ltf_size:
0: he_ltf_1_x
1: he_ltf_2_x
2: he_ltf_4_x
dcm: Indicates if DCM set
0: No DCM
1: DCM
sgi: Indicates if short gI used
0: No short gI
1: short gI
beamformed: Is packet beamformed
0: non-beamformed
1: beamformed
stbc: Indicates if stbc applied
0: No STBC
1: STBC
Coding:
0: BCC
1: LDPC
Change-Id: If6ab4b4878ab24406aba0e890ec08a2dae2b4634
Fix the compilation error post movement of CFR files to
cmndev and rename cfr init deinit APIs to be chip
independent. Also port fixes from component_dev.
CRs-Fixed: 2938886
Change-Id: I2f5637f5717ce5154e3b642c3ade646794e99602
Move CFR to common project and rename the files as it will
be shared with other targets as well. Fix checkpatch errors
too.
Change-Id: I66481848036212aedab74c9c18848070ac1a3511
Driver gets vdev by wlan_objmgr_pdev_get_first_vdev and returns wrong
vdev in some platforms, and then gets wrong channel/phy_mode. This
change gets vdev by id and fix this issue.
Change-Id: I814d516361238afbd0345bc362c286d1cb55a7d4
CRs-Fixed: 2933525
Separate the common fields of csi_cfr_header and update
the logic of calculating the cfr_metadata_len.
Move cmn header update code to single place.
CRs-Fixed: 2916901
Change-Id: I97d99df45f667f4ed3b80264b12d3d09a3bcae95