Commit Graph

375 Commits

Author SHA1 Message Date
Nachiket Kukade
c1bba2f146 qcacld-3.0: Set 5GHz channel for NDI start and remove the INI
NDI Create from upper layers also does a start bss with the
channel specified with INI "gnan_datapath_ndi_channel". It
defaults to channel 6 if no value is specified. For targets
with 2x2 DBS MAC Configuration this cannot happen without
a DBS mode change. Since this channel is not indicative of
the actual NDI channel, send a 5GHz NAN Social channel for
the BSS start to avoid the DBS mode change.

Send 5GHz NAN Social channel for NDI bss start and remove
the corresponding INI.

Change-Id: I40428f5eb4071f7c1d3934c6279316aad8082c03
CRs-Fixed: 2364619
2018-12-26 01:21:13 -08:00
Nachiket Kukade
13bbe41414 qcacld-3.0: Don't configure RA filtering when APF is supported
RA filter is getting configured while APF is supported.
Since APF implementation internally handles RA filtering,
this is not needed. Therefore if APF is enabled in INI
and target supports it, do not configure RA filtering.

Don't configure RA filtering when APF is supported.

Change-Id: Iabb75b46fce64b2c4a7a303848d7cb6b4714253b
CRs-Fixed: 2352248
2018-12-24 10:06:35 -08:00
Nachiket Kukade
089b98361e qcacld-3.0: Handle concurrencies with NAN Discovery
Use policy manager to set and update the NAN Discovery
related connection info. Disable NAN Discovery
explicitly for unsupported concurrencies.

Handle concurrencies with NAN Discovery interface.

Change-Id: I8c9450b034983ef0402fdc878d8b525bedac9f0b
CRs-Fixed: 2358180
2018-12-22 02:54:03 -08:00
Nachiket Kukade
cf94160805 qcacld-3.0: Add policy mgr changes to manage NAN Discovery
Add NAN Discovery specific modes, modules that manage NAN
Discovery interface. Add cases and exceptions that manage
concurrent operations alongside NAN Discovery.

Add policy manager changes to manage NAN Discovery.

Change-Id: Ib9a10be265c14adf8d1d5f2f2e2b65aa399d6636
CRs-Fixed: 2358183
2018-12-21 12:34:38 -08:00
Arif Hussain
cca6043ce0 qcacld-3.0: Refactor stats cfg items
Refactor following stats cfg items
CFG_PERIODIC_STATS_DISPLAY_TIME
CFG_LINK_SPEED_RSSI_MID
CFG_REPORT_MAX_LINK_SPEED
CFG_LINK_SPEED_RSSI_LOW
CFG_LINK_SPEED_RSSI_HIGH

Change-Id: I1b699d5fe5b3182c292cf10c85f842169bf14342
CRs-Fixed: 2362068
2018-12-21 10:05:09 -08:00
Paul Zhang
d5c1f25d6b qcacld-3.0: resolve race issue accessing pm_conc_connection_list
While function policy_mgr_set_pcl_for_existing_combo posts event
SIR_HAL_PDEV_SET_PCL_TO_FW and before restores pm_conc_connection_list,
the function policy_mgr_get_valid_chan_weights is invoking and
accessing pm_conc_connection_list then race happens.

To resolve the issue, restore the pm_conc_connection_list before
calling SME function.

CRs-Fixed: 2362839
Change-Id: I8b30dc5084c4aae4bcc4b3b350d19c8be89338a9
2018-12-21 02:40:41 -08:00
Bala Venkatesh
c8bbb0058d qcacld-3.0: Enable TDLS in FW in standalone STA and P2P client
TDLS is not supported in concurrency. As part of second interface
creation, TDLS is disabled in both host and FW. But after the second
interface is deleted, TDLS is not enabled in FW and host even for
Standalone STA and P2P client cases.

Change-Id: I362c22a79e171f9779393b1b893b5bfd14ff562a
CRs-Fixed: 2367083
2018-12-19 16:30:43 -08:00
Sravan Kumar Kairam
361f410f34 qcacld-3.0: Modify enable/disable IPA pipe for lithium dp
In case of lithium dp there is no FW interaction in RX packet
processing and is HW REO ring based. So in case of handle
first client connection and last client disconnection host
should not send HTT FW requests for pipe resume/enable at FW.
So modify the enable and disable ipa pipes host functions for
lithium dp.

Change-Id: I72661050fe1f85c13aca0c78b5c0369884ec2999
CRs-Fixed: 2369252
2018-12-19 09:32:17 -08:00
Krunal Soni
e64b17e7f0 qcacld-3.0: Driver fails to report gDualMacFeatureDisable val to FW
If DBS is disabled from INI then driver just bails out
in wlan_hdd_update_dbs_scan_and_fw_mode_config() API and never report
it to FW. This creates a confusion when DBS is disable INI but our HW
is capable of doing DBS, i.e. driver thinks that DBS disabled
but FW thinks that DBS is enabled.

Provide a fix that driver should report exact INI setting to FW.
This issue got introduced as part of regression caused by:
Iec2ef7e77e91f332028904c319d24e1ed134306d

ROME platform doesn't support any DBS related commands in FW,
so if driver sends wmi command with dual_mac_config with all params
set to 0 then FW wouldn't respond back and driver would timeout on
waiting for response. This was the original issue for which
Iec2ef7e77e91f332028904c319d24e1ed134306d was added.

Make sure current solution doesn't break backward compatibility.
Add a check to make sure FW supports DBS to eliminate
ROME vs NON-ROME platform.

CRs-Fixed: 2361628
Change-Id: I8a3b795b20e82391ae5d5c86d1e7d814d103ce64
2018-12-19 04:56:55 -08:00
lifeng
0b46ae503e qcacld-3.0: Refine mlme reg configurations
Refine mlme reg configurations based on converged cfg component.
Remove related legacy codes.

Change-Id: I524b29d2d03e60111fa1759d11e32236bb3aa3fa
CRs-Fixed: 2357961
2018-12-19 04:56:44 -08:00
Wu Gao
b056db61ad qcacld-3.0: Conditional reading of 5G preferred parameters
Read 5G preferred parameters if only enable_5g_band_pref enabled.
Delete unused variables.

Change-Id: I5e3a8435034dbc7682b9da4327dd6067d2033951
CRs-Fixed: 2367136
2018-12-19 02:04:27 -08:00
Sourav Mohapatra
c55bdf3e26 qcacld-3.0: Add ini based control for Beacon Reception stats
Currently, the support for beacon reception stats is only dependent on
the FW.

Add an ini so that the user can also have a control over the stats

Change-Id: I4a1e654b9d1598836378def494b37a997904d77a
CRs-Fixed: 2366473
2018-12-19 02:04:22 -08:00
Nachiket Kukade
6003bd2adf qcacld-3.0: Route the legacy NAN commands through NAN component
NAN component has been moved to CLD. It includes implementation
of the new NAN command QCA_NL80211_VENDOR_SUBCMD_NAN_EXT.
Change the legacy NAN implementation of vendor cmd
QCA_NL80211_VENDOR_SUBCMD_NAN so that the requests go
through the NAN component. Clean up the legacy path.
Functionality remains unchanged for legacy command.

Route the legacy NAN commands through the NAN component.

Change-Id: I542e5afe832619f8c088220cc4456aa7fe4416fd
CRs-Fixed: 2356772
2018-12-18 14:29:19 -08:00
Nachiket Kukade
4f89e9e161 qcacld-3.0: Add support for handling the NAN events
As part of supporting NAN DBS, new WMI TLVs are defined so
that Host can maintain the status of NAN Discovery in sync
with the Firmware. Add modules that process these events and
updates the NAN states.

Add support for handling the NAN events.

Change-Id: Icfcd9c33cc410d9a65140f63cac69ddd69742306
CRs-Fixed: 2355383
2018-12-18 14:29:15 -08:00
Nachiket Kukade
d5a7683c8a qcacld-3.0: Add support for the NAN Enable/Disable commands
Add changes in the NAN component and Target IF to support the
NAN Enable and Disable commands. Add changes to support all
the other generic NAN commands as well. Add a state machine
to keep track of the status of the NAN Discovery in the Target.

Add support for the NAN Enable/Disable commands

Change-Id: I20c303cad8b7a30deba50345032b33b1deba4802
CRs-Fixed: 2338054
2018-12-18 14:29:10 -08:00
Nachiket Kukade
85aa3788b6 qcacld-3.0: Store the NAN target caps inside its private obj
Host will receive the NAN related service capabilities from
the SERVICE_AVAILABLE event. In the HDD callback that gets
called afterwards, set the NAN related capabilities into
the NAN's private PSOC object.

Store the NAN target capabilities inside its private object.

Change-Id: If398b6f253613fc424b7821cfc62b0984ad34b6c
CRs-Fixed: 2356709
2018-12-18 14:29:06 -08:00
Nachiket Kukade
a6a70a98f1 qcacld-3.0: Add support for the new NAN EXT vendor command
As part of the NAN Discovery DBS support, a new vendor command
- QCA_NL80211_VENDOR_SUBCMD_NAN_EXT - has been defined that can
carry the binary blob encapsulated within an attribute and can
carry additional attributes to enhance the NAN command interface.
Add related data structures in NAN component and add modules in
OSIF to parse and sanitize this new command data and forward
the NAN message to the NAN component.

Add support for the new NAN EXT vendor command.

Change-Id: I0e6bb833b01a8cbd65e4d42700b5b70599f3ef99
CRs-Fixed: 2339029
2018-12-18 14:29:02 -08:00
lifeng
db340e7fcd qcacld-3.0: Refine mlme mwc configurations
Refine mlme mwc configurations based on converged cfg component.
Remove related legacy codes.

Change-Id: I2b66ec6c262bdd98f500678d713ed03eb187f1bd
CRs-Fixed: 2352679
2018-12-17 12:14:15 +08:00
Pragaspathi Thilagaraj
2b9259f963 qcacld-3.0: Refactor WNI_CFG_WPS_UUID cfg to mlme component
WNI_CFG_WPS_UUID should be refactored and adopted by the mlme
component.

Move the cfg item to cfg_mlme_wps_params.h

Change-Id: I79db155ad16998e9d7a7e20c01efbcba1681d61e
CRs-Fixed: 2366599
2018-12-15 19:25:13 -08:00
Pragaspathi Thilagaraj
784c492c07 qcacld-3.0: Remove legacy powersave ini and refactor to mlme component
Add the functionality changes to replace the legacy powersave
parameters corresponding to the ini values that were converged.

Remove the legacy powersave ini items.

Change-Id: I1da9af9aac4a02a16dc22a43f7f9d526e196d599
CRs-Fixed: 2364964
2018-12-14 22:49:22 -08:00
Pragaspathi Thilagaraj
43455535fc qcacld-3.0: Converge Powersave related ini items to MLME
Add basic infra to move the following Powersave related
ini to MLME component:
CFG_ENABLE_IMPS               CFG_ENABLE_PS
CFG_AUTO_PS_ENABLE_TIMER      CFG_ICMP_DISABLE_PS
CFG_BMPS_MINIMUM_LI           CFG_BMPS_MAXIMUM_LI
CFG_DTIM_SELECTION_DIVERSITY

This change brings in mlme_init changes, mlme_public_struct.h changes
and cfg_mlme file changes for power save parameters.
Also remove the ini CFG_ICMP_DISABLE_PS_NAME as it is not used.

Change-Id: Ifd74d276b12acc8cd9740c25ee3ca261ed7d0143
CRs-Fixed: 2356897
2018-12-14 22:49:18 -08:00
Sourav Mohapatra
c457ae6f18 qcacld-3.0: Feature flag for Wlan Latency Manager support
WLAN Latency Manager support is one of the capabilities that is sent
along with the service bits by firmware. Currently, driver is not
exposing this feature to the user space.

Create and add support for a feature flag to expose this feature to the
userspace.

Change-Id: Ica8213bdaeb32c7be01b6a71a7d8b7a32dc8611b
CRs-Fixed: 2363704
2018-12-14 07:15:10 -08:00
lifeng
faa83cb69c qcacld-3.0: Refine gFwDebugModuleLoglevel configurations
Refine gFwDebugModuleLoglevel configurations based on converged cfg
component. Remove related legacy codes.

Change-Id: I5a1099872163bdcf0fc2e08478c4b608529db736
CRs-Fixed: 2355599
2018-12-14 07:15:06 -08:00
Rajeev Kumar Sirasanagandla
d7987f16ef qcacld-3.0: Add ini to disable some aggressive TX features
Add action_oui ini gActionOUIDisableAggressiveTX to identify peers for
which some of aggressive TX features are to be disabled in firmware,
when DUT is operating in softap mode.

Aggressive TX features disabled are SIFS bursting, assist and support of
more than 32 frames in AMPDU.

Change-Id: I89fb6d40be5110b0331e84ed3239cd997ce0c899
CRs-Fixed: 2364888
2018-12-13 23:21:25 -08:00
Manikandan Mohan
9045e2e664 qcacld-3.0: Update for converged thermal throttle params
Update qcacld driver to use converged CFG component for thermal
mitigation throttle offload feature config params. Also cleanup
hdd ini config based redundant entries.

Change-Id: I9c94d1cd7bf9f630ed92ebe0f9f6d6233a216ee5
CRs-fixed: 2358492
2018-12-13 23:21:21 -08:00
Dustin Brown
77a042b426 qcacld-3.0: Use talloc, instead of malloc, in DSC
The lifetimes of DSC contexts do not fit nicely into the current domain
based dynamic memory leak detection scheme. Instead, allocate psoc and
vdev DSC contexts using the new qdf_talloc() API.

Change-Id: Ib15bd26004c3383e25039f4d17026d3e73f52346
CRs-Fixed: 2360348
2018-12-13 16:45:43 -08:00
Wu Gao
5f79340ca9 qcacld-3.0: Enable TDLS component in CLD
TDLS component related files moved from hostcmn to CLD, this change
adds initial functions, enables TDLS in Kbuild.

Change-Id: Ie5b93f4785c4a973a139dff9e58460fd7ee35e35
CRs-Fixed: 2361589
2018-12-13 02:37:52 -08:00
Pragaspathi Thilagaraj
9f79074a67 qcacld-3.0: Remove error message after mlme_obj NULL check
The function mlme_get_psoc_obj() is used to get the mlme_obj and
error handling is taken care inside the function if mlme_obj is
null.
Remove the error message in callers of mlme_get_psoc_obj.

Change-Id: Ie7cda790758ad21b1a0275d313a97f322a2f6fd7
CRs-Fixed: 2365042
2018-12-12 01:45:30 -08:00
Wu Gao
d6b5e40780 qcacld-3.0: Enable policy mgr component in CLD
Policy mgr component related files moved from hostcmn to CLD, this
change add its initializion functions to CLD framework, change Kbuild
to enable it.

Change-Id: I0a87d93b9cf639aa66a10f9ae55ef8cb1dfbb80e
CRs-Fixed: 2361570
2018-12-11 17:25:59 -08:00
Wu Gao
637d58a4c1 qcacld-3.0: Enable P2P component in CLD
P2P component related files moved from hostcmn to CLD, this change
adds initial functions, enables P2P in Kbuild.

Change-Id: I04102a5f3e59ded13ada15b1b417ae81c7a10e90
CRs-Fixed: 2361500
2018-12-11 17:25:51 -08:00
gaurank kathpalia
b3645e79ae qcacld-3.0: Fix memory allocation latency in beacon process
This is mirror change for 0f9f01950

Currently if the number of APs in the STA environment
are many, then the STA will receive many beacons, whose
beacon process path can take long time, in the kernel
work queue, hence the other processes have to wait
for them to complete, and may get timeout, if the
the time to process the beaocns is larger than their
process timeout.
Fix is to :-
1. Add rate limit to failure conditions of memory
not allocated
2. Make memory allocation in path of beacon process
atomic.

Change-Id: I488b446c23fd01c993f7dd9bd989867fda2331d8
CRs-Fixed: 2363307
2018-12-11 06:11:02 -08:00
Krunal Soni
1680e4192b qcacld-3.0: Move few INIs's ownership from HDD to Policy manager
This is mirror change for de218d60a

INIs
1) g_mark_sap_indoor_as_disable
2) g_sta_sap_scc_on_lte_coex_chan
3) gEnableSAPManadatoryChanList
4) gForce1x1Exception
4) g_sta_sap_scc_on_dfs_chan
5) gDualMacFeatureDisable
6) gEnableOverLapCh
7) gAllowMCCGODiffBI

Ownership of above INIs belong to policy manager, move them from
HDD to Policy manager.

Change-Id: I83a13b1fcc6ca4350071a71648c7072c2b2a5191
CRs-Fixed: 2363060
2018-12-10 23:33:37 -08:00
Wu Gao
e7687f4b71 qcacld-3.0: Parse INI configure with user setting
It use default value instead of user setting when parse INI
"gNeighborScanChanList".

Change-Id: I99ccede8b68eefbfef96718fa4432c1824cdcf7f
CRs-Fixed: 2363952
2018-12-10 23:33:33 -08:00
Jeff Johnson
8feaa63728 qcacld-3.0: Remove obsolete txrx.h
Almost all of the definitions in txrx.h are obsolete. Rather than
remove the obsolete definitions and leave behind a file containing
only the two definitions that are used, move those useful definitions
to ol_txrx_types.h and completely remove txrx.h.

A side effect of this change is that a couple of unrelated files no
longer build because some of their dependencies were being met as a
side effect by txrx.h including other files. To solve the build issues
explicitly include the necessary header files where they are needed.

Change-Id: Ic3e3b36939e4ab04831d41a1e230bfab3da086a2
CRs-Fixed: 2363231
2018-12-10 20:20:45 -08:00
Yeshwanth Sriram Guntuka
334aa8de95 qcacld-3.0: Add MLME CFG items of FE_WLM and FE_RRM
Add the following WLM and RRM ini configs to MLME
cfg:
CFG_LATENCY_ENABLE
CFG_LATENCY_LEVEL
CFG_LATENCY_FLAGS_NORMAL
CFG_LATENCY_FLAGS_MOD
CFG_LATENCY_FLAGS_LOW
CFG_LATENCY_FLAGS_ULTLOW
CFG_RRM_ENABLE
CFG_RRM_MEAS_RAND_INTVL
CFG_RM_CAPABILITY

Change-Id: I714aca1e9bc6d3c330934753364d7f58d93a28d7
CRs-Fixed: 2353103
2018-12-10 07:23:13 -08:00
Jeff Johnson
34233e246e qcacld-3.0: Rename GET_DISA_TX_OPS_FROM_VDEV()
The name GET_DISA_TX_OPS_FROM_VDEV() is misleading since the macro
actually uses a psoc, so rename the macro to reflect the actual source
of data. In addition update the macro parameter so that it is actually
used.

Change-Id: I1a895a677250d860920102ec0d25719312536231
CRs-Fixed: 2362598
2018-12-07 11:18:49 -08:00
CNSS_WLAN Service
2e085746ab Merge "qcacld-3.0: Move few INIs' ownership from HDD to MLME" into wlan-cld3.driver.lnx.2.0 2018-12-07 02:22:02 -08:00
CNSS_WLAN Service
faa8324937 Merge "qcacld-3.0: Relocate HDD ini items (1)" into wlan-cld3.driver.lnx.2.0 2018-12-07 02:21:48 -08:00
CNSS_WLAN Service
ccff2bdcfc Merge "qcacld-3.0: Decouple PMO LPASS and NAN wow enable check from vdev" into wlan-cld3.driver.lnx.2.0 2018-12-07 02:21:44 -08:00
CNSS_WLAN Service
84c557dffc Merge "qcacld-3.0: Replace legacy string in vdevmgr with ext" into wlan-cld3.driver.lnx.2.0 2018-12-07 02:21:30 -08:00
CNSS_WLAN Service
ae5ba120fe Merge "qcacld-3.0: Refine mlme btm configurations" into wlan-cld3.driver.lnx.2.0 2018-12-07 02:21:13 -08:00
Krunal Soni
d2c33e171d qcacld-3.0: Move few INIs' ownership from HDD to MLME
INIs
1) gFWMccRtsCtsProtection
2) gFWMccBCastProbeResponse
3) gEnableMCCMode
4) gSapChannelAvoidance
5) gStaMiracastMccRestTimeVal

Ownership of above INIs belong to MLME component, move them from
HDD to MLME.

CRs-Fixed: 2351219
Change-Id: I3dc1b8f1f036f10a0506cb1cb8481fc865ef18f9
2018-12-06 17:51:08 -08:00
CNSS_WLAN Service
8347191b12 Merge "Merge commit 'bf95f89d580858f9aaa5a09ec9bc1b0b0c410ef7' into wlan-cld3.driver.lnx.2.0" into wlan-cld3.driver.lnx.2.0 2018-12-06 17:26:31 -08:00
Sourav Mohapatra
0dfe5550e0 qcacld-3.0: Relocate HDD ini items (1)
Relocate below HDD ini items as per converged infrastructure.
1. CFG_ENABLE_RUNTIME_PM
2. CFG_STA_KEEPALIVE_METHOD_NAME
3. CFG_ENABLE_MCC_ENABLED_NAME
4. CFG_ENABLE_SAP_SUSPEND
5. CFG_ENABLE_DEAUTH_TO_DISASSOC_MAP_NAME
6. CFG_INFORM_BSS_RSSI_RAW_NAME
7. CFG_AP_ENABLE_RANDOM_BSSID_NAME
8. CFG_VC_MODE_BITMAP

Change-Id: I881c87f9ca73804d03af358163c9a043b3193c81
CRs-Fixed: 2357174
2018-12-06 13:43:56 -08:00
Rajeev Kumar
1f97e10701 qcacld-3.0: Decouple PMO LPASS and NAN wow enable check from vdev
LPASS is driver specific feature which is controlled by INI item
and similarly NAN is also driver specific and not vdev specific
hence decouple PMO lpass and nan feature get APIs from vdev to
psoc.

Change-Id: I152f8b909cf85e412c2fa72a2e7147a1505e60e1
CRs-Fixed: 2361991
2018-12-06 12:02:56 -08:00
Abhishek Singh
5d921548f2 qcacld-3.0: Replace legacy string in vdevmgr with ext
Replace legacy string in vdevmgr with ext string.
Also adds new compile CMN_VDEV_MLME_CMPT_ENABLE macro
for VDEV MLME component.

Change-Id: I40ce0c2ee4d653d2f4ce68093e8ad1b2c78bece8
CRs-Fixed: 2361525
2018-12-06 10:27:50 -08:00
lifeng
6d19c25d31 qcacld-3.0: Refine mlme btm configurations
Refine mlme btm configurations based on converged cfg component.
Remove related legacy codes.

Change-Id: I0a90eceea5636e268048ed6bf1532150dc1f6b24
CRs-Fixed: 2355353
2018-12-05 13:13:36 -08:00
Abhinav Kumar
d4d6eb7d4e qcacld-3.0: ADD MLME INI items of FE_BEAMFORM and WLAN_REG
Add the following WLAN_REG ini configs and FE_BEAMFORM
cfg items to MLME cfg:
1. WNI_CFG_11D_ENABLED
2. WNI_CFG_11H_ENABLED
3. WNI_CFG_TX_BF_CAP
4. WNI_CFG_AS_CAP
5. WNI_CFG_DISABLE_LDPC_WITH_TXBF_AP

Introduce the basic infra APIs related to these configs
from mlme.

In csr_roam_open_session, lim_populate_vht_mcs_set,
lim_sta_send_add_bss, populate_dot11f_tdls_ht_vht_cap,
populate_dot11f_vht_caps and sme_update_nss, local structure
is updated instead of mlme global structure for vht caps and
thus the mlme vht caps contains only the default values.

Fix this by updating mlme vht caps in mlme_update_vht_cap.

Change-Id: I1a948d7a44ad2bcc7f711c46b278971d7e4026e7
CRs-Fixed: 2354562
2018-12-04 19:57:54 -08:00
Linux Build Service Account
bf95f89d58 Merge branch 'wlan-cmn.driver.lnx.2.0' of ../qca-wifi-host-cmn into HEAD 2018-12-04 16:15:31 +05:30
Linux Build Service Account
8f8a4f35e0 Merge branch 'wlan-cmn.driver.lnx.2.0' of ../target/qca-wifi-host-cmn into HEAD 2018-12-04 16:12:45 +05:30