Current if CONFIG_SCHED_WALT is disabled in kernel it is
resulting in compilation error.
So to fix the issue move the API under CONFIG_SCHED_WALT.
Change-Id: Ia720b3d707e0119e90c1cce8bf99590525a7f5ba
CRs-Fixed: 3599900
Add gwlan_logging structure to wlan minidump, when
WLAN_QCOM_MINIDUMP feature is enabled.
Change-Id: Ib9aef20854f50cdf5c1ff0c0acce857bed38a9a6
CRs-Fixed: 3599313
Add support for xmit type flag on skb->cb for tx packets. The field will
be used to update ingress stats to the respective indices
Change-Id: Ifad61a97b3424df90a2fe722f1c264678a67e949
CRs-Fixed: 3562152
Set "QDF_TRACE_LEVEL_WARN" as the default log level of
management Rx reorder module.
Change-Id: I846f706a06c0f4dc098ee281fc802dc7b1698aa2
CRs-Fixed: 3593922
Currently there is an issue wrt truncation in the __qdf_system_time_after()
& __qdf_system_time_after_eq() QDF APIs where the input system ticks
(jiffies) which are of type unsigned long are getting truncated due to
typecast to long before comparison. Due to this typecasting, there is
likelihood of a wrong comparison resulting in wrong actions being
taken in the caller.
Typecast the result of the comparison instead to fix this problem.
Change-Id: I4741d9606d9e3462b8dd4736e5612f4a3008000b
CRs-Fixed: 3591262
For some target like ROME, CE try to read more data than expected as
prefetch. For example in UDP TX case, when CE read a tx_desc(44 bytes)
located in host memory with SMMU mapped address 0x1025FFD4~0x1025FFFF,
SMMU will detect CE read beyond 0x1025FFFF to access 0x10260000. SMMU
fault will happen if 0x10260000 is not mapped to host memory.
To fix this issue, allocate contiguous dma buffer for all 1056 tx_descs,
which will map to contiguous SMMU address region.
CRs-Fixed: 3588459
Change-Id: Id0287b051f792f18d746baf39e1c66d076c9be3c
Remove QDF_TRACE_INFO_HIGH_NO_FL definition under
ifdef WLAN_LOG_DEBUG. QDF_TRACE_INFO_HIGH_NO_FL is added under
ifdef WLAN_LOG_INFO as a part of this change id
I879a9d917ff698aeb6b3e53a85c765a74a902b36.
Change-Id: If49c86432f2b3179ea097e7f1ee53e90a8b1adda
CRs-Fixed: 3586206
__qdf_nbuf_frag_alloc fallback allocation using alloc_skb slab
allocation, use GFP_KERNEL flag which is inclusive of
__GFP_DIRECT_RECLAIM. This will mitigate the allocation failures.
Change-Id: Ib852bf0f812839f0a99093855cebc928d0c79fd1
CRs-Fixed: 3585716
Modify wmi_nofl_info_high definition to print only if
QDF_TRACE_INFO_HIGH_NO_FL debug level is set.
CRs-Fixed: 3570322
Change-Id: I879a9d917ff698aeb6b3e53a85c765a74a902b36
Currently RX nbuf data pointer is reset considering
headroom reserve size of NET_SKB_PAD. So while reattaching
buffer back to H.W always data pointer is reset back to head plus
NET_SKB_PAD offset. But if skb is not allocated with head room
reserve then we should not reset data pointer taking NET_SKB_PAD
as consideration.
Fix this by pushing nbuf data pointer back to the state when
nbuf entered the host.
Change-Id: Ie96f99fdd92deaa921619a45cd5993a42f7b8f6e
CRs-Fixed: 3582873
Prepare and Send WMI command to fw to set the rf path. Also, add module
ID for rf path switch for qdf log prints.
CRs-Fixed: 3568221
Change-Id: I7ef0ffe66eaed837424699641d3e5b8537cd0304
When CONFIG_QCOM_IOMMU_UTIL is enable in vendor config, we have to
use new set of API's to get iommu domain attributes, and while using
__qdf_iommu_attr_to_os seeing compilation issue as some identifiers
like, QCOM_IOMMU_MAPPING_CONF_S1_BYPASS are not declare.
even when CONFIG_QCOM_IOMMU_UTIL is not enable we have dependency
on qcom-iommu-util.h file as it has some identfiers which are in use,
with or without CONFIG_QOM_IOMMU_UTIL.
Fix is to include the header file qcom-iommu-util.h which contains
the declaration of all the identifiers used in __qdf_iommu_attr_to_os
and this file is included if MSM_PLATFORM or QCA_IPA_LL_TX_FLOW_CONTROL
is defined.
Change-Id: I82b1c13717d377a5ec4bcb74ff94f4d15fa1f638
CRs-Fixed: 3487912
Currently, there are no statistics whatsoever present in WBUFF module.
To start with, add some basic statistics to the WBUFF module.
Change-Id: I63c06cfb8b1430b2e86539f88025e6d74a00012b
CRs-Fixed: 3548509
SKBs that are allocated using __netdev_alloc_skb() share a single
page frag cache that is maintained in the network layer and is
common for all network drivers/devices. There is always a chance
where memory can be fragmented when the WLAN driver shares a page
frag cache with other slow network devices. Over the time, lot of
memory would be wasted due to fragmentation eventually resulting
in SKB allocation failures due to OOM.
To circumvent this, define a QDF NBUF allocation API which accepts
custom page frag cache maintained in the driver as an input and
allocates memory for skb->head from the custom page frag cache.
Such an API will be of great help when used for allocating reusable
SKBs in the driver. This also avoids the aforementioned memory
fragmentation issue.
Change-Id: I33f3096bba4057fd06ef55bbed5dc7a3f0f5c759
CRs-Fixed: 3543424
qdf_walt_get_cpus_taken under WALT_GET_CPU_TAKEN_SUPPORT feature
flag to avoid compilation failure on branch where changes is not
present.
Change-Id: Iddcc777a476e41cd20fa0ff40ad2dd80af0748ef
CRs-Fixed: 3559247
It adds a set of frag way allocation APIs explicitly.
IPA Tx nbufs change to frag way allocation API, which saves memory.
Current __qdf_nbuf_alloc changes to non-frag way allocation by
default if SKB RECYLCER not defined.
Change-Id: I5f87ffac54c49f9af920775c13b6dfdd147476dd
CRs-Fixed: 3534452
Add missing nbuf_count updates in qdf APIs which are used
for keeping track of nbufs in debug mode.
Change-Id: If031ec8860513dddb1704a75e4761ce14aa26f21
CRs-Fixed: 4728458
-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
Add support for filling fast_xmit in SKB for platform
which support skb_recycler feature.
Add a QDF abstraction to update fast_xmit in skb, when it is supported.
Change-Id: Ibc562023ddeb0bf5c2709bbb60b596676c932b5a
CRs-Fixed: 3522028
The TX_NBUF_CNT never decreases, which is an incorrect debug info.
We should decrease dp_tx_skb_count when nbuf unmap.
Change-Id: I3be63047f47305c5d24c5c40696e1c6db69ec4d6
CRs-Fixed: 3508530
Currently connectivity logging is done for all opmode
but logging should be done only for STA mode.
So to fix the issue add check for opmode and skip
connectivity logging if opmode is not STA
Change-Id: Ie6175a02c8167f5ebfd81553837206640431f701
CRs-Fixed: 3515365
qdf_usecs_to_log_timestamp() was returning the remainder value
of do_div operation instead of the quotient. Now fix has been
made to return the correct value.
Change-Id: I6c7041b4a837b311f63616aff23bf2a20dbe7adb
CRs-Fixed: 3471529
Currently radiotap header is malformed due to incorrect
tx flags update.
This change is update tx flags properly to prepare radiotap
header.
Change-Id: I0d3205b215c9fc363a71c4e7a6b54e40fb10a966
CRs-Fixed: 3442934
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
On some third-party platforms, we observe the memory physical
address below 0x2000 is allocated will cause HW/FW NOC error,
so this region memory should not use by host.
This change will hold the memory if the allocated memory physical
address below 0x2000 until driver unload.
Change-Id: I37b6abc98033230dc4f572dafb849101497f6e93
CRs-Fixed: 3419648
Kernel 6.0 and above has deprecated the use of
topology_physical_package_id() and instead of this
API topology_cluster_id() needs to be used to get
the cluster ID of a given CPU.
Add QDF abstraction API for topology_cluster_id().
Change-Id: I4ca555c016730afc6cac2a4bf55d9f48c6f4cae0
CRs-Fixed: 3488031
Diag logging is used for logging datapath event such
as EAPOL and DHCP events
Remove legacy logging mechanism for datapath events
Change-Id: I8a987c1a4ab9954c7662e2f76e7904b02619f661
CRs-Fixed: 3470476
-Support to route IGMP packet to correct netdev coming from
legacy and mld sta.
-Support to detect mld model based on ini setting
Change-Id: I10ea5af9a4315642b262c8404d7bebd88ee06ab1
CRs-Fixed: 3467808
qdf assert always, assert without debug information.
Added support to dump needed information before assert.
Change-Id: I19898ec11c1bade4340cf1737a760d9507012f12
CRs-Fixed: 3480596
Add new QDF APIs to handle gpio, irqf and timer related
handling in TSF feature.
Change-Id: Iff6f85c6debe351c5533906559400b4a51333d4d
CRs-Fixed: 3469020