Graphe des révisions

15916 Révisions

Auteur SHA1 Message Date
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
Gururaj Pandurangi
fb6af4edcd qcacmn: Allow scan/connection if RF test mode/Safe mode enabled
Currently if AP and STA have different ctry codes, STA should
operate in VLP mode. And if STA ctry code is US, then scan and
connection are not allowed as US VLP is not supported yet.
However, if RF test mode or Wi-Fi Safe Mode is enabled, allow
scan and connection on this AP and STA can operate in LPI mode.

Change-Id: I513657b8e274ef07eb9e9b5fc265722cb01525de
CRs-Fixed: 3079537
2021-11-23 18:18:00 -08:00
Kiran Venkatappa
3e3ed9ca89 qcacmn: MLO setup, teardown sequence changes
MLO setup, teardown sequence changes

Change-Id: I76d14cd66c373b3b734a17e44f3655ffd17893c5
CRs-Fixed: 3059859
2021-11-23 16:57:00 -08:00
Chaithanya Garrepalli
31281aab2b qcacmn: Changes for MLO pdev attach
Changes for MLO pdev attach to get MLO_link_id
information.

Change-Id: Id9e6932138e314dfeb93417fce690329ec7d6ab8
2021-11-23 03:55:41 -08:00
Chaithanya Garrepalli
70398a0ccd qcacmn: Changes needed for MLO soc attach
Changes needed for MLO soc attach to pass chip_id,
dp_ml_context from upper layer.

This change also takes care of assigning appropriate
RBM id for IDLE link descriptors based on chip_id.

Change-Id: I8f5f08c524d91942e6e458f048700b7bdd900107
2021-11-23 03:55:36 -08:00
Chaithanya Garrepalli
1faab04393 qcacmn: Changes to create DP ML context
Changes to create DP ML context and associate
with CP MLO manager.

Change-Id: Ic254c883de7c6d6db0fe722a48f0faabbaad0247
2021-11-23 03:55:30 -08:00
Chaithanya Garrepalli
5be4508174 qcacmn: Changes in HW cookie conversion for MLO
Changes to have HW cookie conversion context per
desc pool.

This context will be used to program CMEM of the
other SOC in case multi-chip MLO.

Change-Id: I5ec68813e8fcb6d124698a52f5553acf9a7b1795
2021-11-23 03:55:24 -08:00
Chaithanya Garrepalli
0fb9dcb7eb qcacmn: ML peer authorize changes
Changes to set authorize bit on ML peer only
after all link peers are authorized by hostapd.

Change-Id: I4b103538533dd459e83ae688408703c4122f025e
2021-11-23 03:55:18 -08:00
Pavankumar Nandeshwar
ef490e7713 qcacmn: avoid source port learn when ast offload is enabled
avoid source port learn when ast offload is enabled in the
rx error path

Change-Id: I88f6847aceecd39095fdaefb942bccfa434ebbb9
2021-11-23 02:38:22 -08:00
Himanshu Batra
cc99f5487f qcacmn: ML peer changes for STA
Add changes to support ML peer for STA vdev.

Change-Id: I173a2ad5441bbbf1c1185c677c6cc92c4f1a166f
2021-11-22 15:10:01 -08:00
Shashikala Prabhu
a117c19fda qcacmn: Add support to extract the channel info from RTT measreq
Add support to extract the freq, cfreq1, cfreq2, PHY mode, Destination
macaddr, and channel BW values from the RTT measurement request buffer
received from the LOWI application. Pass these values to a registered
callback. Users can use these values to make some decisions on the RTT
scan.

Change-Id: Idb2232c07bbfa2946dc01e75908b9a6036597ecf
CRs-Fixed: 3060685
2021-11-22 15:09:55 -08:00
Jingxiang Ge
b966b27c3f qcacmn: classify qmi/wmi for WMI_REQUEST_STATS_CMDID
Classify qmi/wmi by request type, only TYPE_STATION_STATS
is designed to be sent by qmi so far.  other type will
continue go with wmi.

Change-Id: Ibaee99c0a9d59b0db634e84f3c0b6e40b65a185d
CRs-Fixed: 3077792
2021-11-22 13:36:38 -08:00
Tallapragada Kalyan
4e7ceff561 qcacmn: Prefetch RX HW desc, SW desc and SKB in pipeline fashion
Prefetch RX HW desc, SW desc and SKB in pipeline
fasion in the first loop of RX processing.

This has improved TPUT by 200Mbps and provided a
10% gain in CPU (single core)

PINE with other optimizations: 3960Mbps @ 100% core-3
PINE + pipeline prefetch: 4130Mbps @ 90%  core-3

Change-Id: I47f351601b264eb3a2b50e4154229d55da738724
2021-11-22 13:36:33 -08:00
Tallapragada Kalyan
e3c327a0ba qcacmn: do a batch invalidation of REO descriptors
Added an API to do a batch invalidation of REO descs
saw an improvement of 40 to 45 Mbps.
Note: this change is applicable only for cached
descriptors

PINE with Default driver: 3189 @ 100% core-3
PINE with skb prefetch: 3469 @ 100% core-3
PINE with skb pre + batch inv: 3506 @ 100% core-3
Change-Id: Ic2cf294972acfe5765448a18bed7e903562836c3
2021-11-22 13:36:28 -08:00
Linux Build Service Account
0fef3ec487 Merge "qcacmn: Add support to configure carrier_profile" 2021-11-22 07:38:31 -08:00
Linux Build Service Account
1bd4291456 Merge "qcacmn: Allocate PDEV with size as per arch type" 2021-11-22 07:38:30 -08:00
Linux Build Service Account
d02b685d7b Merge "qcacmn: Clean up force BA64 ini config" 2021-11-22 07:38:29 -08:00
Debasis Das
299178316e qcacmn: Add support to configure carrier_profile
Add WMI support to send carrier_profile_config to target.

Change-Id: Ic244a8089b91b7dec19563da2f1605cd8111fb22
2021-11-22 02:49:07 -08:00