Enabling ndi_max_support=2 is consuming 4 vdevs + 11 peers
in firmware when STA and NAN(+2 NDIs) are active. Max peers
allowed in firmware are 11 only and this ini configuration is
consuming all of them.
There is no provision/memory for new peer allocation even for
simple use cases like roaming(roaming needs a temporary peer).
Revert this change and set the ini ndi_max_support=2 in target
specific ini files if required to avoid the peer exhaust issue.
This reverts change: Id45147541dba057c2f3420adee43c7a56e3ee72b.
Change-Id: If655b63071b07e96b4e343b8e1bb65acd33be625
CRs-Fixed: 3120555
Currently, the ini param "ndi_max_support" is set to 1 in the
ini definition though DUT can support maximum 2 NDIs.
Customers need to set the ini param to 2 in ini file
in order to support two NDIs. This ini param value needs
to be maintained across chipsets and android versions,
which is difficult.
Change the default value to 2 to avoid these. If any customer
needs the value to be 1, the same can be set in customer/target
specific ini files.
Change-Id: Id45147541dba057c2f3420adee43c7a56e3ee72b
CRs-Fixed: 3097045
Currently, NDP peer multicast address is derived from peer MAC address
and cached in the host. While removing the NDP peer, peer MAC address
is used to search the cached multicast address list. Because of this,
peer multicast address list is not getting freed.
To resolve this, derive peer multicast address from the peer MAC address
while clearing the cached multicast address list.
Since MAX NDP sessions are 8, allocate memory for peer multicast address
list during the NAN vdev private object allocation. This avoids the
special handling for peer multicast list in multiple error scenarios.
Change-Id: Ifbf890a4b9c8be54d84a5b57ed8f6c237ecd51ca
CRs-Fixed: 3085069
Currently, there is no INI parameter to control NAN feature in 6GHz
frequency band. Because of this, there is no provision to disable the
NAN in 6GHz when there is no requirement.
To address this, add INI parameter to configure NAN feature in 6GHz.
Change-Id: I6b4faa8e8aa1a3df72539fed1d7ff3cc8287debd
CRs-Fixed: 2817920
NDP connection will be active for keep alive period even after receiving
NDP end request. The default value for this keep alive period if 20ms.
update the default value as 14ms to reduce the wait time for connection
termination.
Change-Id: I3d09ce764846d7e535a7369d32a730907b621735
CRs-Fixed: 2802723
Set nan_feature_config default as 0 from 1 in INI to have DW interval for
NMNS mode when device goes to suspend mode.
Change-Id: Ib0044ca36cba570f51edcc0006f8e54c55d673d3
CRs-Fixed: 2776238
The NAN configs gEnableNanSupport and genable_nan_datapath
are being removed from ini config file. So, enable them by
default in .h file.
Change-Id: Ibc1e91e6d010994b5e1419b2241f846e0fde8969
CRs-Fixed: 2710133
NAN protocol runs in firmware and controlled by framework.
Framework configures multiple NAN discovery params while enabling
NAN. Framework configurations would be based on the framework
constraints or realtime scenarios like resource(memory/power/..)
consumption. But some of these params might need to be controlled
explicitly based on the usage.
NAN DW is one such parameter, which is configured as 4 seconds
when the device is in sync role and the screen is off. But
for some usecases, this param might have to be 512ms always
irrespective of screen off/on for some targets. Add an ini param
"nan_feature_config" to set a bit to indicate firmware whether to
honor framework configured DW value or the firmware default value.
Send the vdev param on NAN supported vdev by setting the "bit 0"
to indicate firmware to allow framework configured DW value.
If this bit is not set, firmware shall consider its default value.
Change-Id: I0476bca2bbe676beccfff207f5b4ea31e89031e2
CRs-Fixed: 2721970
Introduce INI "ndi_max_support" to configure max number of ndi
interfaces host supports. Host configures max number of ndi
interfaces support in firmware using WMI_INIT_CMD.
Change-Id: I287b9f96b98103e67cf35d0c02488a28af731044
CRs-Fixed: 2701557
Introduce INI "ndp_max_sessions" to configure max number of ndp
sessions host supports. Firmware advertises max number of ndp
sessions supported in wmi_service_ready_ext2 event. If the firmware
advertises non-zero value of max ndp sessions then host configures
max ndp sessions support in firmware using WMI_INIT_CMD.
Host uses a minimum of "ndp_max_sessions" value and firmware
advertised max ndp session value to configure max number of ndp
sessions in firmware.
Change-Id: I613815f384f9b0a61711324c85ecfa095d133360
CRs-Fixed: 2673120
Currently there is no inis for NAN component:
1. To configure the keep alive period for the
NDI interface.
2. To enable/disable discovery of NAN cluster with
Master Preference (MP) as 0 when a new device is
enabling NAN.
Add ini support to configure above mentioned values.
Change-Id: I47b67eb89fb8849960a9f492d2909e45b96308f3
CRs-Fixed: 2617839
Add a new INI parameter "nan_separate_iface_support" to
indicate firmware that the host driver supports separate
interface for NAN Discovery.
Change-Id: I6fb313b02c5f3a05638e85494051fb003b2dd867
CRs-Fixed: 2612006
Add an ini configuration that configures the inactivity timeout for NDP
peer. The value is sent to the firmware via the VDEV param
WMI_VDEV_PARAM_NDP_INACTIVITY_TIMEOUT.
Change-Id: Ifffe6bb40df94761d739463cf7e54a0be7e2a375
CRs-Fixed: 2531756
Flag WLAN_FEATURE_NAN_DATAPATH was added to protect NAN Datapath
related code, while WLAN_FEATURE_NAN_CONVERGENCE was added to
protect the converged code inside NAN Component. Since the
original NAN Discovery related code has now been moved inside
NAN component and NAN Datapath cannot exist without NAN Discovery,
keeping these flags separate doesn't make sense. Combine these
two flags with WLAN_FEATURE_NAN flag which is the original NAN
feature flag.
As a cleanup of NAN code, combine all NAN related flags with
WLAN_FEATURE_NAN flag.
Change-Id: If98ecaace17f8724e9c28325ef61e721f42e1d8f
CRs-Fixed: 2377375
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
NAN component is not needed in the CMN repo. To reduce the
unnecessary lines of code, merge the NAN component files
from CMN into CLD with updated copyrights. Subsequently
remove these files from the CMN repo.
Merge NAN component files from CMN into CLD.
Change-Id: I63c2fb90ea517496946ea45a66bdf290af9d5a7c