Wykres commitów

126 Commity

Autor SHA1 Wiadomość Data
Srinivas Girigowda
363262cd30 qcacmn: Remove __func__ from the DP logs
Logging macros already takes care of adding function name.
Hence, delete the occurrence of __func__.

Change-Id: I44ef5d7f030eba16decb9611f16001c6e9d42b3b
CRs-Fixed: 3492505
2023-05-18 18:42:18 -07:00
Namita Nair
2613f207e0 Revert "qcacmn: WAR for opt_wifi_dp feature to disable IPA(1)"
This reverts Change-Id: I7aad275f4d86a2ffc239f1fe343de31ec2988fad.

Change-Id: I875e8d15430c3f0a0f4bf10d275b203b24023a64
CRs-Fixed: 3483264
2023-05-12 16:39:36 -07:00
Naveen Gurujala
744590c14b Revert "qcacmn: Add support for enabling TWO tx_pipe"
This reverts Change-Id: I71b414c2ead0c25df6009a21a59b4c0d553ce9fd

Change-Id: I2f0c43e03387811c91a24c61ae622191b1d12347
CRs-Fixed: 3356413
2023-04-25 12:08:36 -07:00
Linux Build Service Account
3d28fd8ee3 Merge "qcacmn: Add support for enabling TWO tx_pipe" 2023-04-21 03:18:19 -07:00
Devender Kumar
dd97356cc5 qcacmn: Fix compilation issue for IPA when vlan is enable
variable is not defined leading to compilation
issue when vlan is enable in SDX.

Fix is to correct the variable name.

Change-Id: I2d3618d9ad3d8a48026cb8c737ce6ede733cb478
CRs-Fixed: 3462236
2023-04-13 07:36:54 -07:00
Devender Kumar
ebebca18a9 qcacmn: Add support for enabling TWO tx_pipe
Enable ALT_TX ring for split phy radio.

Change-Id: I71b414c2ead0c25df6009a21a59b4c0d553ce9fd
CRs-Fixed: 3356413
2023-04-13 02:44:29 -07:00
Devender Kumar
b0e26ae525 qcacmn: Add support for Third WKK radio in IPA context
Currently we only support DBDC with IPA, to support
TBTC we need to provide pipe setup for third WKK
radio to IPA, so that IPA can register the pipes
in wlan2 smmu context bank for third WKK radio.

Change-Id: I941c0ddec4f23406aa5acabbfb80a7499d830d75
CRs-Fixed: 3456002
2023-04-10 01:19:56 -07:00
Devender Kumar
576ea0d8b2 qcacmn: Update the DB address pcie status to IPA
With pcie 1 and pcie slot 2, if ipa updates the 40th bit then
access to pcie memory region is going in pcie_0 memory region.
IPA is not allowed to update 40th bit for any address given
from pcie_1 and pcie_2 memory region.

Fix is do not send the pcie update status as true to IPA for DB address,
so that IPA will take long path of mapping the address in smmu context and
then it will access the pcie region.

Change-Id: Ieeaf1262cef927ca89cded3714c6e37550b8f197
CRs-Fixed: 3448895
2023-04-05 09:04:28 -07:00
Namita Nair
d33baafbe5 qcacmn: WAR for opt_wifi_dp feature to disable IPA(1)
IPA_OFFLOAD will be enabled by  default for MSM.
This is a WAR to disable IPA offload during compile
time, based on the IPA_WDI_OPT_DPATH feature flag from IPA.
If the flag is not defined in the IPA test
module file, IPA offload path will be disabled.
This is a WAR, and will be fixed once a Kernel config is
available to enable or disable the optional wifi datapath
feature.

Change-Id: I7aad275f4d86a2ffc239f1fe343de31ec2988fad
CRs-Fixed: 3431972
2023-04-02 01:23:12 -07:00
Namita Nair
86e2e95fc5 qcacmn: Fix function name for opt_wifi_dp_cleanup
Fix the function name dp_ipa_opt_wifi_dp_cleanup()
for IPA_OPT_WIFI_DP not defined case.

Change-Id: Ie8d7db76add281025fd654d8a3e0017eddd6fbc4
CRs-Fixed: 3446301
2023-04-01 01:20:12 -07:00
Namita Nair
42381bb34d qcacmn: Handle RTPM counter for opt wifi dp
Inorder to keep the PCIe link up during
optional wifi dp transfer the
hif_force_wake_request() is called during
filter addition. This increments the rtpm_get counter.
Now if Wifi is disconnected before releasing the
filters, the corresponding hif_force_wake_release()
call is not made. This causes a mismatch in RTPM GET and
PUT calls and triggers an assert during hdd_wlan_stop_modules().
This change adds a cleanup call to release the force wake
and reduce the rtpm_put counter to prevent the assert.

Change-Id: Idd778275a015922376cf7eb0a7c3d92e75881fe8
CRs-Fixed: 3441186
2023-04-01 01:20:02 -07:00
Devender Kumar
148d0de3e5 qcacmn: Add support for pmac_id in IPA driver
To support splitphy and MLO operation when multiple
TX ring are present under single soc, then to differentiate
the TX lmac, pmac id in per packet is require. As pmac_id in
bank register is always constant for pinnacle case, so need
to pass per packet in TX desc.

Change-Id: I8e5a832700770274e68bf8a04e97675386184545
CRs-Fixed: 3356413
2023-03-17 01:41:35 -07:00
Devender Kumar
f230d96802 qcacmn: Properly set WDI version for WIN chipset
Set WDI version based on SOC architecture, set WDI
version to IPA_WDI_4 for QCA_WIFI_QCN9224 chipset,
else IPA_WDI_3.

Change-Id: Ib80435e5098cfbcb9f90d4ac9cfe81ea183f308a
CRs-Fixed: 3383949
2023-03-15 22:39:08 -07:00
Amrit Sahai
24dc3d385c qcacmn: Add Support of TX MLO Link Stats for ML Peer
Add Support to update TX per packet path, MLO Link
statistics for ML Peer.

Change-Id: If8aa5433221ecbb7d84b3f6777784524f43179a3
CRs-Fixed: 3397721
2023-03-08 07:42:28 -08:00
Namita Nair
aab63b2b96 qcacmn: Add optional wifi datapath feature ipa layer
This change adds the optional wifi datapath feature
to transfer data to and from modem via WLAN.
By using the existing path between WLAN and IPA, this
change registers new interfaces between IPA and WLAN
to reserve, add, delete and release rx filters,
which are required for setting up CCE filter rules.
These filters help to determine which packets need
to be routed to IPA specific REO rings.

Change-Id: I17c2ab77ae343f15d6b79fa02bb70ed62294089c
CRs-Fixed: 3403314
2023-02-28 16:57:22 -08:00
Jia Ding
09186dbaf9 qcacmn: Check mld peer address for IPA intra-bss fwd
In the case of MLO connection, MLD address is used for data
transmissions in the ethernet header. Take MLO-SAP intra-bss
forwarding as an instance, ref1 sends unicast arp-resp to
ref2 who initiates broadcast arp-req. DA and SA in the ethernet
header are both MLD mac addresses of ref1 and ref2.

Currently when WLAN IPA component does the intra-bss forwarding
check, MLO connection is not taken into consideration, where
only legacy hash table is searched. For a MLD peer, it is not
added into the legacy hash table but the MLD specific hash
table.

Hence in this change, use dp_peer_hash_find_wrapper() API with
CDP_WILD_PEER_TYPE to check if peer exists in both legacy
and MLD hash table.

Change-Id: Ifea7cd37373e1575d811bedefb602d0df5c1765b
CRs-Fixed: 3400280
2023-02-23 10:49:33 -08:00
Namita Nair
33189ca042 qcacmn: Fix REO ring routing for opt wifi dp
Set REO dest index 4 to REO2SW4.

Change-Id: Ida169d49ee195e2aaf1c13eeaafbbd487430f846
CRs-Fixed: 3403314
2023-02-23 08:54:09 -08:00
Jeff Johnson
81e6a31400 qcacmn: Fix dp/wifi3.0/dp_ipa.*documentation
The kernel-doc script identified a large number of documentation
issues in dp/wifi3.0/dp_ipa.[ch], so fix those issues. In addition,
there are a number of instances where public functions have their
implementation documented instead of having their interface
documented, so move that documentation.

Change-Id: I664c657e4e7424db576bf19ca8a26c697b37e46f
CRs-Fixed: 3373165
2023-02-15 03:44:23 -08:00
Amrit
1833aa0e7f qcacmn: Add support for stats in IPA Architecture
Add support for stats in IPA Architecture.

Change-Id: I38706503719f6236fa1081342e9eb1f0bd0ba1c2
CRs-Fixed: 3345292
2022-12-29 18:34:12 -08:00
Amrit
6d1cdea120 qcacmn: Add support to get rx mcast and bcast stats
Add support to get rx multicast and broadcast stats
in IPA Architecture

Change-Id: Id7cf7bb09534833af7fe620cdbd4ed452d9e4613
CRs-Fixed: 3346858
2022-12-26 03:24:51 -08:00
Devender Kumar
051821c54f qcacmn: Fix for Vlan Header initialize
Vlan Header is not initialize before passing it
to IPA driver, due to this some Vlan header fields
are junk and causing issue in IPA driver.

Fix is to initialize the header with 0

CRs-Fixed: 3342771
Change-Id: Ic29e0822f32bec5ea71702ceea75b7354caeda65
2022-11-29 03:25:34 -08:00
Jia Ding
0ffd9de547 qcacmn: Properly handle IPA TX alt ring
If IPA tx alt doorbell address is not returned from IPA, wlan
should not touch the tx alt paddr and vaddr either. Therefore
add the NULL check before handling the tx alt ring resources.

Change-Id: I6b98fe5c003f3e796441513515190ea592d14d01
CRs-Fixed: 3339322
2022-11-26 04:53:10 -08:00
Devender Kumar
8c9cc20350 qcacmn: Fix for peer unref
Reference taken on peer with wrong MODULE_ID, hence
while unref on peer is failing.

Change-Id: Ifd4360ad8db877cfbf67fb6d80fdfb41aee4ff56
CRs-Fixed: 3317145
2022-10-27 08:01:16 -07:00
Jeff Johnson
ebfbc0d927 qcacmn: dp: Fix misspellings
Fix misspellings in dp/...

Change-Id: I6ef7a19ee03104ae38a8a77e229b90aa80329592
CRs-Fixed: 3304682
2022-10-07 22:42:22 -07:00
Jia Ding
b6c2183b7a qcacmn: Setup bank id for IPA TX pipe
Get bank id initialized for IPA usage from DP layer and pass it up
to IPA driver.

IPA is not able to handle bank id on a per-interface basis, and
hence set up same bank id for both TX pipes.

Change-Id: I69632a5e4e2ae115ef9131d5579822b82c001fca
CRs-Fixed: 3289537
2022-09-21 21:38:36 -07:00
Devender Kumar
a85ce1152c qcacmn: Debug framework for SMMU buffer tracker for IPA offload
Debug framework for tracking the SMMU mapping and unmapping of
skb buffer when IPA offload is enable and IPA_SMMU_NBUF_TRACKER
is define.

CRs-Fixed: 3255423
change-Id: I8966097945b33cb866f4642b98b3d1a4beabfad7
2022-09-13 03:24:34 -07:00
Devender Kumar
78b844e995 qcacmn: Fix for calling cdp api from dp layer
cdp api is getting call from dp layer.

Fix is to call correct dp api from datapath file.

CRs-Fixed: 3279426
Change-Id: I142910276d76c600e5d79289270bbfe156bfab1c
2022-09-05 21:33:12 -07:00
Devender Kumar
13c6048f72 qcacmn: Fix for Unicast packet flow from WDS node in Intrabss
When EasyMesh feature is enabled, ARP replies from WDS node are
getting dropped by the AP, as there is no proper way to find the
DA_PEER with given WDS mac address.
Fix is to get the peer mac address for wds node based on ast entry.

CRs-Fixed: 3265158
Change-Id: I5ea890ce37dfde89d067b471417ba7aeb8c5d6f5
2022-08-24 17:22:30 -07:00
Himanshu Batra
7c5f36a9de qcacmn: Move vlan related enum usage under feature macro
Move vlan related enum usage under vlan feature macro for IPA offload

Change-Id: If2af8ca5db9b31a161c20c3d82130ffea26cacb6
CRs-Fixed: 3258130
2022-08-02 08:54:55 -07:00
Himanshu Batra
3d142e75de qcacmn: Fix compilation error by using correct variable
Fix compilation error by using correct variable

Change-Id: I97cb4222e7cc25e320757708432b66d660a94ddf
CRs-Fixed: 3252847
2022-07-27 13:26:17 -07:00
Devender Kumar
6e12b33067 qcacmn: Create a new API to update wdi hdr type for IPA
Create a new API to update wdi hdr type for IPA and Fix
the return type for cdp call.

CRs-Fixed: 3246990
Change-Id: Ic8adb1f46bfeda6598a01ffdda27339cfa04ee9d
2022-07-25 14:02:17 -07:00
Himanshu Batra
a2f709fa4f qcacmn: Change macro IPA_WDI3_RX_TWO_PIPES to IPA_WDI3_VLAN_SUPPORT
Change macro IPA_WDI3_RX_TWO_PIPES to IPA_WDI3_VLAN_SUPPORT to represent
the feature supported under this macro

Change-Id: Ie1e387d641052cd5690c63f0c1216f4852544605
CRs-Fixed: 3250264
2022-07-25 05:13:47 -07:00
Himanshu Batra
7be2cf3775 qcacmn: Add support for vlan tagged traffic in IPA offload
In IPA offload, both tagged and untagged traffic cannot be handled with
a single rx pipe. Hence, add support for 2nd RX pipe for tagged and
untagged traffic respectively.

Change-Id: I77ff633327696f66df42fb592492321c1591646b
CRs-Fixed: 3226021
2022-07-21 11:02:34 -07:00
Jia Ding
c78b55df2c qcacmn: Define IPA TX ring indexes for WCN7850
As part of IPA offload support for WCN7850 chipset, properly define
TX ring indexes into soc->tcl_data_ring[] and soc->tx_comp_ring[]
used by IPA.

In the change, use wlan_cfg_get_rbm_id_for_index() to get correct
rbm values for WBM2SW ring used by IPA.

Change-Id: Ie5b6743c1cb2adfa156735fc84dc1429a67f833a
CRs-Fixed: 3246038
2022-07-19 07:06:51 -07:00
Devender Kumar
277054124d qcacmn: AST entry create and update support for IPA
To support WDS feature in IPA driver, WLAN needs
to update the ast entry for any new rx packet, and for
end-nodes connected via repeater to root.

CRs-Fixed: 3226348
Change-Id: I7383b12f18e7c70ec06499d66130667eca033131
2022-07-13 02:37:22 -07:00
Jia Ding
831f2db53b qcacmn: Clean up unused IPA desc_format_template
With IPA WDI version 3.0 including HST, HSP and even HMT,
GSI is the implementation instead of IPA uC. As a result,
desc_format_template filed in pipe setup info is not used.
Hence clean up the unnecesssary setup for desc_format_template.

Change-Id: I51f87d9e22951c6a621c11984ed5e7084990c5c0
CRs-Fixed: 3231623
2022-07-07 21:43:25 -07:00
Devender Kumar
411e8fc3e0 qcacmn: Fix for IPA init path
After enable and disable of both radio, If second radio is enabled
then the instance_id from wlan driver is passed wrongly to IPA driver
which is in leading to initializion of first radio on IPA driver side.
Fix is to take the instace id based on psoc id and set the prod and cons
pipes based on instance_id instead of IPA given handle.

Change-Id: I26f4f3fbd23284e79a380d212ad07aceac50f053
CRs-Fixed: 3179306
2022-05-05 01:20:56 -07:00
Amit Mehta
d2199b7a99 qcacmn: Set default value for REO dest ctrl register
Currently in some case we are receiving non error packets on REO2TCL
ring, which is causing issue.

Fix is to set DEST_RING_MAPPING_0 to SW1 for REO dest ctrl
register, So that non error packets with reo_destination_indication
with 0x0 in the reo entrance ring will be routed to SW1 ring.

Change-Id: I67f78f35e7dba899943307902d99d0325a60498f
CRs-Fixed: 3150186
2022-03-17 07:25:12 -07:00
Devender kumar
95ced9577d qcacmn: Add support in IPA datapath for 2X_PDEV
2x_pdev changes are include for support new IPA API's
and change the existing API's argument to support new
parameter which is ipa handle, create a new API to get
the IPA hdl from IPA component in DP

Change-Id: I3d2b378620dbd1e64d295623534126e0eebc2d28
2022-02-16 16:56:50 -08:00
Harsh Kumar Bijlani
93cd9e0af8 qcacmn: Update stats in dp_txrx_peer in per packet path
Update stats in dp_txrx_peer in per packet Tx completion and
Rx path.

Change-Id: I807cb5ca9fe2aeeabdd4cb95d6e30cb9781560f4
CRs-Fixed: 3092123
2022-02-09 11:54:46 -08:00
Himanshu Batra
6c9b3cb72c qcacmn: Add API to check target state while enabling IPA autonomy
Add API to check target state while enabling IPA autonomy

Change-Id: I2d04b2989e129a8ab70fec908c06e509545c7a8c
2022-01-19 15:30:44 -08:00
Himanshu Batra
cc46006b7d qcacmn: Use correct variable to iterate reo dest rings
Currently the MAX_REO_DEST_RINGS is used to iterate reo dst ring. If the
MAX_REO_DEST_RINGS is more that no. of reo dest ring initialize, the
print is seen on console as hal_ring_hdl will be null for extra
iterations.
Add fix to use correct variable to iterate reo dest rings

Change-Id: Ibcb44dda49696a7bb029b49ce3d50acd8741590a
2022-01-09 23:10:09 -08:00
sandhu
ad2829718c qcacmn: Remove IP from files
remove IP from code

Change-Id: If119a4af213b10aadb9f1344e50b0342e72405c2
CRs-Fixed: 3073864
2021-12-29 04:28:58 -08:00
Himanshu Batra
f49b3a1753 qcacmn: Cfg changes for IPA offload support
Cfg changes for IPA offload support.

Change-Id: If477db8e958b22634e1505f3e4319c7aa0cc6ef4
2021-12-20 22:45:22 -08:00
Himanshu Batra
a83d7d4111 qcacmn: Modify IPA object cleanup path
Currently ipa object cleanup is happening as part of pdev destroy.
Move it to deinit API of IPA

Change-Id: Id36648397102fa47ad1d29f99f2f152f40663f36
2021-12-20 22:45:17 -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
aloksing
b158abe417 qcacmn: API renaming for monitor module
Add prefix dp for all monitor APIs
Add mon_debug/mon_info/mon_err for logs

Change-Id: I71d49f6bcacd77f5695269817fed83337169227b
CRs-Fixed: 3006497
2021-08-12 05:32:47 -07:00
aloksing
c60b9619a3 qcacmn: Conditionally compile monitor related features and issue fixes
PATCH[7/7]:
This patch consists following changes:
 -Conditionally compile all monitor destination ring related code
  Macro used QCA_MONITOR_PKT_SUPPORT
 -Add QCA_ENHANCED_STATS_SUPPORT macro to conditionally compile
  enhanced stats support
 -Use QCA_MCOPY_SUPPORT and QCA_TX_CAPTURE_SUPPORT macros
  to conditionally compile MCOPY and Tx capture features
  respectively
 -Use QCN_IE macro to conditionally compile BPR
  feature
 -Use QCA_ADVANCE_MON_FILTER_SUPPORT macro to conditionally
  compile advance monitor filter feature
 -Fix vdev attach issue for special and smart monitor vap
 -Fix status ring initialization issue.

Change-Id: I0deaa28a9a54bf34b0f41e6dd510fdd8d4992db2
CRs-Fixed: 2983780
2021-07-30 21:51:26 -07:00
aloksing
53fe7000ba qcacmn: Move monitor related fields from soc/pdev to mon_soc/mon_pdev
PATCH[6/7]:
This patch consists following changes:
 -Move monitor related pdev variables to struct dp_mon_pdev
 -Move monitor relted soc variables to struct dp_mon_soc
 -Move cookie to monitor link desc va to monitor file
 -Add APIs to access monitor related variables
 -Add dummy APIs to build without monitor support.

Change-Id: I032a480b1383d061f984cee3ba6b10ac7a0ff350
CRs-Fixed: 2983781
2021-07-30 21:51:21 -07:00
Rakesh Pillai
a42ab6f94e qcacmn: Add IPA api changes
Add changes in IPA APIs due to hal API
modifications for WCN7850.

Change-Id: I13e3acc154cb22538eca0adcd312cb7f9bc1124c
CRs-Fixed: 2888556
2021-06-07 01:51:14 -07:00