added a new API to get partner soc by passing chip_id
while adding and deleting flow entry.
Change-Id: Ib1d8c0dedb8e11d164f00791e59cf52ef8332cb5
CRs-Fixed: 3508805
Support for setting and clearing the IRQ_DISABLE_UNLAZY flag
during registering and freeing of PPEDS interrupts respectively.
Change-Id: I4a512e434315d2c981e890661adb5686bdb563bc
CRs-Fixed: 3509601
Move prealloc DP descriptor types to QDF so that
the macros can be used in HIF layer.
Change-Id: I3de60876735e5aa37d80e9e698a86503b18574c1
CRs-Fixed: 3502615
Currently the CMEM allocation code is duplicated
for Cookie conversion and FISA.
Cleanup the CMEM allocation code.
Change-Id: Ifdb912fe464abaa7be0ab8b2294155984dbd662e
CRs-Fixed: 3504668
In WBM2SW Rx Error path for BE
specific functionality
1) HAL API's/Function pointers are replaced
with specific function calls.
2) Efficient read/write of WBM Error Info
from HAL Rx desc.
3) Minimize reading data from Nbuf TLV.
4) Peer_id fix for MLO clients with security
Change-Id: I1c9e6e767bbf6565567d998ae8e1357398de5803
CRs-Fixed: 3486304
Logs without meaningful message or values serves no purpose in debugging.
Hence, add more context to the logs.
Change-Id: Ia463d239a9bf26f292a11bcc71cb1379374c45e4
CRs-Fixed: 3492593
With Single Netdev Unified and Hybrid Mode,
the calculation of vdev stats is changed as
per the mode. For LI platforms the path
to get vdev stats is still same while for
BE the vdev stats config path is different.
Introduced Arch ops to handle this diversion.
Change-Id: If4f0f49e78d35126942cd3f1872a5856e4d0f5ba
CRs-Fixed: 3482567
Add vdev stats support for DP MLO Unified
and Hybrid Mode.
Add new CDP API for getting vdev stats for
NON_MLD interface.
Add support to get vdev stats for specific
vdev which is a part of MLO.
Change-Id: I72c8b25958649d473e1b65cee21810cd86951187
CRs-Fixed: 3455607
Currently QCA_MONITOR_2_0_SUPPORT macro is used for both TX and RX 2.0.
but on MCC side, only RX 1.0 is supported and as part of this feature
TX 2.0 need to be supported.
Enabling QCA_MONITOR_2_0_SUPPORT will enable both RX 2.0 and TX 2.0, but
to support RX 1.0 and TX 2.0, we need to separate out code under
QCA_MONITOR_2_0_SUPPORT to TX and RX 2.0 macro.
As part of this change, introduce separate macros for TX 2.0 and RX 2.0
and move the common code under both macros.
Change-Id: I7ef7e488800934291538a0bca9acd21e28901214
CRs-Fixed: 3415740
As ppe_ds is not supported on QCA5332 platform, in
case of MLO peer always setup ppe peer using primary
peer
Change-Id: Icd05b69c07c05fe2fc793f49fcf28b5d58bc8bb6
CRs-Fixed: 3480359
In WBM2SW Rx Error path for BE
specific functionality
1) HAL API's/Function pointers are replaced
with specific function calls.
2) Efficient read/write of WBM Error Info
from HAL Rx desc.
3) Minimize reading data from Nbuf TLV.
4) Peer_id fix for MLO clients with security
Change-Id: I760694073a06c1829f28e7e92cd1657560d8eb06
CRs-Fixed: 3472220
MC/BC frames are routed to FW ring based on routing config for MC/BC
data as SRC: FW2RXDMA and DST: RXDMA2DFW.
Data offload features in FW will take care of routing the MC/BC frames
to FW in both active and low power modes.
Make this change only for kiwi/peach using hal ops.
Change-Id: Id8665261a512c9db3e808f95082ff82b47f01ade
CRs-Fixed: 3464036
In WBM2SW Rx Error path for BE
specific functionality
1) HAL API's/Function pointers are replaced
with specific function calls.
2) Efficient read/write of WBM Error Info
from HAL Rx desc.
3) Minimize reading data from Nbuf TLV.
Change-Id: Ic8793ffcbeb2411c9b81fb32acae062e8a1f40cc
CRs-Fixed: 3362828
ppe2tcl and Umac reset interrupts need dedicated irq lines.
Hence, group some of the existing dp groups togeather
to share MSI lines to make space for ppe2tcl and Umac reset
dedicated irqs.
Change-Id: I5181caeaeb4d0107b62e7ac812c2f829fd8215a2
CRs-Fixed: 3423553
MC/BC frames are routed to FW ring based on routing config for MC/BC
data as SRC: FW2RXDMA and DST: RXDMA2DFW.
Data offload features in FW will take care of routing the MC/BC frames
to FW in both active and low power modes.
Change-Id: I09395978f890d9a23564bef4f974971f6de175df
CRs-Fixed: 3427204
Add support to send RX stats when Direct switch is
enabled. For WDS extended mode get the stats from
peer object, else take it from vdev object. These will
be accumulated by PPEDS module
Change-Id: I1f73c50679c416536cfc1ebaaeaec9b307e8bf56
CRs-Fixed: 3421251
Currently dp_soc_init/deinit API's are called first for
common soc initialization/deinitialization and then architecture
level init/deinit APIs are called from base dp_soc_init/deinit.
But with RHINE architecture dp_soc_init/deinit API's are not common,
so we cannot call these APIs as base. To handle this scenario
routing all the soc level init/deinit from arch ops APIs and
arch ops APIs will take care of calling common soc_init/deinit.
Change-Id: Ibb10d452931630c917088b4d222c7fbd82621f6a
CRs-Fixed: 3404205
1) Enable MLO Link Stats Support
2) Add Stats counter to capture Invalid Link ID
3) Fix the FW Recovery crash while ol_stats
disable.
Change-Id: I1b5263ae024579c5ec2018f8082f0d03ffdf0030
CRs-Fixed: 3431319
Currently, HW cookie conversion is enabled
for the WBM ring dedicated to IPA during
optional wifi datapath feature. IPA does
not need HW cookie conversion hence disable
it for this ring when the feature is enabled.
Change-Id: I84ecfa54c87f41f1be5202280c450bdfaeebd4ac
CRs-Fixed: 3437556
WCN6450 is a chip based on Rhine architecture. Unlike LI/BE targets,
chipsets based on Rhine (RH) do not have host facing UMAC HW blocks.
Their corresponding SRNG interfaces are also removed. The functionality
of these UMAC HW blocks is replaced with a software implementation in
the firmware. Communication between the driver and firmware will happen
over copy engine (CE).
Although there are no host facing UMAC HW blocks, the CE hardware used
in WCN6450 expects the host driver to use the TX descriptor (HW) format
of LI targets during TX packet enqueue. Therefore it is required to
create a new pool of TX descriptors (HW) pool for WCN6450 that is used
during TX.
The logic to create/free/init/deinit these descriptors is specific
to WCN6450/Rhine, therefore it is implemented in architecture specific
Rhine code.
Introduce new APIs in struct dp_arch_ops {} to allocate and free
arch specific TX descriptors. These ops will be no-op for LI/BE
architectures.
Also for Rhine targets, allocate/free other TX descriptors like TX EXT &
TSO descriptors as part of the arch APIs.
Change-Id: I452ac69143395881ab8580355a0f75571dc3e929
CRs-Fixed: 3381711
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
For WDS ext mode in MLO cases, all the link peers
should get the the newly created VP as src info
for DS peer routing.
Change-Id: I0811f9403819c3ed204799e167994ecb3d60cf96
CRs-Fixed: 3425239
On FW recovery, do not allocate a new VP and use
the existing profile to setup DS VP
Change-Id: I330613fa104c51becc1018750edf91d8055edb01
CRs-Fixed: 3427382
Add support of HW Link ID in PeerMetaData.
Retrieve the HW Link ID in both Rx per packet
path and RX Error path, store it in nbuf cb.
Use the stored value from nbuf while updating
MLO peer link statistics.
Change-Id: I11596d44fe8557af568fd399d0c0a04d2b887b2a
CRs-Fixed: 3397721
Reuse the tx descriptors released in tx completions
without releasing the associated skbs to reduce
the cpu utilization in direct switch mode.
Change-Id: I4ab3ac58977a626344877b8a818a4dbc4864aaf3
CRs-Fixed: 3393968
1. Maintain and fetch PPEDS profile from be_soc instead of be_vdev
2. Enable WDS EXT mode for Direct Switch
3. Provide cdp API's and structures to interact with osif
layer to get PPEDS profile info
Change-Id: I997126e3b5ae85dabdcd6053115927122b8681da
CRs-Fixed: 3404778
1) In WBM2SW Rx Error path, code to reap and
the process the HAL descriptor is split into
BE and LI architecture specific functionality
in dp_be_rx and dp_li_rx files respectively.
2) The function to handle Null Queue desc.
error for WBM and REO Rx Error path is split
into BE and LI architecture specific
functionality in dp_be_rx and dp_li_rx files
respectively.
Change-Id: Ic51a9742f65cee677ed7f3081f49fb3ece5b42f1
CRs-Fixed: 3356179
change allocation location for reo qref table.
per probe allocation results in mem alloc failure when
frame is fragmented
Change-Id: I5922bddebcd0577ba38734ae7d4194d726d825aa
CRs-Fixed: 3326520
Since MLD peer hash is the same for MPSTA and PSTA in QWRAP repeater,
skip this check for all WIN platforms.
Change-Id: I30fe7d8a6d1d24af841bcd21015e93f7bec6b2c8
CRs-Fixed: 3382276
Handler dp peer setup for non MLO case in BE specific
handler. This API currently deals with direct switch feature.
Change-Id: I6e26687e5e7e92108dfa0da782970f758fd1965e
CRs-Fixed: 3381234