Commit Graph

15941 Commits

Author SHA1 Message Date
Surya Prakash Sivaraj
c4e6b83afe qcacmn: Update preauth candidate entry to scan table
During SAE roam auth offload, update the beacon/probe response
frame coming from the FW via WMI_ROAM_FRAME_EVENTID into the
scan db.

When the bss info of the preauth candidate is unavailable in
the host/kernel scan entry, supplicant fails to determine the
proper SAE PWE config of the peer and the commit request fails.

Change-Id: I8537147104f30b74ffb2e87946f2e5f4b129f0df
CRs-Fixed: 3075460
2021-12-02 12:15:07 -08:00
Himanshu Batra
b9f1cd3492 qcacmn: Update mlo connected_links_bmap for self vdev
As part of mlo connect notification, connected_link_bmap is gatting
updated for partner links, but for assoc link also this needs to be set
Add fix to update mlo connected_links_bmap for self vdev

Change-Id: I4d64d97e67484dac2e96a3d22b5648ec2bc320d4
2021-12-02 07:15:21 -08:00
Chaithanya Garrepalli
97a1c8bff1 qcacmn: Changes to caluclate soc max peer id
Changes to caluclate max peer id in case
of MLO

Change-Id: Ib52cfb4f92eafb88689774e8e6c406751d30372a
2021-12-02 06:06:47 -08:00
Karthik Kantamneni
b2d135c7fd qcacmn: Fix WMI DIAG event drop over CE7
When WMI diag events are received over CE7,
wmi handle is mapped to null and all the diag
events are freed without processing.

Fix this by properly mapping wmi handle when
diag events received over CE7.

Change-Id: I3dc4f7ce37981a31cb6f01fc66edf6248682bea3
CRs-Fixed: 3082960
2021-12-02 03:41:41 -08:00
Jyoti Kumari
9f3995df8f qcacmn: Add support for lower span active and passive dwell time
Add LOW_SPAN_ACTIVE_DWELL_TIME and LOW_SPAN_PASSIVE_DWELL_TIME
macro support to keep all 2.4g/5g active/passive dwell time
same for low span scan mode.
Disable adaptive dwell to firmware so that firmware cannot
modify dwell time.

Change-Id: Iff05dd7b37a40226c61b28a1e59ea8aa8c57cb52
CRs-Fixed: 3076163
2021-12-02 02:25:11 -08:00
Kai Chen
ddc9f472ac qcacmn: Enable MU sniffer mode
Enable MU sniffer mode. MU sniffer mode support match and wildcard
mode.

Change-Id: I919b99ccabfba8f2e3b877831f473f8cf674b59d
2021-12-02 00:06:46 -08:00
sheenam monga
2fd2127a4e qcacmn: Update Regulatory Database to 38th version
Add below changes as part of 38th Reg DB version
    a.) Add superdomain FCC2_6G_010, APL4_6G_11 and APL5_6G_12.
    b.) Add sub 6G domain APL25, APL26 and APL27 reg rules for new domain.
    c.) Add APL25, APL26 and APL27 RD for 5G.
    c.) Add 6G support for BELGIUM, BRAZIL, CANADA and COSTA_RICA.
    d.) Change reg domain pair id for AUSTRALIA, CHILE,
	MOROCCO, HONG_KONG & MEXICO.
    e.) Add CHNA 2g reg domain.

Change-Id: I80be14ccc2845261a0816e9e7d7931b40e5d0927
CRs-Fixed: 3083299
2021-12-01 22:45:20 -08:00
Yu Tian
57efb6a13b qcacmn: Refine WMI TLV variable name to comply with FW API
FW API is got updated, change is used to comply with API
macro definitions.

Change-Id: I4feb27dbc00f3afb70f2de894adf7995401ee9c4
CRs-Fixed: 3081309
2021-12-01 20:10:13 -08:00
Chaithanya Garrepalli
b801ec4b65 qcacmn: Fix for compilation error on MCC WHUNT
Fix for compilation error on MCC WHUNT with MLO
enabled

Change-Id: I684c8197753adbcf0f9ef519bd8e37596a48dd01
2021-12-01 04:23:24 -08:00
Edayilliam Jayadev
aaf4382daf qcacmn: Increase the Spectral payload size
Increase the Spectral payload size to account for
FFT size 11.

CRs-Fixed: 3073239
Change-Id: I5c6db642267a96cbc535bf6842c8f9ac90b1a335
2021-12-01 04:23:19 -08:00
Jinwei Chen
480aac399f qcacmn: revert FISA LRU deletion change
Revert FISA LRU deletion change.

Change-Id: Ie24df0df8f3833c0a982036b71479f1eb8f485f8
CRs-Fixed: 3083882
2021-12-01 04:23:14 -08:00
Himanshu Batra
f9b5d6b536 qcacmn: Get ML Info from connect req
Get ML Info from connect req

Change-Id: I90c200aff32d88dd934aaa11893f58a37448ffb9
2021-12-01 01:40:27 -08:00
Lincoln Tran
da5f535c52 qcacmn: Free memory on connect failure
Currently, the check to free the original connect req when connection
fails is specific to MLO connection. Update the check to free on a
failed legacy connection as well.

Change-Id: I168d0555fecabf31c4702e382f2bd4bd63a15839
CRs-fixed: 3081248
2021-11-30 11:04:46 -08:00
Yeshwanth Sriram Guntuka
eb82e858a6 qcacmn: Avoid possible NULL pointer dereference of msdu_ext_desc
tso_desc is assigned to msdu_ext_desc in dp_tx_prepare_desc
for TSO packet even before msdu_ext_desc is configured which
could result in NULL pointer dereference.

Fix is to set the tso_desc and tso_num_desc in msdu_ext_desc
post dp_tx_prepare_ext_desc.

Change-Id: I62279c94ea7037b3f6a92644ae7eb6a5e63631f6
CRs-Fixed: 3083846
2021-11-30 07:14:48 -08:00
Jeevan Kukkalli
5afdccab42 qcacmn: Fix ast table memory leak
Free ast table memory during detach

Change-Id: I4a8c9987727c6b47d39d2486f079d3a8da744e90
CRs-Fixed: 3082609
2021-11-30 04:40:29 -08:00
Disha Das
4b0a899533 qcacmn: FIPS waikiki WMI TLV
Align FIPS waikiki data TLV.

Change-Id: I6343cbd821809a88d07819933ba1f8019f50e08f
2021-11-30 02:27:52 -08:00
Harsh Kumar Bijlani
356b9766fd qcacmn: Host<->FW HTT interface for HW vdev stats in BE
Define the interface for Host and FW communication required for
configuration of HW vdev stats in BE architecture and add handler
for vdev stats received from FW.

Change-Id: I5f6a703596bd1fbb5e27e6261befda25aa0c3e12
CRs-Fixed: 3067843
2021-11-30 00:58:11 -08:00
Harsh Kumar Bijlani
af17c944fb qcacmn: Rx stats changes for BE HW vdev stats
Following peer stats are updated in per packet Rx path:
    to_stack
    multicast
    broadcast

In BE architecture, HW provides the support for basic vdev stats and
hence per packet stats updation of above parameters can be done only
when enhanced stats is enabled or HW vdev offload stats is disabled.

Avoiding per packet stats updation reduces CPU load and improves KPI.

Change-Id: Id7c11c025a8464951b615a7f7b006ce61db487fc
CRs-Fixed: 3067843
2021-11-30 00:58:04 -08:00
Harsh Kumar Bijlani
66e66d88d7 qcacmn: Tx stats changes for BE HW vdev stats
Following peer stats are updated in per packet Tx completion path:
    comp_pkt: Pkt Info for which completions were received
    tx_failed: Total Tx failure

In BE architecture, HW provides the support for basic vdev stats and
hence per packet stats updation of above parameters can be done only
when enhanced stats is enabled or HW vdev offload stats is disabled.

Avoiding per packet stats updation reduces CPU load and improves KPI.

Change-Id: I7090d1a1ce0a882236e3310e3e9517149cbb146b
CRs-Fixed: 3067843
2021-11-30 00:57:59 -08:00
Harsh Kumar Bijlani
d7aada5bea qcacmn: Convey vdev_stats_id to FW in wmi_vdev_create_cmd
In BE architecture, HW provides basic vdev stats support for upto
48 vdevs. For each vdev, there is vdev_stats_id which represents the
id of this vdev on HW. This vdev_stats_id is assigned by host and
is conveyed to FW at the time of vdev creation in wmi_vdev_create_cmd.
FW uses this vdev_stats_id to fetch the stats from HW.

Add logic to convey vdev_stats_id to FW at the time of vdev create.

Change-Id: I91782c73a7f3f94175a0c28ab4adda2d894856db
CRs-Fixed: 3069992
2021-11-30 00:57:54 -08:00
Harsh Kumar Bijlani
6c7fcf1d61 qcacmn: Add logic for allocation and reset of vdev_stats_id
In BE architecture, HW provides basic vdev stats support for upto
48 vdevs. For each vdev, there is vdev_stats_id which represents the
id of this vdev on HW. This vdev_stats_id is assigned by host and
is conveyed to HW at the time of REO TID Queue setup for the peer.

Add logic for allocation and deallocation of vdev_stats_id and
convey this id to HW.

Change-Id: If5611bf54d057ccf71c6444b5c79a26eb28df87e
CRs-Fixed: 3067843
2021-11-30 00:57:49 -08:00
Harsh Kumar Bijlani
f76548dd04 qcacmn: SOC config for HW vdev stats in BE architecture
Add configuration at SOC level for hw vdev stats in BE architecture.

Following config parameters are added:
    vdev_stats_hw_offload: option to enable/disable hw vdev stats
    hw_vdev_stats_timer: timer duration for hw vdev stats

Change-Id: I8cbd2b6a7378d8a9e7de920a3a6fdff0cf7785fe
CRs-Fixed: 3067843
2021-11-30 00:57:43 -08:00
Jeevan Kukkalli
6057057ee1 qcacmn: Register monitor feature ops after mon object initialization
Register monitor dependent feature ops after monitor
object initialization to avoid race condition

Change-Id: Ia7973cdc2660c65f8afb708d251b7a1ec09c573c
CRs-Fixed: 3074789
2021-11-29 20:14:50 -08:00
Sai Rupesh Chevuru
45be95484a qcacmn: Updating the bank config in RAW mode
In the case of RAW mode, VAP parameters encap type, dscp_to_tid map id
and cipher are not updating in bank register.
Added a API to update vdev param.

Change-Id: I702bee563e7451f403fa32292bf20680cd66e213
CRs-Fixed: 3078687
2021-11-29 16:41:02 -08:00
Karthik Kantamneni
fcebc684e9 qcacmn: Fix disconnection issue due to N/W queues pause
Due to DP flow control network queues are stuck in
paused state and not getting reset even after new connection.
This is causing DHCP packets to be dropped and resulting
immediate disconnection after every connection.

Fix this by properly pausing and unpausing the AC flow control
based network subqueues during disconnection/connection events.

Change-Id: I280e704d5a01b19d180c32aaa272c0cb731f8c0e
CRs-Fixed: 3078745
2021-11-29 07:34:15 -08:00
Chaithanya Garrepalli
1cee4a643a qcacmn: Skip MLO setup if there are no ML capable SOCs
In MLO link setup and MLO soc setup return if num_tot_links
are zero

Change-Id: I2767c519cc19e47523c39f7ea32d0df4e053e4ea
2021-11-29 07:34:10 -08:00
Krishna Rao
39c0eb2153 qcacmn: Add API to get partner link info from Basic Variant ML element
Add API to get partner link information in the per-STA profiles
present in a Basic variant Multi-Link element. The partner link
information is returned only for those per-STA profiles which have a
MAC address in the STA Info field. Also note that the current
implementation does not have Multi-Link element fragmentation support
- this will be added in an upcoming change after shared helper
utilities for the same are available. Similarly, the current
implementation does not have support for per-STA profile fragmentation
- this may be added once it is introduced in the IEEE802.11be
standard.

Change-Id: Ied7092ba1366d39fa15adffc3737d4ad5c0adf59
CRs-Fixed: 3040491
2021-11-29 07:34:05 -08:00
Vivek
b33bf95ae5 qcacmn: Add mlo mcast vdev flag for vdev start
For MLO, we need to designate one of the link vdev
as mlo vdev, on which FW will accept the multicast
frames and for the other link will drop the mcast frames.

So as part of vdev start, we indicate the mlo mcast
vdev in the first vdev of the mlo.

Change-Id: Ic962a6e1fead4a3cab7c622583392ecf373f4783
CRs-Fixed: 3080525
2021-11-29 02:06:30 -08:00
Yeshwanth Sriram Guntuka
c8cd2eb200 qcacmn: Add support to affine individual grp irqs for ipci
Add support to affine individual grp irqs to either
perf or non-perf cluster for ipci.

Change-Id: Ifae0f2a5a77068587d99513a1902f850860f2329
CRs-Fixed: 3075398
2021-11-29 02:06:25 -08:00
Sai Rupesh Chevuru
0860396f1e qcacmn: ME6 changes with DMS enable
In ME6 we are currently using a workaround to send the native wifi packet
through the exception path, as the older HKv1 hardware didn’t support
single packet AMSDU. Since, the hardware is supporting this starting
from HKv2, we are sending ME packets as normal packets to FW with
DMS indication in Peer based meta for Beryllium.

Change-Id: Ic154b438df2c811c845e7c2eaadf252985d419ad
2021-11-29 02:06:19 -08:00
Adwait Nayak
c3f8294cc4 qcacmn: FR65980: Process log contents to pktlog buffers
This change will enable packet logging for the fragments
from RX monitor status ring and send it to the pktlog module
for post processing through WDI event.

Change-Id: I283a20e7d0fa1f9b88223a989beda529beff6718
CRs-Fixed: 3074184
2021-11-26 10:13:26 -08:00
Adwait Nayak
de2c451d24 qcacmn: FR65980: Monitor filter setting for pktlog modes
Add monitor filter settings for various pktlog modes
for QCN9224

Change-Id: I8b236603277ba873f4f2cd9d4a96fb0e8f213996
CRs-Fixed: 3074184
2021-11-26 10:13:21 -08:00
Adwait Nayak
c96961a186 qcacmn: FR65980: Add MLO timestamp support for pktlog
Whenever firmware receives the sync interrupt, it would
update the MLO offset to the scratch registers. Additionally,
firmware also sends a HTT message.

The values from the HTT message are copied into two structures:
1. into the dp_pdev structure, for monitor mode usage
2. into the scn structure for updating the pktlog header
    A new WDI event is introduced for MLO timestamp sync into
    pktlog header. Host sends the WDI event once it receives
    htt msg and the data gets parsed in the pktlog handler and
    eventually pktlog header gets updated with those values.

Whenever pktlog memory is being filled, the latest value from scn
structure is filled into the pktlog header. Upon receiving a new
HTT message, the value in the scn structure is updated and
subsequently into the pktlog records as well. All the 8 bytes
from the HTT message are required to calculate the MLO timestamp
offset. The calculation of MLO timestamp offset is to be taken
care by the PKTLOG parsing script.

Change-Id: If1d40b4a889e58b358f0feae692958bca2b8e1de
CRs-Fixed: 3074184
2021-11-26 10:13:16 -08:00
Adwait Nayak
3664b4c5c2 qcacmn: FR65980: Add HYBRID TX support for pktlog
- A new pktlog mode called "hybrid", is added for QCN9224 only.
- Create WDI event for hybrid mode
- Add dummy APIs for monitor filter setting
- Send WMI_PKTLOG_EVENT_HYBRID_TX to FW for umac TLV subscription

Change-Id: I47f4e14bfc766f29a0ab4a8c07ab19e0d919e66b
CRs-Fixed: 3074184
2021-11-26 10:13:12 -08:00
Neha Bisht
9a2423839d qcacmn: Move tso fields in extended desc structure
Move tso fields in msdu_ext_desc structure from dp_tx_desc_s structure

Change-Id: I0cbd366ece753fc4266e08538f30b255ccdc0bd1
2021-11-26 06:35:23 -08:00
Amir Patel
918c6cfdeb qcacmn: Register monitor interrupt ops after monitor object creation
Register monitor interrupt ops after monitor object creation

Change-Id: I27e74f00102ee46572d89732c349058a4c540c1c
2021-11-26 04:54:06 -08:00
aloksing
c520e961d5 qcacmn: Define values as per 11BE
Define MAX MCS to as per 11be
Define packet type as per 11be
Add new RU values
Add new BW gains

CRs-Fixed: 3068482
Change-Id: I18b2460011e2869608fe24743e4373e3e8f3fc1a
2021-11-26 02:06:33 -08:00
Arun Kumar Khandavalli
9a8ec0435d qcacmn: print more debug information in tlv parsing failure
Currenly whenever there is a wrong tag in the event given tag
and expected tag is printed without pointing to the which tlv
in the event has caused the issue.

Add more information to point which tlv in the event is wrongly
populated which will help in debug.

Change-Id: I606781548290949d1954b45767fa47afc4e22481
CRs-Fixed: 3071031
2021-11-26 02:06:27 -08:00
Bing Sun
87161baa8e qcacmn: Fix build error caused by ucfg_dcs_get_ch_util
The parameters of ucfg_dcs_get_ch_util should be the same whether
DCS_INTERFERENCE_DETECTION is defined or not.

Change-Id: I6281a7a236314bd6d02c05186e2efc52c946b426
CRs-Fixed: 3082164
2021-11-25 21:05:12 -08:00
Chaithanya Garrepalli
65ace7a19d qcacmn: fix use after free of hal_soc pointer
In case of WIN hal_soc will be freed in wifi down
path, this pointer is not valid at pdev_detach or
soc_detach.

Change to populate dmac source ring flag to dp_soc
as access is needed at pdev_detach or soc_detach

Change-Id: I628746bdd05ba3791d3d0e6b6dfdf160ed368e9a
2021-11-25 21:05:08 -08:00
Mohit Khanna
733215d31f qcacmn: Change device_wake, high_tput check order
In hal_delayed_reg_write change the order of
hal_is_reg_write_tput_level_high and pld_is_device_awake check. This
ensures that throughput level is checked before checking for device
wake state. This is beneficial in saving CPU cycles in high throughput
scenarios.

Change-Id: I23d0bde46779df9dca4388bf67c9395999274f3a
CRs-Fixed: 3078096
2021-11-25 14:17:28 -08:00
Devender Kumar
aa2efbcf39 qcacmn: Split setup and cleanup APIs for IPA Rx Refill Ring
Split setup API for IPA Rx Refill Ring into allocation and
initialization APIs and call them at pdev attach and pdev init
respectively.
Similary split cleanup API into deinitialization and free APIs
and call them at pdev deinit and detach respectively.

Move procedures related to IPA Tx and WBM rings from pdev to soc.

Also add cdp support to set ipa cfg parameter in soc_cfg struct.

Change-Id: I04bb9270ae2dff51746a42b358fbe346f1087f84
CRs-Fixed: 3053542
2021-11-25 08:18:28 -08:00
Edayilliam Jayadev
5766b9730c qcacmn: Handle reorder list overflow
Handle overflow in reorder list.

Change-Id: I15195cb02a53458971090b02b26df5d8d220500a
CRs-Fixed: 3071047
2021-11-25 08:18:23 -08:00
Edayilliam Jayadev
a91ad29e18 qcacmn: Handle premature delivery and stale frames in mgmt Rx REO
Handle the following scenarios.
  1. Premature delivery
  2. Stale frames

Change-Id: I81f3f4facf97cb14b754252150de423f730e37cd
CRs-Fixed: 3071045
2021-11-25 08:18:16 -08:00
Edayilliam Jayadev
915648336f qcacmn: Add APIs to split/join lists
Add following APIs.

  1. Split a list into 2 lists
  2. Join two lists

Change-Id: I9eb5cdfeeef582ef0bebe108f08fac307494b59d
CRs-Fixed: 3071041
2021-11-25 08:18:09 -08:00
Harsh Kumar Bijlani
0a6cc5a1a0 qcacmn: Correct the computation of tx.ampdu_cnt and tx.non_ampdu_cnt
Update tx.ampdu_cnt and tx.non_ampdu_cnt as per num_mpdu.

Change-Id: I0a79787fe71b43f071ecfc13e41e7020436128d1
CRs-Fixed: 3081456
2021-11-25 06:17:24 -08:00
Neha Bisht
fdc38fa3f7 qcacmn: Export APIs to be used by another module
Export APIs which need to be used by qca_ol module

Change-Id: Ifbd83603ed6de9aebf9b9ea3fe0d0214fda7b806
2021-11-25 02:52:36 -08:00
Neha Bisht
7981ef5007 qcacmn: Avoid CCE check in per packet path
CCE disable was done for 8074 V1 specifically which is no longer
needed for future releases and hence removing CCE check in TX.
per packet path

Change-Id: Ia31c5e2cb181e4a3409fa1f1abce8c55524b1b05
2021-11-25 02:52:31 -08:00
Jingxiang Ge
2ed71bd979 qcacmn: Fix compliation error when disable CONFIG_LEAK_DETECTION
Fix error when disable CONFIG_LEAK_DETECTION.

Change-Id: I16d85b596ef64ad45e9fb0bb594b0a3287554e8f
CRs-Fixed: 3080460
2021-11-24 22:58:30 -08:00
Chaithanya Garrepalli
823c259075 qcacmn: Fix MCC WHUNT compilation issue
Fix WHUNT compilation issue.

Change-Id: Iaa8722a3fe2854a41dc21626ec61fceb93cad397
2021-11-24 17:56:14 -08:00