Commit Graph

948 Commits

Author SHA1 Message Date
Karthik Kantamneni
d16c504bf9 qcacld-3.0: Increase QDF nbuf history for Lithium targets
For some of the stability issues triggered by H.W,
by the time host detects it most of the QDF history
is getting overwritten to avoid this increasing QDF
nbuf history. So that there will be less chance of
events getting overwritten.

Change-Id: Ia4bad1a175976af2e56126b56ae8c92a988e4289
CRs-Fixed: 2942868
2021-05-12 20:57:44 -07:00
Yeshwanth Sriram Guntuka
2294dad9ba qcacld-3.0: Enable config flag to disable EAPOL intrabss fwd
Enable config flag to disable EAPOL intrabss fwd for Lithium

Change-Id: I23959e38b5cbd845d369bebd6913150eca4551bf
CRs-Fixed: 2876353
2021-05-12 18:42:14 -07:00
Karthik Kantamneni
5f7a749e92 qcacld-3.0: Enable TX HW descriptor history support
Enable TX HW descriptor history support for Lithium targets

Change-Id: I84c079cb28f0e320de5378291a21263b8417372f
CRs-Fixed: 2934910
2021-05-10 09:02:51 -07:00
Gururaj Pandurangi
8d62ca99ce qcacld-3.0: Avoid obj mgr logging on console for MCC
Avoid obj mgr logging of get ref API print on console
for MCC as it leads to excessive logging and assert.

Change-Id: I75fb9381a7c122f4d7701888da35c7e38836250e
CRs-Fixed: 2941196
2021-05-07 22:53:43 -07:00
Vevek Venkatesan
99c942c15d qcacld-3.0: enable Tx descriptor history in Tx and comp rings
Enable the history support to log Tx descriptors programmed
in Tx and completion HW rings.

Change-Id: I5ce308354714da78baa05500bc73e1a9ec91b958
CRs-Fixed: 2935363
2021-05-06 13:49:36 -07:00
Alan Chen
cb5605b006 qcacld-3.0: Increase periodicity of LOG_DEL_OBJ_TIMEOUT_VALUE_MSEC
obj_mgr_alert() function is currently used in
wlan_objmgr_iterate_log_del_obj_handle() to print and is causing
spinlock to be held too long and timing out. Thus, increase the
periodicity of LOG_DEL_OBJ_TIMEOUT_VALUE_MSEC to 10 seconds.

Change-Id: I48a7b2ce031393493b9d19c9dd365a725c60284e
CRs-Fixed: 2930279
2021-04-24 11:38:17 -07:00
Amruta Kulkarni
fb99dd2375 qcacld-3.0: Remove target specific compilation
For api's in wlan_hdd_rx_monitor.h, replace target
specific conditional compilation with feature specific
conditional compilation.

CRs-Fixed: 2819131
Change-Id: I2678192ad5dbb1a4515bd04e67ca23f71f92a2d1
2021-04-23 12:54:32 -07:00
Karthik Kantamneni
78bc206db0 qcacld-3.0: Enable REO queue descriptor history
Enable REO queue descriptor history for Lithium based targets

Change-Id: I452726ceb056e880096f72572e562a2d4db7e3b3
CRs-Fixed: 2929956
2021-04-23 04:35:48 -07:00
Yeshwanth Sriram Guntuka
81d513134f qcacld-3.0: Enable TX_AGGREGATION_SIZE_ENABLE for HST
Tx MPDU aggregation is not happening in HE80 11ax connection
resulting in low throughput for HST.

Fix is to enable TX_AGGREGATION_SIZE_ENABLE for HST.

Change-Id: Ieca8464991a6a194d6f02b70fe4972aca288b541
CRs-Fixed: 2925514
2021-04-22 19:43:09 -07:00
Jia Ding
30a01d3b69 qcacld-3.0: Add IPA_WDI3_TX_TWO_PIPES macro
IPA_WDI3_TX_TWO_PIPES is added to enable two TX pipes
configuration for IPA WDI 3.0 interfaces.

Enable IPA_WDI3_TX_TWO_PIPES on sdxprairie platform.

Change-Id: I34fe0af56b169ebad9d7bb29b38838dd44503736
CRs-Fixed: 2750082
2021-04-22 15:25:17 -07:00
bings
b9aa44c349 qcacld-3.0: make CONFIG_CNSS_UTILS as wlan driver build option
CONFIG_CNSS_UTILS is controlled in the msm kernel config, while it is
not in the customer kernel.

Since it is a wlan feature, make CONFIG_CNSS_UTILS as wlan driver build
option, so that driver can enable this feature dynamically when building
wlan driver.

Change-Id: Ib8232a67da33e4613524c67cead5b90014fd371d
CRs-Fixed: 2922303
2021-04-19 13:32:12 -07:00
Bapiraju Alla
83da7ae1f1 qcacld-3.0: Increase latency detection timer timeout and threshold
Currently latency detection timer timeout and threshold values are
used as 2 and 1.9 seconds respectively. After going through few
issues, 2seconds found to be too aggressive and hence increasing
these values to 4 and 3.9 seconds respectively.

Change-Id: Ie9314b517a7a8e47460effc86e5b3fb939dcbb33
CRs-Fixed: 2921474
2021-04-19 09:35:57 -07:00
Arun Kumar Khandavalli
061fe45f3c qcacld-3.0: update the eht capabilities received from firmware
Update the wma structures with the eht capabilities received
from the firmware.

Change-Id: If571ab857e1f71b972655d9d48902b28e3974b1e
CRs-Fixed: 2911863
2021-04-19 00:52:34 -07:00
bings
9c55e8a7d9 qcacld-3.0: Add APIs to update 11be target capabilities
As part of 11be enhancements, firmware will send the 11be hardware
capabilities that are supported by the device. Add new HDD APIs to
store these 11be capabilities in the host driver.

Change-Id: Ib3baa41ea3d8ef2ce49b88e4b48d8bc29556cd66
CRs-Fixed: 2908045
2021-04-15 22:52:14 -07:00
Mohit Khanna
73a1e0a529 qcacld-3.0: Record pkt history in fisa path
Record per packet history in FISA aggregation path.

Change-Id: I737481343f6c8d19deb57d39adb64f3a10f7d6f7
CRs-Fixed: 2911868
2021-04-14 22:11:36 -07:00
Jeff Johnson
8ccb229505 qcacld-3.0: Kbuild: Update WLAN_CFG_OVERRIDE handling
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
2021-04-13 14:50:40 -07:00
Jeff Johnson
1098e249a8 qcacld-3.0: Enabled nested composites on supported GKI kernels
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
2021-04-13 01:30:58 -07:00
Abhishek Singh
aad0c30f20 qcacld-3.0: Update comments for temp change to enable connection mgr
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
2021-04-13 01:30:33 -07:00
Amruta Kulkarni
810927615f qcacld-3.0: Enable CM feature
Enable connection manager feature flag on mainline.

Change-Id: Ice2d0ac61c770066510e666c1791500f1ce8f8ba
CRs-Fixed: 2913164
2021-04-09 07:33:23 -07:00
sheenam monga
2deb2fb93e qcacld-3.0: Add feature flag to support IGMP offload
Add Feature flag WLAN_FEATURE_IGMP_OFFLOAD to support
IGMP offload feature.

Change-Id: I3a58e66a4e323e03c6d32c02ac1b401f23eb9d3c
CRs-Fixed: 2916022
2021-04-07 21:52:00 -07:00
Nisha Menon
4df6282e58 qcacld-3.0: Enable feature to dump reo queue info in DDR
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
2021-04-07 01:21:48 -07:00
Paul Zhang
41ab8a6492 qcacld-3.0: Kbuild: Refine add-wlan-objs
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
2021-04-05 06:53:30 -07:00
Yeshwanth Sriram Guntuka
43a40f83b0 qcacld-3.0: Set system suspend/resume state in hif ctx
Set system state in hif ctx to suspend or resume on
system suspend and resume respectively.

Change-Id: If1904a4fe5c861deed1b35071be10cb8cc8d6407
CRs-Fixed: 2899520
2021-03-31 01:03:47 -07:00
Kuichu Ni
a3fcc82440 qcacld-3.0: Add compilation flag of CONFIG_AR6320_SUPPORT
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
2021-03-29 03:41:32 -07:00
Jeff Johnson
216957b430 qcacld-3.0: Decouple state control file from module name
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
2021-03-26 21:30:02 -07:00
Subrat Dash
5f7fb344cc qcacld-3.0: Kbuild: Add dp_txrx_wds.o to DP_OBJS
Add following build config options to enable WDS support.
* CONFIG_FEATURE_WDS
* CONFIG_FEATURE_MEC
* CONFIG_FEATURE_MCL_REPEATER

CRs-Fixed: 2894217
Change-Id: I3a97063be6317cbd4d65e0292deaef4116dbd433
2021-03-19 06:49:49 -07:00
Gururaj Pandurangi
9996bc7175 qcacld-3.0: Remove feature flag WLAN_FEATURE_11W for pmf
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
2021-03-18 00:39:42 -07:00
Jingxiang Ge
333dc4602d qcacld-3.0: Add detection for tasklet delay
This is to enable feature for detection CE tasklet
scheduling delay and credit response delay issue.

Change-Id: I659aa23eabaa28bfb11051bf15e0343c94061b86
CRs-Fixed: 2874867
2021-03-16 00:45:13 -07:00
sheenam monga
72c7917fa9 qcacld-3.0: Add support for big data stats
Add support of big data stats in the cpstats
component.

Change-Id: I3642035d9f25237c80b529da78c51bb1ccf0035a
CRs-Fixed: 2868949
2021-03-11 09:48:12 -08:00
Jeff Johnson
e5d65fc87b qcacld-3.0: Use symbolic link to reference qca-wifi-host-cmn
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
2021-03-10 05:23:06 -08:00
Alan Chen
073531fc1e qcacld-3.0: Update default values of INI items
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
2021-03-09 21:06:45 -08:00
Amruta Kulkarni
999081053f qcacld-3.0: Add new files for CM roaming
New files added for handling FW based roaming
in connection manager.

Change-Id: Ibb5b74475699719cb901bf067f5d498ad16e0a60
CRs-Fixed: 2864490
2021-03-02 14:22:26 -08:00
Jeff Johnson
b1dc01e081 qcacld-3.0: Kbuild: Add support for nested composites
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
2021-03-01 18:53:57 -08:00
Nisha Menon
8958f63a28 qcacld-3.0: Enable device force wake recipe in driver
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
2021-02-24 19:35:04 -08:00
Vevek Venkatesan
d478e8a285 qcacld-3.0: enable HAL_DELAYED_REG_WRITE_V2 and LOCK_LESS_ACCESS
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
2021-02-12 05:02:58 -08:00
Aditya Kodukula
f91c461da5 qcacld-3.0: Add flags to the BUILD_TAG
Pass a new flag to the Kbuild and add a compile flag
to enable the BUILD_TAG information.

Change-Id: Ic9bc331b64e7cbf627f5f99758f4d556328cda10
CRs-Fixed: 2865654
2021-02-10 18:20:38 -08:00
Jeff Johnson
fc4dedb7b9 qcacld-3.0: Kbuild: Relocate qdf_lro.o rule
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
2021-02-09 13:02:15 -08:00
Jeff Johnson
33a1bb0eb7 qcacld-3.0: Kbuild: Relocate Direct Buffer RX definitions
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
2021-02-09 13:02:12 -08:00
Jeff Johnson
0f585d216f qcacld-3.0: Kbuild: Cleanup HTT_OBJS logic
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
2021-02-09 13:02:08 -08:00
Jeff Johnson
34130a958f qcacld-3.0: Kbuild: Cleanup HAL_OBJS logic
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
2021-02-09 13:02:04 -08:00
Jeff Johnson
88b2a47d79 qcacld-3.0: Kbuild: Cleanup FWLOG_OBJS logic
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
2021-02-09 10:44:21 -08:00
Jeff Johnson
682bab0982 qcacld-3.0: Kbuild: Cleanup EPPING_OBJS logic
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
2021-02-09 10:44:16 -08:00
Jeff Johnson
b437ed67e4 qcacld-3.0: Kbuild: Cleanup DFS_OBJS logic
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
2021-02-09 07:46:24 -08:00
Jeff Johnson
6b35401675 qcacld-3.0: Kbuild: Cleanup FWOL_OBJS logic
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
2021-02-09 05:37:03 -08:00
Jeff Johnson
2b0c93ff71 qcacld-3.0: Kbuild: Cleanup OCB_OBJS logic
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
2021-02-09 05:36:59 -08:00
Jeff Johnson
7a8e172b6a qcacld-3.0: Kbuild: Cleanup IPA_OBJS logic
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
2021-02-09 05:36:54 -08:00
Jeff Johnson
6d2317be05 qcacld-3.0: Kbuild: Cleanup PKTLOG_OBJS logic
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
2021-02-09 05:36:50 -08:00
Jeff Johnson
59ea3a0289 qcacld-3.0: Kbuild: Cleanup HOST_DIAG_LOG_OBJS logic
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
2021-02-09 03:29:38 -08:00
Jeff Johnson
e142b34639 qcacld-3.0: Kbuild: Cleanup DISA_OBJS logic
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
2021-02-09 03:29:33 -08:00
Jeff Johnson
2f8fb00a4b qcacld-3.0: Kbuild: Cleanup ACTION_OUI_OBJS logic
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
2021-02-09 03:29:28 -08:00