Enable CFR support for IPQ5018.
Calculate stream FS buffer length based on CFR payload,
CFR uCode header and CSI metadata.
Change-Id: Idd903ead75d635ce87ffc0df80e5c32fb62d15aa
CRs-Fixed: 2751408
Add freeze_tlv_version in cfir_enh_dma_hdr where,
version 1: Cypress/HastingsPrime which supports single user
channel capture
version 2: Maple/Spruce/Moselle which supports MU channel
capture for up to 4 users
version 3: Pine which supports MU channel capture for up to
37 users
CRs-Fixed: 2741027
Change-Id: Iadd6dc2ff82030f502776ce35988b4472450337e
Support a new capture_interval_mode: capture_count, where after
capture_count+1 number of frames, MAC stops channel capture and
waits for capture_interval duration before enabling again.
Add nob(capture_intervalmode_sel) to switch to capture_count or
capture_duration mode in wlanconfig application, where
capture_intervalmode_sel=0 indicates the old capture_durarion
mode where MAC stops channel capture after capture_duration
instead of capture_count. capture_intervalmode_sel=1 indicates
the capture_count mode.
Support MO marking: Current ENH CFR uses the existing MD/MO,
type/subtype filters to filterin the packets with programmed
type/subtype as either MD/MO. But for m_TARA it is also required
to consider the bw/nss/ta/ra setting. Therefore, it is possible
that not all the filtered-in PPDUs have channel capture and lead
to processing of packets which does not have captured data.
To overcome this issue, from QCN9000 onwards, MAC has MO marking
feature added for M_TARA filter mode, where MAC will consider
all TARA group configuration as filterin criteria & provides
an option to HOST to choose either filterin mode as FP or MO.
en_ta_ra_filter_in_as_fp is added to support MO marking.
Based on the discussion between HOST, FW & MAC teams, 0 is the
recommended & default setting for en_ta_ra_filter_in_as_fp.
Add nob to configure en_ta_ra_filter_in_as_fp but do not expose
to user.
Change-Id: I790d7ce500a7d779ea571635690f73dbc582cf33
For adrastea targets, enhanced CFR is not supported. When only
CONFIG_WLAN_CFR_ENABLE is set, some compilation errors are
observed as CONFIG_WLAN_ENH_CFR_ENABLE is not set true.
Fix these compilation errors when only CONFIG_WLAN_CFR_ENABLE
is set for targets which do not support enhanced CFR.
Change-Id: I96a769d8f10144033e48e123bb68d48a54cdf8ab
CRs-Fixed: 2706904
Decouple legacy FW headers for lithium builds since
its not required for the same
CRs-Fixed: 2719782
Change-Id: Ibdfdec51c5379fe42e23bf04a228ae6fb1a3eac9
Add the init and deinit CFR pdev api for adrastea target type.
cfr_adrastea_init_pdev api enables the CFR feature if both host and
firmware supports the feature, initialises the cfr pdev structure
and streamfs.
Also during allocation of memory requested by firmware, skip smaller
chunks memory allocation for CFR capture requested memory as firmware
expects contiguous memory.
Change-Id: Ib893dc8a845fea990a11e95e98d8a656f7df12ba
CRs-Fixed: 2687057
In some scenarios, where cfr data is being captured
for maximum supported bandwidth case, memory allocated
in case of streamfs for all 255 buffers is not enough.
Corrections are made for maximum capture length.
Maximum capture length for a single CFR capture should be
(max bandwidth case) 16240B (112 bytes(csi header)
+ 64 bytes(cfr header) + 16064 bytes(cfr payload))
Remove debug logs under spin lock
Change-Id: I7cdc25350f3d85ecb7d0d69431c3c66dbc9b2bed
CRs-Fixed: 2678750
FW requires to receive WMI_CFR_CAPTURE_FILTER_CMDID with the pdev id
which is based on the working band. It requires srng id when looking
up or releasing DMA address. So add this change to check working band
and set mac id. This is MCL only change.
Change-Id: I763a25b4989607128b2b4c75186eb5bdcd204077
CRs-Fixed: 2641268
Since there are chip differences about channel frequency response. Add
files for QCA6490. This change also adds CFR configure file
Change-Id: Ib200affe4c68dac5535c4a3d65109072559161ff
CRs-Fixed: 2637134