Commit Graph

171 Commits

Author SHA1 Message Date
Himanshu Batra
f6c56895c1 qcacmn: Add support for vdev/peer create/delete cfgmgr message support
Add support for vdev/peer create/delete cfgmgr message support

Change-Id: I623b1339fe706ff4204199ff9e8745ebcdc9cae2
CRs-Fixed: 3636364
2023-10-15 12:11:57 -07:00
Himanshu Batra
d0faedd65a qcacmn: Add support for cfgmgr interactions
Add support for cfgmgr interactions

Change-Id: I9ac15639c61784e250318f290c47db4e840f8a13
CRs-Fixed: 3633890
2023-10-14 05:39:52 -07:00
Himanshu Batra
3efaabd704 qcacmn: Update UIO info for DP data rings
Update UIO info for DP data rings.

Change-Id: I0c6e8c8e59aefb373dc024d91eb1379ed7564f31
CRs-Fixed: 3623839
2023-09-29 11:23:33 -07:00
Gaurav Saini
b64de0cf4a qcacmn: Handle RX exception from IPA on WDS-EXT netdev
When WDS_EXT feature is enable, Host needs to redirect
the data packets to WDS extended netdevice.

Change is added the support for forwarding the RX packets
when received from IPA as an exception by deriving the
correct netdevice interface.

Change-Id: I083a1acc72023f3ebe6ea36ec05a5706f89c16bc
CRs-Fixed: 3597357
2023-09-21 17:57:45 -07:00
Chaithanya Garrepalli
31c9403303 qcacmn: Add TX global desc pool per arch type
As cookie format is different between LI and BE have
different global descriptor pool for Lithium and
Beryllium

Change-Id: Idd222f4009c017a1bc4bc4b14043b36d927a9e27
CRs-Fixed: 3608792
2023-09-09 12:57:16 -07:00
Neha Bisht
5e70737f80 qcacmn: Handle special descriptor cases for global tx pool
Handle special descriptor cases for global tx desc pool

Change-Id: I33253b726b1b8a2e7438b3bc1dddcac43ad8fb25
CRs-Fixed: 3592887
2023-08-30 13:40:05 -07:00
Neha Bisht
82e9711f5b qcacmn: Move Tx desc pool to global context level
Move Tx descriptor pool to global context level.

Change-Id: Iff13a41f3bebbaa93e559c38842a596d47f4e534
CRs-Fixed: 3534184
2023-08-30 13:39:55 -07:00
Kenvish Butani
6939ceceb0 qcacmn: CDP API's to support MLO Dev context
Add support of CDP API's to create, attach,
detach and destroy MLO device context
structure in Datapath

Change-Id: I0c2019b70f12639de949ebe5bec44f1f202cff6b
CRs-Fixed: 3566879
2023-08-13 23:59:24 -07:00
Biswajit Dash
977b3d1fd6 qcacmn: move ml_peer_valid bit check macros out of qdf
-Moved the get macro from qdf to cdp layer.
-Removed the set macro from qdf and replaced its usage
 in be rx layer with an existing HTT ml_peer_Valid mask.

Change-Id: I4a87b4b560f983c5aa6d026481a88d28e2ff09fd
CRs-Fixed: 3488425
2023-06-26 17:22:44 -07:00
Rakesh Pillai
60e91fe20b qcacmn: FISA init code movement
Move the FISA initialization code out of cmn DP.

Change-Id: I744a69d559225d4a0496b84be9007ab230f2f4a0
CRs-Fixed: 3512034
2023-06-24 13:31:35 -07:00
Surya Prakash Raajen
74c7a8d542 qcacmn: Add CDP api support for umac reset init
Add CDP api support for umac reset init API, these apis are expected
to be called whenever shmem is deinitialized.

Change-Id: I307c586454580ab8f83b0d515defa93d4e8ff656
CRs-Fixed: 3458268
2023-04-18 14:27:32 -07:00
Vignesh C
fa0f65caaa Revert "qcacmn: Add support for HMWDS add and reset cmds in Beryllium"
This reverts commit Iaa110ba26a477fc0b77647a712c377029b038940.

Change-Id: Ifed1cf1e73ac03a09fc03acdc273958c9789f8a8
CRs-Fixed: 3458091
2023-04-10 01:19:45 -07:00
Vignesh C
070e8af74f qcacmn: Add support for HMWDS add and reset cmds in Beryllium
Add HMWDS add-addr, rem-addr, reset-addr and reset-table support
to add, reset and remove AST HMWDS mac entries in Beryllium
chipsets.

wlanconfig athX hmwds add-addr wds_ni_macaddr wds_macaddr
wlanconfig athX hmwds reset-addr macaddr
wlanconfig athX hmwds reset-table
wlanconfig athX hmwds rem-addr wds_macaddr

Change-Id: Iaa110ba26a477fc0b77647a712c377029b038940
CRs-Fixed: 3429510
2023-04-03 01:35:47 -07:00
Surya Prakash Raajen
7265d860b2 qcacmn: Add CDP api support to notify asserted soc info
Add CDP api support to notify asserted soc info to DP
umac reset module, to disengage a asserted soc from
umac reset process.

Change-Id: I92ee07ed90243567dab83d0686022c8327efe1b6
CRs-Fixed: 3428265
2023-03-20 11:43:02 -07:00
Himanshu Batra
fe8e699301 qcacmn: Add API to get osif handle for wds ext peer
Add API to get osif handle for wds ext peer

Change-Id: I1294acee12c9f4d12f8b8728f8d89e61fec81d9f
CRs-Fixed: 3430300
2023-03-14 05:00:19 -07:00
Abishek Ganapathy
ee1493dc9c qcacmn: Add HMWDS rem-addr support in Beryllium
Add HMWDS rem-addr support to delete AST WDS mac entries in
Beryllium chipsets.

Change-Id: I5623bac02b326d1d668ad5e1fdcfc3a9f8cbbb9c
CRs-Fixed: 3397961
2023-03-03 13:40:46 -08:00
Jeff Johnson
d18654812f qcacmn: Fix dp/inc documentation
The kernel-doc script identified a large number of kernel-doc issues
in the dp/inc folder, so fix them.

Change-Id: I6213164d2209cc4de9684ae66281ee2999f82672
CRs-Fixed: 3375078
2023-02-18 13:32:59 -08:00
Varsha Mishra
d6afad86bc qcacmn: Add global context
Global context will contain fst context, fst ref count
and global desc count.

Change-Id: I272fa2c3b8945822268d29b6c329df3f659753d4
CRs-Fixed: 3392039
2023-02-12 03:21:18 -08:00
Neha Bisht
30bc8285d2 qcacmn: Add global context for maintaining descriptor count
Add global context to maintain descriptor count at global level.

Change-Id: Ibfe3379bb4a747530794956cc0cba31e423598d3
CRs-Fixed: 3334340
2023-02-03 05:57:55 -08:00
Jeff Johnson
9932e27f47 qcacmn: Rename hif_vebose_debug_mask
In enum verbose_debug_module the enumerator hif_vebose_debug_mask has
a misspelling, so fix it. But introduce a macro to map the old name to
the new name to prevent build errors for existing users.

Change-Id: I03932bf11a546cecfa4df478f028bc56b6891148
CRs-Fixed: 3374268
2023-01-24 04:49:34 -08:00
Pavankumar Nandeshwar
3548804a60 qcacmn: Add a cdp api to stop the ppe ds
Add a cdp api to stop the ppe direct switch
from control path

Change-Id: Id1c5d5c0e2b80d6fa0fa7b907fac133f815f9627
CRs-Fixed: 3356472
2022-12-18 01:11:49 -08:00
Ripan Deuri
11ccd80f56 qcacmn: Add HAL APIs to read tsf2 and tqm scratch register
Add support to read TSF2 and TQM scratch regitser in the HAL layer
for WKK v1 and v2 board.

Change-Id: I0ef5e8cf4e06c0b5c98169252a81f70989285d2d
CRs-Fixed: 3321782
2022-10-31 13:38:15 -07:00
Ananya Gupta
a4b2a03200 qcacmn: Pause Tx HW enqueue when bus suspend in progress
In SAP due to intrabss forwarding, Tx ring update is going through
when WOW enable command has been sent to FW. This results in crash.
To fix this, do not update HP when apps suspend is in progress.

Change-Id: Id4176224563bdd759828397fa1cd23de1598192e
CRs-Fixed: 3294407
2022-09-21 20:02:51 -07:00
Amit Mehta
163dd20054 qcacmn: Add API to read tsf time
Add API to read tsf time from scratch registers.

Change-Id: If736c31f9ae522a9f853e7b83b6b8a61cad990da
CRs-Fixed: 3287544
2022-09-13 10:51:38 -07:00
jinbaoliu
195e4c7d1b qcacmn: Fix the nss geting from tlv being invalid in 11b mode
Only in 11b mode, exclusive of other legacy modes(11ag) will
the NSS obtained from the TLV header be invalid, which is 0
and cannot be resolved. This change will set nss to 1 in 11b.

Change-Id: I93e8bdb125764fb0247265da328929ecc837fb84
CRs-Fixed: 3275793
2022-08-31 16:04:33 -07:00
jinbaoliu
7e761c2015 qcacmn: Driver provides rx rates info instead of FW
Driver is able to get rates info per MSDU, which can
exclude special frames like ARP, DHCP, etc. This change
is to refill the rates info parsing by rateflags from FW,
including legacy rate, MCS, NSS, BW, preamble, GI, etc.

Change-Id: I043c3ba5c2a06019f3e9bd1765e6b8430174cf6b
CRs-Fixed: 3263832
2022-08-12 02:35:52 -07:00
Shiva Krishna Pittala
8641a158f3 qcacmn: Hook the UMAC reset in the target attach path
Call UMAC reset initialization API from soc_attach_target().
FW exposes a service bit for this feature, use that to conditionally
enable this feature. Also, add default log levels for this feature.

CRs-Fixed: 3253464
Change-Id: Ia7c9cf07a7ab7b000ebe452ab074a82173b70129
2022-08-03 07:35:26 -07:00
Shwetha G K
690e9eba92 qcacmn: Add flexibility to flush MLO peers only
Add changes to support flushing of MLO peers only.
This is required to support the mode-1 behavior of target
recovery feature, where we delete MLO peers and retain
legacy peers across SOCs which are not crashed.

CRs-Fixed: 3243549
Change-Id: I5ae326bfffd1267768c83fd7f60fa1343ef305fe
2022-07-29 09:20:57 -07:00
Namita Nair
dc6a757028 qcacmn: Support same link/mld peer mac address
Currently, if mld and link peer has the same mac
address, the peer cannot distinguished with
just the mac address as the search argument.

Hence to support same mld/link peer mac address,
cdp_peer APIs that uses both link and mld peers,
are also given peer_type info. This helps
to perform the operations on the correct peer.

Change-Id: If646755facc8f9a4d9fed2f31c5cc6618fa9a952
CRs-Fixed: 3043428
2022-07-29 05:57:06 -07:00
Mohit Khanna
0c558b779b qcacmn: Enable notify-frame feature in FW
Enable bits in WMI_INIT command to let the FW know about host's
capability to support notify frame feature. If the feature is enabled,
host can mark certain TX frames as "notify frames" for hardware and they
need not be sent to FW. FW depends on this capability exchange to decide
whether to install HW rules for frames to be sent to HW.

Change-Id: I7158e79ae0fbdc73a2f4096ae1577337e8291246
CRs-Fixed: 3209399
2022-06-14 01:37:19 -07:00
Yu Wang
a9461beb20 qcacmn: refine the APIs for reap timer of monitor status ring
Since more than one components depend on reap timer of
monitor status ring, add bitmap to record the trigger
sources of the timer and refine the APIs/calling functions
accordingly.

With this change:
When a new start request comes, if the source is
CDP_MON_REAP_SOURCE_ANY, skip bit set, and start timer
if any bit has been set in the bitmap; while for the
other sources, set the bit and start timer if the bitmap
is empty before that.

When a new stop request comes, if the source is
CDP_MON_REAP_SOURCE_ANY, skip bit clear, and stop timer
if any bit has been set in the bitmap; while for the
other sources, clear the bit and stop timer if the bitmap
is empty after that.

Change-Id: Idaa7837c4b93b247ff2236aa5072d309fa9548c2
CRs-Fixed: 3190347
2022-06-13 22:54:46 -07:00
Surabhi Vishnoi
ecaa0f1f6c qcacmn: Allow rx UDP packets during roaming before peer map is received
In VoIP cases, no or minimal packet drop is expected during
roaming. Currently, data packets are dropped in host if they
are received after roam sync indication from firmware and before
peer map indication is received due to invalid peer.
This change allows rx UDP data packets during roaming before
peer map indication is received from FW if peer's auth_status
received in roam_sync_indication from FW is authorised.

Change-Id: Ic518b7cd0aef48a2b0f8c923a2e20838b07f3d1f
CRs-Fixed: 3168603
2022-05-12 23:34:21 -07:00
Sai Rupesh Chevuru
c5550678a0 qcacmn: FW based DMS support for 11v DMS
In QCN9224, when 11v DMS feature is enabled use
FW based DMS support instead of SW based WAR.

Change-Id: Icc5b9740f71bd00862e06950e4fe49c663d513b4
CRs-Fixed: 3182547
2022-05-11 12:02:13 -07:00
Rakesh Pillai
f74f73dc68 qcacmn: Add API to update DP rx tid BA window size
Currently, in case where AP advertizes BA window size
which is different than our max supported BA window size,
the HW gets configured for BA window size advertized by
the AP, whereas the ADDBA response indicates the window
size of the STA, which is less than the AP.
This mismatch leads to the BA bitmap to be incorrect.

Fix this by exposing an API from datapath for the update
of the final BA window size which is populated in the
ADDBA response.

Change-Id: I81a039f47a775990b426e9aca1daaaa9bdb6e88f
CRs-Fixed: 3187941
2022-05-11 09:41:23 -07:00
Amit Mehta
0c9a5d80a2 qcacmn: Fix log trace level
Currently trace level for dp_nofl_info is DEBUG
change trace level  to INFO

Change-Id: I7fb24164a7635df26661587e4af0dca6dd225a0c
CRs-Fixed: 3184792
2022-04-29 00:57:53 -07:00
Neha Bisht
6064df8467 qcacmn: Update code with peer_extended_stats instead of rdk_stats
With new configuration changes for enable_peer_extended stats, update
code to peer_extended_stats naming for clean codebase.

Change-Id: I97a7ee331042232098382683fefebd05e6b099c3
CRs-Fixed: 3149920
2022-04-20 01:37:59 -07:00
Shwetha G K
d7046ba026 qcacmn: Add API to flush peers in recovery case
Add cdp wrapper API to flush the peers in recovery case.

CRs-Fixed: 3153535
Change-Id: I58869bf118f0aea487e63865300ba8e7462651ac
2022-03-26 01:10:50 -07:00
Subrat Dash
20b758944f qcacmn: Decouple FEATURE_PERPKT_INFO from MESH_MODE_SUPPORT
The per packet info feature can be enbaled to support enhanced
stats independent of mesh mode.

Change-Id: I852e7a958c520901b6f418d30deb53fa2f68fb68
CRs-Fixed: 3079000
2022-03-08 05:37:52 -08:00
Pavankumar Nandeshwar
4e487c5c45 qcacmn: Fix QUIC Copyright Markings
Fix QUIC Copyright Markings

Change-Id: I9f14871bfc89f7d9a4340cd9c412d519e145687c
2022-01-27 06:59:24 -08:00
Pavankumar Nandeshwar
c9f584b99f qcacmn: Handle failure cases in txrx_peer allocation
Handle failure cases in txrx_peer allocation and
return appropriate errors to the callers.

Change-Id: I51fb519af86344e078eabfcc3f2883522361e1d9
2022-01-13 13:04:29 -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
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
Mohit Khanna
81e29163db qcacmn: Add throughput based RTPM API support
Add support to invoke HIF runtime PM APIs in TX packet path based on
throughput level. Essentially at high throughputs, where runtime PM is
not expected to provide power gains, invoking the APIs is deterimental to
performance.
Hence invoke runtime_pm APIs based on throughput level.

CRs-Fixed: 3059712
Change-Id: I49d111bffa8a37c68abbdd54911f9ecc22430562
2021-11-08 05:19:41 -08:00
Rakesh Pillai
32046ad850 qcacmn: Vdev attach changes for MLO
Add mld mac address info during datapath
vdev attach.

Change-Id: I0ea22025d19be82be0c56809871e8513c3ce7962
CRs-Fixed: 3039326
2021-10-15 13:13:17 -07:00
Jinwei Chen
5c85cfb5a0 qcacmn: cdp/dp peer change for MLO
cdp/dp peer change for MLO

Change-Id: I9b8eb741317a0dc7337aff7e773148892e531ba2
CRs-Fixed: 3031166
2021-10-15 13:13:12 -07:00
Yu Tian
112813c1b7 qcacmn: Add API to get TX pending in WoW state
This change is used to provide an API for PMO module to
check whether there are pending TX frames before HOST sends
wake up indication to FW. PMO module uses this to indicate
FW whehter to discard HWDTIM.

Change-Id: Icc3271e87e376e3313fddc5f4f99e39daeaf6af7
CRs-Fixed: 3046947
2021-10-11 00:30:47 -07:00
Surabhi Vishnoi
449ae318e0 qcacmn: Add cdp api to update the packet capture mode
Add a CDP api to update the packet capture mode in dp_soc
when it get updated by user using vendor command.

Change-Id: Id0856aeeb5e1a77e1ce6fb23562fdbff4a2fb320
CRs-Fixed: 3048344
2021-10-06 02:07:05 -07:00
Pavankumar Nandeshwar
6b1d142d98 qcacmn: Enable wds changes in Beryllium
wds in Beryllium is managed by hardware.
Make use of hardware managedwds and disable
the corresponding wds handling done in host
for Beryllium.

Change-Id: I39f23cb40c6c5f85ada8ce59c92ff2855bb18da3
2021-09-30 15:15:25 -07:00
Balaganapathy Palanisamy
71d4ce6cb0 qcacmn: Add support to get free descriptor pool size
Add a function in cdp to get free descriptor pool size.

CRs-Fixed: 2984773
Change-Id: Iac5aca801255e5ba5460ea09c88fc4573c1a7055
2021-07-26 06:55:34 -07:00
Manikanta Pubbisetty
14d38b77fb qcacmn: disable EXT grp irqs and drain TXRX during suspend
Any update to the SRNG TP/HP when the device is in low power
state would result in system errors. It is recommended to disable
EXT grp irqs and drain TXRX before sending power save enter command
to the FW. This will ensure that no interrupts are received while
in power save mode and as a result there wont be any HP/TP updates.

Change-Id: Ibf952bbc2c6d13fb3e4ca6b4845bc9cc887fa694
CRs-Fixed: 2883135
2021-03-11 19:41:34 +05:30