Commit Graph

24 Commitit

Tekijä SHA1 Viesti Päivämäärä
Shwetha G K
2846a3c308 qcacmn: Capture tx status error as well in CFR stats
Capture tx status errors & cookie lookup failure under CFR stats

Change-Id: I546b70424f5fe5fafde36da3cdf587cb7ab29856
2020-05-20 23:47:41 -07:00
Shwetha G K
1347c3ab9c qcacmn: Update Pine specific CFR changes
Update Pine specific CFR changes

Change-Id: Ibdd33e458cd058f6db94de5165df31d25d97eebb
2020-05-20 00:09:20 -07:00
Shwetha G K
3b989e01df qcacmn: Add CFR Pine support
Add CFR Pine support

Change-Id: Id81df0e3e36725e4fc15e92c1ac5a967cf4883f7
2020-05-20 00:09:16 -07:00
Vikram Kandukuri
b94338a8d7 qcacmn: Add null pointer check
Add null pointer check for wmi handle in CFR functions.

CRs-Fixed: 2673593
Change-Id: I0993f36749f856df8849913f0338a8dc2581fa95
2020-05-19 13:25:22 -07:00
Wu Gao
53808c0dc4 qcacmn: Allocate lut based on number of DBR entry
CFR component allocate 140 luts but some of platform use 48 of them,
which allocate huge memory at one time and waste memory in some
platform. In low memory case, it may be failed to alloc luts at one
time. So, allocate lut based on number of DBR entry and split memory
allocation.

Change-Id: Id49c3f9a0f81cfa6d639cb72b62bb377911f0e77
CRs-Fixed: 2679470
2020-05-19 04:38:07 -07:00
Neha Bisht
4bda764146 qcacmn: remove dependency of public files from wlan_objmgr_psoc_obj.h
Remove dependency of wlan_lmac_if_def headerfiles from
wlan_objmgr_psoc_obj.h

Change-Id: Ibe2f22c4b4f22b15eef201d1a42844ccf2931fef
2020-05-15 10:41:50 -07:00
Adwait Nayak
270771642b qcacmn: CFR: Rectify the maximum capture length
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
2020-05-07 13:03:50 -07:00
Wu Gao
787adae107 qcacmn: Avoid to memory access out of bounds
It uses point to 16 bits variable as 32 bits pointer when setting ta
ra configurations to default. This causes memory access out of
bounds.

Change-Id: Ifa7adb0249cb23fdf71e53f04b92b62c1b215632
CRs-Fixed: 2677422
2020-05-07 06:35:24 -07:00
Padma Raghunathan
0668b9fc45 qcacmn: Skip CFR target init when feature is disabled
When user disables CFR through INI -
1. Skip CFR SRNG allocations
2. Skip WMI handler registrations for DBR/TX completion events

Change-Id: I4f397e35717dc492aea5af74b167c1111cbc16a9
CRs-Fixed: 2671611
2020-05-03 18:19:01 -07:00
Wu Gao
0a5167bb21 qcacmn: Convert the number of rx chains from target to host
The number of rx chains in target is different to the value in host
side, this change converts the value from target to host.

Change-Id: I86044bf12e958da312924827a3fd1e6799beaf41
CRs-Fixed: 2668403
2020-04-22 21:53:16 -07:00
Wu Gao
b4cc9a28bb qcacmn: Set mac id based on the working band
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
2020-04-13 21:15:40 -07:00
Wu Gao
e3ac7503d1 qcacmn: Enable CFR for QCA6490 in target interface
This change adds interface to interface to subscibe wdi ppdu desc
event, adds pdev init/deinit in target interface.

Change-Id: Id6b3dbd500f2f99ab62beeb99b58eb2c22d68857
CRs-Fixed: 2637137
2020-04-13 21:15:24 -07:00
Wu Gao
f8596da937 qcacmn: Use number of chainmask and bandwidth from DMA
CFR uses the number of chainmask and bandwidth from DMA and updates to
userspace.

Change-Id: I8f54cdbfdf77d39f9862848d3cacb61eb4924a05
CRs-Fixed: 2644015
2020-04-13 21:15:09 -07:00
Wu Gao
1391861d2d qcacmn: Remove mac2str in CFR
Use QDF_MAC_ADDR_STR and QDF_MAC_ADDR_ARRAY to replace mac2str.

Change-Id: Ic6382a03a2c4f390e6eaad038aa5a634a9e69153
CRs-Fixed: 2653061
2020-04-13 16:54:26 -07:00
Wu Gao
192c8433f7 qcacmn: Add chip type for QCA6490
Add chip type for QCA6490, and CFR component will indicate chip type
to user space.

Change-Id: Ia3e95e06c8cc86bc30b81906f62f3821606a38f7
CRs-Fixed: 2659553
2020-04-10 16:37:37 -07:00
Adwait Nayak
ecb7d134c7 qcacmn: CFR: Keep the default subtype as 0 for default RCC config
1. MAC does not really consider the expect TA and the
expect RA when the expect TA mask and expect RA mask is 0.
Basically, it checks for the subtype, bandwidth and NSS
as the filter criteria.

2. In the other scenario, if the RA matches with expect
RA and TA matches with expect TA then it does not really
consider the expect TA MASK and expect RA MASK.
With the current default config, since the expect address
mask is 00:00:00:00:00:00 it falls under case 1 and it is
written based on the MAC recipe.

But actual MAC logic is different from what is mentioned
in the recipe. MAC works on below logic:
TA & TA MASK = Expect TA & expect TA mask
RA & RA MASK = Expect RA & expect RA mask

As an additional precaution, we need to modify default
subtype as 0 so that if user enables any group by mistake
and does not give any input for the other RCC
configurations, we can block the RCC to capture CFR data.

Change-Id: I759e8812e4ef0e77f773d0d445134e62d9e8a753
CRs-Fixed: 2649714
2020-04-09 07:32:55 -07:00
Padma Raghunathan
07ed407a56 qcacmn: CFR: Add protection while accessing cfr lookup table
Protect access to cfr lookup table, since error handling
mechanism attempts to cleanup CFR entries in timer context,
this leads to contention between bottom-half and timer.

Change-Id: I32a095fc82545ab117ab43a81ef8a3a5602741fc
CRs-Fixed: 2649714
2020-04-09 07:32:17 -07:00
Padma Raghunathan
407870de43 qcacmn: CFR: Report correct values for RSSI and cfr_timer_enable
1. Clear cfr_timer_enable flag during wifi down
2. Similar to one-shot capture, report RSSI in metadata for RCC.
   Convert SNR in rxtlv to RSSI.

Change-Id: I1802ea25b306faf06be52da60edb5050ff1bea9c
CRs-Fixed: 2649714
2020-04-09 07:32:02 -07:00
Adwait Nayak
68a2b0747e qcacmn: CFR: Retrieve TA from Freeze TLV
TA retrieved from freeze TLV was being over-written by macaddr
from AST search during RXTLV processing.

MACADDR from AST search is essential only for MU PPDUs.

Change-Id: I1a7c46dd11b6cae6049ae70046af849228ba3b47
CRs-Fixed: 2649714
2020-04-09 07:31:48 -07:00
Balaganapathy Palanisamy
9529e558f7 qcacmn: Skip freeze data processing if it is not valid
Skip the freeze data and capture type related processing
if freeze data is invalid.

CRs-Fixed: 2637644
Change-Id: I97da3b9dc0d655e47dec534d04e0897af57e33d8
2020-04-06 09:44:24 -07:00
Padma Raghunathan
e7d986e168 qcacmn: Avoid to use WIN only APIs
Avoid to use WIN only APIs. This is part of moving CFR to hostcmn.

Change-Id: Ib6be520657b5e6d42eaed4d9c3a3940c691e9d84
CRs-Fixed: 2637130
2020-03-31 00:43:55 -07:00
Wu Gao
ce9aa9088e qcacmn: Fix compilation issues
This is part of moving CFR component to hostcmn. Fix compilation
issues in this change.

Change-Id: Ia0a40da1e7e9201ffc5d1700cccea4181b358842
CRs-Fixed: 2637129
2020-03-30 22:56:08 -07:00
Wu Gao
a308b3e970 qcacmn: Add CFR files for QCA6490
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
2020-03-30 13:39:43 -07:00
Padma Raghunathan
9946d36d19 qcacmn: Add CFR feature support
Add CFR feature support for WIN and MCL.

Change-Id: I135409c00df953ad7ae4e570418403b11ebc1bc7
CRs-Fixed: 2639069
2020-03-13 06:47:56 -07:00