Currently Kbuild handles WLAN_CONFIG_OVERRIDE directives by writing
the overrides into a file and then including the file. This violates
one of the requirements of the Hermetic Build feature which forbids
modifying the source directory. This is also subject to a race
condition where multiple concurrent builds attempt to write to the
file in parallel, and one of the builds ends up consuming the
overrides from both builds.
To avoid these issues update the WLAN_CFG_OVERRIDE handling to no
longer use a file, but to instead just $(eval) the overrides.
Change-Id: Iac159228a82b0a8134e272ce63ed568050e8e6ae
CRs-Fixed: 2917351
KERNEL_SUPPORTS_NESTED_COMPOSITES := y is used to enable nested
composite support. The nested composite support is available in some
MSM kernels, and is available in all GKI kernels beginning with
5.10.20, but unfortunately is not available in any upstream kernel.
When the feature is present in an MSM kernel, the flag is explicitly
set in the kernel sources. When a GKI kernel is used, there isn't a
flag set in the sources. Therefore add logic to set the flag if we are
building with GKI kernel 5.10.20 or greater.
Change-Id: I13cd1a07915e9d187da22259cc61d9481e908e79
CRs-Fixed: 2914541
Update comments for temp change done to enable connection mgr, as
CONFIG_CM_ENABLE will be removed once Connection manager
LFR2 changes are done.
Change-Id: I22bc1f3f9fe5a69206ac496e99a60beb87dc1e36
CRs-Fixed: 2921657
Enable DUMP_REO_QUEUE_INFO_IN_DDR to send cache flush cmd
to REO using cmd: iwpriv wlan0 txrx_stats 34 0
Cache flush cmd will invalidate the h/w cache and ensure
that h/w writes to DDR.
In the cmd callback, the reo status tlvs are processed
and the vaddr of the reo queue desc is used to read the
queue information from DDR and dump it in the host driver logs.
Change-Id: I4521b777d13c490ac687f9ff673182262bc52f62
CRs-Fixed: 2899824
The current implementation of add-wlan-objs does not work correctly
with GNU Make 3.81 which is widely in use. So refine the function in a
manner that works with 3.81 as well as newer versions of Make.
Change-Id: Ic689367cccc16cf6ab23eeeb58665d84c5db3a26
CRs-Fixed: 2903606
Set system state in hif ctx to suspend or resume on
system suspend and resume respectively.
Change-Id: If1904a4fe5c861deed1b35071be10cb8cc8d6407
CRs-Fixed: 2899520
In Kernel 5.4/4.19, CNSS2 will check if the current enumerated
device id matches with the device id in pld_pcie_id_table[]
by calling cnss_wlan_register_driver(). When using ROME, the
enumerated id is 0x3e, but it is not defined in pld_pcie_id_table
if CONFIG_AR6320_SUPPORT is not set. To avoid this issue, add
compilation flag for CONFIG_AR6320_SUPPORT, then set it in your
qcacld build env for ROME chip.
Change-Id: I7b0fee679923402c43487299e31696d847552335
CRs-Fixed: 2906988
wlan_hdd_state_ctrl_param_create() creates a control file that is
used to synchronize the wlan driver with the Wi-Fi HAL in
userspace.
Currently the driver creates the file at the path /dev/<module>.
The WIFI_DRIVER_STATE_CTRL_PARAM configuration item defines the path
that the Wi-Fi HAL uses, and this is /dev/wlan.
So when the driver is built with a module name of "wlan" the file is
created at the expected path. However when the driver is built with a
different name, as is done when TARGET_MULTI_WLAN is enabled, the file
is not created at the expected path.
Therefore change the driver to always create the file at the path
specified in the WIFI_DRIVER_STATE_CTRL_PARAM configuration item.
In addition do not even enable the functionality if the
WIFI_DRIVER_STATE_CTRL_PARAM configuration item is not set
(i.e. on non-Android platforms).
Change-Id: I8a7f0a9b22e3f49d02f896150bd452f80af9c022
CRs-Fixed: 2905381
Remove all of the conditional compilation for pmf since this
feature is mandatory for future scope from protocol point
of view.
Change-Id: Id3a2127e9ecb343ad2a0354dcbc331c22167d7fb
CRs-Fixed: 2852630
This is to enable feature for detection CE tasklet
scheduling delay and credit response delay issue.
Change-Id: I659aa23eabaa28bfb11051bf15e0343c94061b86
CRs-Fixed: 2874867
A recurring issue is that, due to the large number of object files and
the long pathnames to those files, a build of the qca_cld3_wlan.ko may
fail with an E2BIG error. This can occur when a shell command created
by the build system exceeds the max size of a command that the shell
can handle. This usually occurs when linking all of the individual
object files into the final wlan.o.
Object files from the qcacld-3.0 project begin with:
<prefix>/vendor/qcom/opensource/wlan/qcacld-3.0
Object files from the qca-wifi-host-cmn project begin with:
<prefix>/vendor/qcom/opensource/wlan/qcacld-3.0/../qca-wifi-host-cmn
To shorten the qca-wifi-host-cmn paths add the following symbolic link:
qcacld-3.0/cmn => ../qca-wifi-host-cmn
With this in place object files from the qca-wifi-host-cmn project
will begin with:
<prefix>/vendor/qcom/opensource/wlan/qcacld-3.0/cmn
This will save 17 characters per qca-wifi-host-cmn object file.
Change-Id: I104afdc48e5335aa232bac988c4c652144cd4e58
CRs-Fixed: 2893361
Update default values of INI items to most commonly used values
in WCNSS_qcom_cfg.ini file on commercial devices.
Change-Id: Ibf1e22406951855a4e726fb8105913a53d3c33ee
CRs-Fixed: 2874758
As a result of long path names and a large number of source files,
combined with upstream kernel build infrastructure changes, the
qcacld-3.0 build may encounter E2BIG errors when linking the final
wlan.o. To address this problem support for nested composite objects
is being added to the kernel. Update the Kbuild with the logic
required to take advantage of the nested composite support.
Change-Id: Ic6748517a922fc03a43acab2b44133b37e02707a
CRs-Fixed: 2861273
Enable force wake recipe feature DEVICE_FORCE_WAKE_ENABLE
and disable the generic shadow register write feature
GENERIC_SHADOW_REGISTER_ACCESS_ENABLE.
Enable feature HIF_REG_WINDOW_SUPPORT to enable the
windowed register read/write from HIF layer.
Change-Id: Ic19d80b686639eb12a2e0a7c0ebf991740a576e7
CRs-Fixed: 2850592
Enable FEATURE_HAL_DELAYED_REG_WRITE_V2 support for Tx rings
register writes and QCA_OL_DP_SRNG_LOCK_LESS_ACCESS support
for Rx rings register writes, for moselle platforms.
Change-Id: I6b2469d22a37a097fa721269d311c0076c3b89a0
CRs-Fixed: 2873528
Pass a new flag to the Kbuild and add a compile flag
to enable the BUILD_TAG information.
Change-Id: Ic9bc331b64e7cbf627f5f99758f4d556328cda10
CRs-Fixed: 2865654
Currently the qdf_lro.o rule is not located with the other QDF_OBJS
rules, so relocate it so that all of the QDF rules are contiguous.
Change-Id: Ia4d6e133901af900d5f63208e14ac24501ac005e
CRs-Fixed: 2868050
Currently the definitions of the Direct Buffer RX component are
defined in the middle of the WMA component definitions. Relocate these
definitions so that the WMA definitions are contiguous.
Change-Id: I3f83b70a18131a84cb262840103e705862498bc4
CRs-Fixed: 2868049
Currently HTT_OBJS are added to OBJS when CONFIG_LITHIUM is not
enabled. An upcoming change requires that assignments to OBJS be
unconditional, so relocate the condition to wrap the assignment of
HTT_OBJS.
Change-Id: Ifdce8f5ab6b4597156341620ae101ee8be2b4afd
CRs-Fixed: 2868008
Currently HAL_OBJS are added to OBJS when CONFIG_LITHIUM is enabled.
An upcoming change requires that assignments to OBJS be
unconditional. Fortunately the assignment of .o files to HAL_OBJS is
already conditional upon CONFIG_LITHIUM so remove the condition from
the assignment to OBJS.
Change-Id: I0dd7ca874561ff6c6cd8ccfdae1775f6dcb9bf12
CRs-Fixed: 2868007
Currently FWLOG_OBJS are added to OBJS when
CONFIG_FEATURE_FW_LOG_PARSING is enabled. An upcoming change requires
that assignments to OBJS be unconditional, so relocate the condition
to wrap the assignment of FWLOG_OBJS.
Change-Id: I6b09d9dfa2553943d3bb4370dc1977106a14a7d5
CRs-Fixed: 2868006
Currently EPPING_OBJS are added to OBJS when CONFIG_FEATURE_EPPING is
enabled. An upcoming change requires that assignments to OBJS be
unconditional, so relocate the condition to wrap the assignment of
EPPING_OBJS.
Change-Id: I69f9b1b707c9475a393f89f2297e90e4ee8d1e5e
CRs-Fixed: 2868005
Currently DFS_OBJS are added to OBJS when
CONFIG_WLAN_DFS_MASTER_ENABLE is enabled. An upcoming change requires
that assignments to OBJS be unconditional, so relocate the condition
to wrap the assignment of DFS_OBJS.
Change-Id: I0c04087feb76c7fbbaa4231f1c36a83624e54482
CRs-Fixed: 2868004
Currently FWOL_OBJS are added to OBJS when CONFIG_WLAN_FW_OFFLOAD is
enabled. An upcoming change requires that assignments to OBJS be
unconditional, so relocate the condition to wrap the assignment of
FWOL_OBJS.
Change-Id: I103628406108b0ca1d8290f61e379c796a63bce5
CRs-Fixed: 2868003
Currently OCB_OBJS are added to OBJS when CONFIG_WLAN_FEATURE_DSRC is
enabled. An upcoming change requires that assignments to OBJS be
unconditional. Fortunately the assignment of .o files to OCB_OBJS is
already conditional upon CONFIG_WLAN_FEATURE_DSRC so remove the
condition from the assignment to OBJS.
Change-Id: I011aa37270b8024d2f558bdb18aac2a02e3c1026
CRs-Fixed: 2868002
Currently IPA_OBJS are added to OBJS when CONFIG_IPA_OFFLOAD is
enabled. An upcoming change requires that assignments to OBJS be
unconditional. Fortunately the assignment of .o files to IPA_OBJS is
already conditional upon CONFIG_IPA_OFFLOAD so remove the condition
from the assignment to OBJS.
Change-Id: I16217146d44b790298e47516c28e1ce6445ffed6
CRs-Fixed: 2868001
Currently PKTLOG_OBJS are added to OBJS when CONFIG_REMOVE_PKT_LOG is
not enabled. An upcoming change requires that assignments to OBJS be
unconditional, so relocate the condition to wrap the assignment of
PKTLOG_OBJS.
Change-Id: I34b9bea3186e5bda12e7ce0d8a1327383170b6c1
CRs-Fixed: 2868000
Currently HOST_DIAG_LOG_OBJS are added to OBJS when BUILD_DIAG_VERSION
is enabled. An upcoming change requires that assignments to OBJS be
unconditional, so relocate the condition to wrap the assignment of
HOST_DIAG_LOG_OBJS.
Change-Id: Icdf6898b848f682d9617537394651f533ba81553
CRs-Fixed: 2867999
Currently DISA_OBJS are added to OBJS when CONFIG_WLAN_FEATURE_DISA is
enabled. An upcoming change requires that assignments to OBJS be
unconditional. Fortunately the assignment of .o files to DISA_OBJS is
already conditional upon CONFIG_WLAN_FEATURE_DISA so remove the
condition from the assignment to OBJS.
Change-Id: I2130b8efe12e5366b40856704d62d000a4e474f4
CRs-Fixed: 2867998
Currently ACTION_OUI_OBJS are added to OBJS when
CONFIG_WLAN_FEATURE_ACTION_OUI is enabled. An upcoming change requires
that assignments to OBJS be unconditional. Fortunately the assignment
of .o files to ACTION_OUI_OBJS is already conditional upon
CONFIG_WLAN_FEATURE_ACTION_OUI so remove the condition from the
assignment to OBJS.
Change-Id: Icf1c4f061286e3ae88344b380deff4bf135143e1
CRs-Fixed: 2867997
Currently PKT_CAPTURE_OBJS are added to OBJS when
CONFIG_WLAN_FEATURE_PKT_CAPTURE is enabled. An upcoming change
requires that assignments to OBJS be unconditional. Fortunately the
assignment of .o files to PKT_CAPTURE_OBJS is already conditional upon
CONFIG_WLAN_FEATURE_PKT_CAPTURE so remove the condition from the
assignment to OBJS.
Change-Id: If9083c5ba382e1ae1a638b77e12437a707b69073
CRs-Fixed: 2867996
Currently FTM_TIME_SYNC_OBJS are added to OBJS when
CONFIG_FEATURE_WLAN_TIME_SYNC_FTM is enabled. An upcoming change
requires that assignments to OBJS be unconditional. Fortunately the
assignment of .o files to FTM_TIME_SYNC_OBJS is already conditional
upon CONFIG_FEATURE_WLAN_TIME_SYNC_FTM so remove the condition from
the assignment to OBJS.
Change-Id: I57fd2c08f6c732018d50a232156e3b29c0fac285
CRs-Fixed: 2867921
Currently UMAC_GREEN_AP_OBJS are added to OBJS when
CONFIG_QCACLD_FEATURE_GREEN_AP is enabled. An upcoming change requires
that assignments to OBJS be unconditional, so relocate the condition
to wrap the assignment of UMAC_GREEN_AP_OBJS.
Change-Id: If3e3a97d39c7f347c2ff91bcd3db86675dcaa664
CRs-Fixed: 2867913
Currently UMAC_CRYPTO_OBJS are added to OBJS when
CONFIG_CRYPTO_COMPONENT is enabled. An upcoming change requires that
assignments to OBJS be unconditional, so relocate the condition to
wrap the assignment of UMAC_CRYPTO_OBJS.
Change-Id: I28ca48d6876307814ce440a3fe53cb8f8df1d42f
CRs-Fixed: 2867906
Currently DP_OBJS are added to OBJS when CONFIG_LITHIUM is enabled.
An upcoming change requires that assignments to OBJS be unconditional.
Fortunately most of the assignments to DP_OBJS are already protected
by this feature. Update the logic so that all of the assignments are
protected, and remove the condition from the OBJS assignment.
Change-Id: Icc7d015831d8940bf1d91335be1439a70965801f
CRs-Fixed: 2867900
Currently hal_rx_flow.o is assigned to DP_OBJS, but since this is a
HAL file, change the assignment to HAL_OBJS.
Change-Id: Ie7c56300d3dd60b52305b5b3c7ace58c6e8cdb57
CRs-Fixed: 2867882
Currently TXRX3.0_OBJS are added to the OBJS aggregation only when
CONFIG_WLAN_FEATURE_DP_RX_THREADS is enabled. However only one of the
object files, dp_rx_thread.o, should be controlled by that feature.
Update the logic to conditionally add dp_rx_thread.o to TXRX3.0_OBJS,
to encapsulate all TXRX3.0_OBJS assignments within CONFIG_LITHIUM,
and unconditionally add TXRX3.0_OBJS to OBJS.
Change-Id: I6ceeafeab43a960277a1870daff5566288199ada
CRs-Fixed: 2867843
There are currently two different places where ol_txrx_event.o is
added to the final target object list. As part of ongoing Makefile
cleanup consolidate these to a single location.
Change-Id: Id342ae771830f5fd4d65c6c5523c36f1e50bc941
CRs-Fixed: 2867841
To make it generic, rename the flag QCA_WIFI_NAPIER_EMULATION
as QCA_WIFI_EMULATION.
Change-Id: I8e654262a38a7a701a5a34e2bbd5394c8985c65a
CRs-Fixed: 2871313
Decouple BW monitor from WDI3_STATS_UPDATE and add as a
separate feature flag WDI3_STATS_BW_MONITOR.
Change-Id: I77fb5658d995daceaada6a7d64f669da706ead9c
CRs-Fixed: 2868582
Host moves hlp info from csr session to mlme priv object. Modules need
hlp info now use hlp info from mlme priv object
Change-Id: Ieffa749635239f72337af685707acccfd666a58a
CRs-Fixed: 2862315
On third party platforms. there is no crashdump.
Such logs are helpful for analysis of crash issue.
For debuging purpose, dump wmi cmd/event/credit
record history when PLD_FW_DOWN event is received.
CONFIG_DUMP_LOG_BUF_CNT is used to limit the number
of logs. it's 0 by default on the platforms like LA
where crashdump is available.
Change-Id: I136e39322b32ff43b88765f390a7393432ca7daa
CRs-Fixed: 2857691
As for msm-4.14, it has kernel panic with API
request_firmware if not provide wlan_mac.bin.
So in order to fix search wlan_mac.bin failure
issue, export one feature flag to disable
updating wlan mac address from wlan_mac.bin,
which should be feasible for different target
Change-Id: I6a50288c90229e6edbc10b543aec443828310d68
CRs-Fixed: 2850309