Add changes to support new definition of
send_roam_scan_offload_mode_cmd() in connection manager.
Change-Id: Iea10907756ea785b0b0de72d01375f50ac3dbd6a
CRs-Fixed: 2758318
SKB frag debug framework is required for debug purpose of frag based
approach in monitor mode
Change-Id: Ic7a5a2c3d7397c4d7dd2c5db32802b0f694e6101
CRs-Fixed: 2736136
In defconfig build(QDF_LOCK_STATS = 1 for slub debug enabled) increase
spin lock bh max time allowed to 2 seconds to accommodate for cache thrashing
and slow execution because of many debug features getting enabled.
Change-Id: I817d63a264079d25fed8a7ba1dbd9db5391abcdd
CRs-Fixed: 2754993
Introduce the feature to hide 2nd, 3rd and 4th octet of the
MAC address in the logs.
To enable this feature set CONFIG_WLAN_TRACE_HIDE_MAC_ADDRESS to y.
For example, if this feature is enabled, then
mac address ae:45:9c:f1:c0:98 shall be printed as ae:**:**:**:c0:98
If this feature is disabled, then QDF_MAC_ADDR_FMT translates to
"%pM".
Change-Id: I7b3823d33748120b0fa5eb372f7957de59760536
CRs-Fixed: 2751002
Replace the lim_default_hmac_sha256_kdf() & lim_create_fils_rik()
API with crypto API since both these API are primarily for
cryptographic derivation of re-authentication integrity key(rIK)
Use the new crypto APIs qdf_default_hmac_sha256_kdf(),
wlan_crypto_create_fils_rik() for this.
Change-Id: I1c8f38ee0124b8b3eb527d4b01d39add134e181b
CRs-Fixed: 2752635
Currently in_use and unmapped flag from rx_desc can not know is
the rx nbuf has done IPA smmu map/unmap accurately.
add rx nbuf IPA smmu map/unmap flag in qdf_nbuf_cb, and use
this flag to check if IPA smmu map/unmap need to be done or not.
Change-Id: I19bbc6cc69ba752ef7c58d41fbe26299ca96d29e
CRs-Fixed: 2731313
Implementation of QDF API to allocate skb to avoid recycler pool
and extending skb debug framework support.
QDF API: qdf_nbuf_alloc_no_recycler
Change-Id: I32ccae7337000c899e8fba8127aa9fb3c8551783
CRs-Fixed: 2734717
Currently for qdf trace api data type of code is uint8_t, some of
the modules are inserting message id of type uint16_t because of
which some information is getting lost and post processing cmm
script is not able to parse these messages correctly.
To address above issue, change the data type of code for
qdf trace function.
CRs-Fixed: 2719767
Change-Id: I4461dc9c2f45e691317d318870dfdbce93929e12
Add QDF API to check platform capability if DRV is supported or not.
Then component enables wow support based on it.
Change-Id: I9045b1982acfc4ed4cdce724b48430cb20e03274
CRs-Fixed: 2722639
Adding support for iot_sim drop operation.
Drop operation will be handled in Rx direction.
Change-Id: If2e1c9663a69fcd16715cdd1d28639a388ea1c0c
CRs-Fixed: 2686309
In driver there are multiple implementations to read the number of
1's set, have a generic qdf implementation to get the same.
Change-Id: Idf769c221b33e867720943fb8c42158edd9600de
CRs-Fixed: 2716525
Add logs in driver to log current memory footprint
in init functions. Add wlan_mem_stats to sysfs node
in both perf and defconfig builds.
The stats are included under MCL feature
DCONFIG_WLAN_SYSFS_MEM_STATS.
Change-Id: I79c6d418a5762cddf52ab3bc0b0c93993fa7fd84
CRs-Fixed: 2635192
According to Kernel comment, no one checks the return value of routines:
debugfs_create_u8
debugfs_create_u16
debugfs_create_u32
debugfs_create_u64
debugfs_create_atomic_t
so remove return value of related qdf api.
Change-Id: I7d260bccfce463dddae963c54a776813df116eac
CRs-Fixed: 2666506
The packet tx complete status from wlan fw define in htt_tx_status
doesn't match with packet trace feature used in qdf_dp_tx_rx_status,
Meanwhile A_STATUS also doesn't convert to correct qdf_dp_tx_rx_status,
so add two according APIs to fix it
Change-Id: Ic250175dd270632f40af14ad9499ddcafbb3033b
Add qdf API to check if a given bitmap is empty and API to compute
bitwise AND operation of two given bitmaps.
1. qdf_bitmap_and
2. qdf_bitmap_empty
Change-Id: Ibc26e0f515c3804f1b627e8eaa8bf6f796c40324
CRs-Fixed: 2635330
For WLAN_CRYPTO_OMAC1_OS_DERIVATIVE and
WLAN_CRYPTO_GCM_OS_DERIVATIVE set use QDF API to calculate MIC
Change-Id: I5971eb39414a292534981753805df6d9beb54be0
CRs-Fixed: 2664275
Fix the skb leak in dp_rx_process where rx descriptor cookie
validity fails. This skb should be cleaned up as part of the
rx desc and nbuf free function called during the driver unload.
However this will ensure that the skb released and added rx desc
added to the free list during dp_rx_process itself.
Add skb map, unmap functions, line numbers and if the nbuf is
mapped or unmapped to the nbuf tracking table. This debug info
will be logged once the skb is leaked.
Change-Id: I52dbf38922be20fc0aaea380e0e572af16de773e
CRs-Fixed: 2662992
The parameter info is not updated in the
doc for qdf_bitmap interface.
Update the parameter info in the qdf_bitmap interface.
CRs-Fixed: 2660881
Change-Id: I4292d5563c2f92c42673098d7d87385d2b9be113
The delayed register write enqueue fills a queue element
with the required data which can be dequeued in a workqueue
running on a different CPU. Since these operations are not
lock protected, there can be stale value access when memory
write has not been flushed to the actual address.
Using write memory barrier before setting the valid flag for
a queue element will make sure that the dequeuing worker
thread will always see the updated values if the element valid
flag is set and thereby avoid any race condition.
Change-Id: I81b0735f0fb39599095ad309157020c691e25a0b
CRs-Fixed: 2665576
Add qdf wrapper for function dmac_inv_range. This
invalidates the specified virtual address range.
Change-Id: Ia3f92cb5136dbdbfea1e9cda8a52b474456a4e0a
CRs-Fixed: 2634679
The bitmaps used in the driver are defined either as a single
or array of unsigned longs or some other types.
The bitmap variable size is different based on the platform(32/64 bit),
for unsigned long types.
Add support to have a platform agnostic consistent bitmap size
using the Linux provided interface for defining bitmaps.
CRs-Fixed: 2660881
Change-Id: I901778625ef9aaccc994d914c8adf98fbffeb980
Since netdevice name retrieval is tied to OS,
move it to qdf OS layer instead of doing it
inside CFR ucfg layer.
Change-Id: Ia9dcbdf56bcb36a1f0788be9964ea87fdf5beb3f
CRs-Fixed: 2643682
Update QCA_NAPI_DEF_SCALE_BIN_SHIFT for defconfig builds to
the same value as the perf build.
Move the WLAN ext irqs to gold cores for defconfig builds.
Disable cpu isolation before moving the IRQs to gold cores.
Add the ability to move IRQs to gold cores when the cpus
hotplug in.
Change-Id: I4cfecd02a1a2200dc99adee9a324b90c877c13fd
CRs-Fixed: 2638820
As part of the hang event data population by various TLV format
is used, define tags for all the modules which can be used
while populating the data.
Change-Id: Ie9c53a8781a902ad687a78d1333053b6fae67021
CRs-Fixed: 2651729
As part of the new requirement to understand the reason for the
wifi hang the data need to be collected from the required modules
which will help in root-causing the reason for the hang.
Add the infrastructure so that the required modules can register for
this hang event notifier chain.
Change-Id: I32f1365eec1ad7d6e19be95e8faf9a980d054b76
CRs-Fixed: 2648304
Notifier chains are simple function list executed when an event
occurs. In qdf block and atomic notifier chains are defined.
Blocking notifier chains can be used to invoke a list of functions
based on event in a process context wherein atomic notifier chain
can be used in an interrupt context.
Change-Id: I9020b9f19915e084b017932fb6d0bfad792d745c
CRs-Fixed: 2648224
Presently, the reason codes for driver to trigger recovery on are
limited in their scope; most of the scenarios are not correctly
capture.
Add new reason codes to cover all the possible scenarios where the
driver has need to trigger recovery.
Change-Id: Ia257855bc30cd0bc7e81b9d0e21e4b84427d546b
CRs-Fixed: 2630951
To undergo self recovery, the driver uses qdf_trigger_self_recovery to
initiate the sequence. Currently, this framework is valid for only a
single psoc driver.
Extend this framework to include support for multiple psoc driver by
providing the psoc on which the recovery has to be undertaken.
Change-Id: I782b505c03819223a914dabe7673b369aa175b7c
CRs-Fixed: 2617707
Add qdf API support to check if the packet should be
tracked as per the configured protocol types.
Change-Id: Ia9e937865d3d440f1350307a67e32b20ea218e54
CRs-Fixed: 2642156
Currently QDF_MAX_NUM_CHAN and NUM_CHANNELS aren't aligned, this unalignment
may cause many potential OOB access. So replace QDF_MAX_NUM_CHAN with
NUM_CHANNELS to keep unified.
Change-Id: I7bf7829d776f7caf5b2afbd2c9fd0c20d608e630
CRs-Fixed: 2644073
Stream file system is wrapper for Relayfs - a Linux specific feature,
which provides efficient method to indicate data to user space. It
depends on qdf debugfs APIs. This feature is protected with
compilation flags WLAN_STREAMFS and WLAN_DEBUGFS.
Change-Id: I1401112ece290e6d0560623cf10faaf498ebb1b7
CRs-Fixed: 2635481
Modify the qdf_get_pkt_type_string API to return
the packet type in case the packet does not fall
under the tracked packet subtypes and also increase
the rate limit values for EAPOL and DHCP packets.
Change-Id: Ie9681be64572346a09529043ef38dd57338700bb
CRs-Fixed: 2636540