提交图

15933 次代码提交

作者 SHA1 备注 提交日期
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
Himanshu Batra
bd23cf7dcc qcacmn: QDF changes to support IPA offload
QDF changes to support IPA offload.

Change-Id: Ib3a0f667bb9c11fb65f6a41ad777ff7273288569
2021-11-24 05:31:07 -08:00
Shwetha G K
79ef411bbb qcacmn: Fix invalid VAP instance error in RCC case
Fix the invalid VAP instance error seen when RCC is
enabled and ol_ath_stats (enhanced stats) feature is
disabled case.

Populate gI as well similar to other rate stats in
CFR handler where this information would not be
available if ol_ath_stats is disabled.

CRs-Fixed: 3056621
Change-Id: Id1af6359408cb977ba0becf298121ee10dd5ef72
2021-11-24 02:44:06 -08:00
Edayilliam Jayadev
df5e7b5597 qcacmn: Log info about outgoing management frames
Log necessary information about the management frames exiting the
reorder module.

Change-Id: I56a5cce91c4cdea6334d3da0259b141b5c773cea
CRs-Fixed: 3063109
2021-11-24 01:14:38 -08:00
Rakesh Pillai
983df61b28 qcacmn: Disable CE srng timer interrupt for WCN7850
Disable timer mode interrupt for CE dest and status
rings for WCN7850.

Change-Id: Ic3459988d7547b63b65f94a9f43defb85ee26210
CRs-Fixed: 3044130
2021-11-24 01:14:33 -08:00
Disha Das
d3873b0cc6 qcacmn: FIPS waikiki WMI changes
Add FIPS Waikiki WMI changes.

Change-Id: Ie84c2db885b7357dd3466df3494d345ce2e5a132
2021-11-23 23:57:13 -08:00
Chaithanya Garrepalli
65137277e8 qcacmn: chages to save soc list in mlo setup
Changes to save SOC list in MLO setup

Change-Id: I185bf26b1dac6eced03931c213297564abe74747
2021-11-23 21:59:34 -08:00
Chaithanya Garrepalli
c42af1f62f qcacmn: Rx path changes for multichip MLO
Rx patch changes for multichip MLO

1. Create ini for rx ring mask for each chip
2. Configure hash based routing for each chip based
   on lmac_peer_id_msb
3. Peer setup changes to configure lmac_peer_id_msb
   to enable hash based routing
4. Rx Replenish changes to provide buffers back to owner
   SOC of reo ring

Change-Id: Ibbe6e81f9e62d88d9bb289a082dd14b4362252c4
2021-11-23 19:28:20 -08:00
Chaithanya Garrepalli
bbe062b4b7 qcacmn: DP peer changes for multi-chip MLO
DP peer changes required for multi-chip MLO.
This change includes

1) Adding MLO peer to global peer hash at ML context
2) Add ML peer to all partner chips id to objtable

Change-Id: I230a6c1b14484c587b190a9a318fe9ffb1caea11
2021-11-23 19:28:15 -08:00