NAN related OS IF, Target IF and component files have been
merged into CLD. Add Makefile changes, include correct
files, replace lmac tx/rx ops with the new ops and call
updated API's such as init/deinit.
Complete the remaining changes for moving NAN component
into CLD.
Change-Id: Idcf8816337aa49b399596ce3cdfc9cdab811d386
CRs-Fixed: 2338060
Add power items related CFG items in new file,
and store the respective inis in MLME component
Change-Id: Iac183da52495aca07c6270edeb9f383ab49c1ff5
CRs-Fixed: 2341900
Convert the current hard-coded list of unit-test callbacks in
hdd_we_unit_test() to a vtable. This streamlines future additions.
Change-Id: I216bbb6699ae50eaa96ac559999cb42ba080867c
CRs-Fixed: 2358606
The second part of LFR INIs are defined dynamically in legacy codes.
Refines these INIs and APIs based on new cfg component.
Change-Id: I89869c50952bf2fe403079299b3902fc53c11d61
CRs-Fixed: 2346784
Based on new cfg component, refactor CFG_TX_POWER_CTRL_NAME and clean
up related legacy codes.
Change-Id: I6dd317d5065c4111b71a9fe94d9b9af1f7d3d664
CRs-Fixed: 2355918
Currently if a vdev is destroyed, wow patterns are not
getting cleared for that vdev, so when a new vdev is
created, host tries to configure new wow patterns for
this new vdev but due to FW limitations on number of
wow patterns that can be maintained at FW, FW is not
able to act on this filter and will not maintain this
new wow filter.
To resolve this issue, clear the wow patterns for the
vdev before it gets destroyed.
Change-Id: Iae7ad8b683c95d8eaf11355bc0e36b91cece2202
CRs-Fixed: 2344337
Based on new cfg component, refactor INI CFG_OVERRIDE_HT40_20_24GHZ_NAME
and remove legacy codes.
Change-Id: I5b4ed96a4930a9358bd93ee809bf5cddb2787fb4
CRs-Fixed: 2354476
Cleanup multiple HT related CFG/INI Items which are already moved to the
MLME component.
Also move gShortSlotTimeEnabled INI from HDD to MLME component
Change-Id: Ie8c19f508401d4d72990f35ea5dcc18d45f0f16b
CRs-Fixed: 2354687
Refactor ini items gSapForce11NFor11AC and gGoForce11NFor11AC
into new mlme component.
Change-Id: I85e2f7f9ae14a23c322572290b095aae0f29b0ec
CRs-Fixed: 2354940
Add the following WMM config ini configs to MLME cfg:
1. CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_NAME
2. CFG_QOS_WMM_BURST_SIZE_DEFN_NAME
3. CFG_QOS_WMM_TS_INFO_ACK_POLICY_NAME
4. CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_NAME
Introduce the basic infra APIs related to these configs
from mlme.
Change-Id: I149971768a7193099926e2778f093dcd073f0461
CRs-Fixed: 2327692
In mlme_get_wep_key, the key_length is got from the caller is
hardcoded to value 13. This should be updated based on the
length of the key and passed to the caller. But it is not
updated and value 13 is used to copy the key, resulting in
decrypt failure.
Also add debug logs to print wep key id and length.
Pass the key length by call by reference to update the key
length
Change-Id: Ie1e56a80db27894bf9f0426728f9fb74a014679e
CRs-Fixed: 2351182
This reverts commit 2459533, which fixes WDI 1.0 MCC SMMU fault
but it's only a partial fix. And we also need 2490501 to be a
complete fix. But 2490501 has regressions and leads to NULL
dereference, and it's reverted in 2517642 until a new complete
fix is ready.
Based on above, revert 2459533 and WDI 1.0 MCC SMMU datapath
will be a known issue.
Change-Id: I6444bfd8552906d889531b7e77ca6aa6b6fa7d6d
CRs-Fixed: 2352927
This reverts change I7d04e9b01fbd973601ee9e4e74c6bf4dd3d0f7bb
This patchset is causing wlan_ipa_nbuf_cb to be called even when ipa_ctx
is null. wlan_ipa_nbuf_cb should not be called for non-IPA packets. Also
there should be a NULL check for ipa_ctx in the function.
Reverting the change may lead to SMMU errors during AP-AP MCC mode.
CRs-Fixed: 2352812
Change-Id: I2f2382ca12a14a09ed124ccd18a7f450282c5975
Refactor HE cap cfg items to new mlme component using
updated cfg architecture.
Change-Id: Ib983d3fc983dfffd2eee7efd1a4e3681d26d84a6
CRs-Fixed: 2351420
1) Some CFG INI options' comment text are missing.
Add them so automation script can parse and retrieve the
correct comment text.
2) Fix some discrepancies in existing CFG INI comments.
3) Delete some INI items that are not used any more.
Change-Id: Ia2fc4fab70f78e99d14fd1f7f2b4248e6484ee32
CRs-Fixed: 2350612
Fill the cmn nss chains structure from the mlme
nss chain params structure and send to fw
Change-Id: I573b0df20be31af536107f0585e7fa825dc2b6b3
CRs-Fixed: 2349823
Store the ini and dynamic configurations in the
respective vdev's mlme priv obj.
Change-Id: Ib7a90937799a188dd729c91e7ee248d3287951c5
CRs-Fixed: 2349201
Define two different mlme priv obj structures
based upon the flag CONFIG_VDEV_SM, for the
support of dynamic nss, chains update.
Change-Id: I00f39eb82973da86233ddfc8bdcc94b6ca8a439a
CRs-Fixed: 2349200
Add prefix NSS_CHAINS to band info to remove duplicate band
info in driver, and minor code cleanup.
Change-Id: I3a8446af6b6c272cfcb19583540e2384f64e3a1a
CRs-Fixed: 2347624
Populate the ini and dynamic params from the mlme
component and store them to the respective
vdev component in mlme priv obj during vdev create.
Change-Id: Ic80526e51ba97c24b5340843fc97406a6ba4c7ef
CRs-Fixed: 2347504
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
Excessive failure log due driver is in transition state. This
is coming from stats callback function, rate limiting the logs.
Change-Id: Idcd5304c492fa538614ac45d4c7bb3a601f23bcc
CRs-Fixed: 2347721
NAN component is not needed in the CMN repo. To reduce the
unnecessary lines of code, merge the NAN related Target IF
files from CMN into CLD. Subsequently remove these files
from the CMN repo.
Merge NAN related Target IF files from CMN into CLD.
Change-Id: I02475f1e1a3a90280bb9da0f131ba34bb189f5b3
For WDI 1.0 MCC TX, wlan driver is involved for TX and skb is
provided from IPA driver. With SMMU enabled, dma_addr is of
IPA domain. In such case, wlan driver needs to do DMA map
itself. After doing DMA map, an offset of frag_header
and ipa_header is added to the iova and skb->cb is updated
with the new iova. After TX completion, skb DMA unmap is done
but with the iova of the above offset included, which leads to
unmapped iova error.
Fix is to recalculate the iova and update skb->cb with new iova,
which has frag_header and ipa_header length removed.
Change-Id: I7d04e9b01fbd973601ee9e4e74c6bf4dd3d0f7bb
CRs-Fixed: 2338049
Some CFG INI options' comment text are missing.
Add them so automation script can parse and retrieve the
correct comment text.
Change-Id: I4f79b075244c18490c52bc9a178d36c47db43878
CRs-Fixed: 2348307
DSC panics in debug builds in the event of various timeout events. In
addition to these panics, print the stack trace of the invoking thread
to assist in finding the exact reason for deadlocks.
Change-Id: I69666cfc52fb7ca3638c32212bae3e3c3ddd8366
CRs-Fixed: 2349387
Discrepancies between some of the CFG INI names and their comment
text were discovered during reviewing.
Fix them by making all comment text aligning with the real CFG
INI names.
Change-Id: I1bf5417ea79727da451d0d6ca1a5cd100523e49a
CRs-Fixed: 2348140
Currently, APIs in the dsc_*_trans_assert() family assert a transition
is in flight on the given node itself. Instead, replace this API family
with another, dsc_*_assert_trans_protected(), which assert a
transition is in flight on the given node or any of its ancestors.
Change-Id: I5fb07000f955a49a4e5529806f4e49d9dbc8acb7
CRs-Fixed: 2347789
SMMU fault is observed for WDI 1.0 MCC TX when SMMU is enabled.
Issue is that dma_addr passed from IPA driver is iova of IPA
domain. WLAN driver directly uses the iova to do transmission.
Since iova is not mapped in WLAN domain, SMMU fault occurs.
Fix is to map skb to WLAN domain for TX when SMMU is enabled.
Change-Id: I4c029a1e4dfff149e2784f5b95fe1f3cf3e3719e
CRs-Fixed: 2318537
With IPA WDI unified API, IPA PM is used instad of IPA RM
for power/resource management. When checking if IPA RM is
enabled or not, HDD_IPA_RM_ENABLE_MASK is thus not applicable
for WDI unified API.
Fix is to always return true for IPA WDI unified API for power
efficiency.
Change-Id: I047b3156cf00002142dd3acb021cfb6ce64489ee
CRs-Fixed: 2283088
Add the following HT Caps related INI/CFG items to MLME component.
gShortPreamble, CFG_HT_AMPDU_PARAMS, CFG_EXT_HT_CAP_INFO,
CFG_HT_INFO_FIELD, gEnableAMPDUPS and gMaxAmsduNum.
Change-Id: I019961016a2f0e39c7c62066c04788d3bd3d37e7
CRs-Fixed: 2318579
Add the following WMM BE VO ini configs to MLME cfg:
1. CFG_QOS_WMM_INFRA_DIR_AC_BK_NAME
2. CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_NAME
3. CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_NAME
4. CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_NAME
5. CFG_QOS_WMM_INFRA_SBA_AC_BK_NAME
6. CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_NAME
7. CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_NAME
Introduce the basic infra APIs related to these configs
from mlme.
Change-Id: I1f8e6f0fa1ff15eda36a20ee06772c4a1ddd9ca8
CRs-Fixed: 2327690
Add the following WMM BE VO ini configs to MLME cfg:
1. CFG_QOS_WMM_INFRA_DIR_AC_BE_NAME
2. CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_NAME
3. CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_NAME
4. CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_NAME
5. CFG_QOS_WMM_INFRA_SBA_AC_BE_NAME
6. CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_NAME
7. CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_NAME
Introduce the basic infra APIs related to these configs
from mlme.
Change-Id: Ibaf06ba2df07a4805d31a4748809c44d143dd12e
CRs-Fixed: 2327689
Add the following WMM AC VI ini configs to MLME cfg:
1. CFG_QOS_WMM_INFRA_DIR_AC_VI_NAME
2. CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_NAME
3. CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_NAME
4. CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_NAME
5. CFG_QOS_WMM_INFRA_SBA_AC_VI_NAME
6. CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_NAME
7. CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_NAME
Introduce the basic infra APIs related to these configs
from mlme
Change-Id: I320f49b216659937dc7f708fdbb7849ae415e249
CRs-Fixed: 2327687
Correct the configuration check to enable/disable the Tx SU
beamformee setting in 20MHz mode operation.
Change-Id: I958d5319acf98931187304f2c6fe2a9aff5991b7
CRs-Fixed: 2343849
auth_failure_timeout is updated as part of
lim_check_and_announce_join_success for p2p client with NOA.
And the default value is stored in pe_session->defaultAuthFailureTimeout
After receiving the auth resp or in case of auth failure the
auth_failure_timeout is reset to default value. But there is any other
failure and pe session is deleted then the auth_failure_timeout is
not reset. And p2p cli connection will use the wrong auth timeout.
And can result in connection delay's if GO doesn't send the auth response.
Reset the auth_failure_timeout to defalut as part of pe_delete_session.
And decrease the max value to 5000ms.
Change-Id: I374bf45279f086127ef062b83a06049c895c4675
CRs-Fixed: 2343832
There are two cfg setting parameters defined for SU Tx beamformer
and improperly updated the cfg settings hence the Tx beamformer
capability advertised as unsupported always.
Remove the redundant setting for SU Tx beamformer and update the cfg
with correct values.
Change-Id: I422179ae87ab5c561f0356bcab4585fbdc53c0bd
CRs-Fixed: 2343090
Add the basic infra for legacy DP CFG items and the APIs
to be used from other components.
Change-Id: If7ad0e02c65e04ea13a308e680c9ba3b3d84ae25
CRs-Fixed: 2324099
Remove legacy cfg items definitions and related macros for the
converged CFG items.
Change-Id: I12944f50d68dafe989417dda777f29a6233c97a4
CRs-Fixed: 2340856
Remove the definition of following INI & CFG Items
for VHT caps which is common for HT and HE caps.
CFG_VHT_LDPC_CODING_CAP
CFG_VHT_SHORT_GI_80MHZ
CFG_VHT_SHORT_GI_160_AND_80_PLUS_80MHZ
CFG_VHT_TXSTBC
CFG_VHT_RXSTBC
CFG_VHT_RX_MCS_MAP
CFG_VHT_TX_MCS_MAP
CFG_VHT_BASIC_MCS_SET
Change-Id: I55390c3391a0be272c609030dae232d767111fcf
CRs-Fixed: 2333183
Wireless application needs to tune parameters per AC based.
Such as VI/VO queue use the different re-transmission attempts
while other queue keeps the default value. It helps to improve
the video/audio performance in noisy environment. this change
add the ability to config re-transmission attempts of non
aggregation QOS packets.
Change-Id: I95404302463275803e3feff3038f04c900b14705
CRs-Fixed: 2323555
To keep names of PMO ucfg APIs consistent, change some of them from
"pmo_ucfg_xxx" to "ucfg_pmo_xxx".
Change-Id: I77165be8c5c408c3f91f84a477c15be1c6ea15e8
CRs-Fixed: 2334109
dot11p_mode is currently represented with a uint8_t type, despite an
appropriate enumerated type being available. Change the field's type to
the more restrictive 'enum dot11p_mode' instead of uint8_t.
Change-Id: I847ce0901297b0a3e4312e8ce4124a886320f174
CRs-Fixed: 2335575
LFR2 uses ft reassoc, whose process is different from general
connect.
1.ft reassoc, normal reassoc and assoc, all of 3 need deliver
event WLAN_VDEV_SM_EV_START to SM, but need different handler.
2.ft reassoc send vdev start when add bss, not switch channel.
Change-Id: Ieefbcf0a28867be3c8a86d9a912143857c54fe06
CRs-Fixed: 2334194
In mlme_update_vht_cap, 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: Ifa3d30ae202f1a4b6361db1a504861918f7ebf2c
CRs-Fixed: 2334955
Following changes were made -
- Replace #ifdef CONFIG_LITHIUM with QCA_WIFI_QCA6290 and QCA_WIFI_QCA6390
flags. CONFIG_LITHIUM is not defined to be used within the code, the
individual chip specific flags are defined, hence use those.
- Pass IPA enable/disable ini configuration to DP layer
Change-Id: If0bfdaf408b06a922923e998c0c6ad2157e2c080
CRs-Fixed: 2328711
Policy Manager component needs to adopt a new INI/CFG
infrastructure.
Provide a new infrastructure and remove old INI/CFGs related
to policy manager component.
CRs-Fixed: 2324393
Change-Id: Ia16845c2aef3c5877b0b164fcef13fe7cd41c736
Do softirq for every 32 RX packets from 16 for IPA exception RX path.
Which will improve RX throughput much better.
Change-Id: I717d23714d1d0ae72550a06fd4df0817195f658b
CRs-Fixed: 2250253
For STA interface, add support to send VDEV_UP command to firmware when
VDEV state is transitioning to VDEV_S_UP.
Change-Id: Ic8f4e8355381d915f4c1c7f6650950d7d12d9db3
CRs-Fixed: 2333297
In order to catch and debug long running transitions, add a watchdog
timer to Driver Synchronization Core (DSC) transition start/stop call
pairs. If the timer expires, panic the driver for offline debugging.
Change-Id: I9b64fdb9cc20e1225394702d58b24db92a2d67e1
CRs-Fixed: 2328596
In order to catch and debug long waiting transitions, add a watchdog
timer to Driver Synchronization Core (DSC) transition start wait calls.
If the timer expires, panic the driver for offline debugging.
Change-Id: I557f87ada182ced389e7d5e63fe8b78f47e1d6b5
CRs-Fixed: 2328594
In order to catch and debug long running or stuck operations, add a
watchdog timer to Driver Synchronization Core (DSC) operation start/stop
call pairs. If the timer expires, panic the driver for offline
debugging.
Change-Id: If93914178622b993fb09c7330fded2e9bc1c25d1
CRs-Fixed: 2328591
VHT Part3: Add the basic infra for MLME CFG items and the APIs
to be used from other components for VHT.
Change-Id: I8cd30439d7ac3de7b550aa5042353cf30e04cbda
CRs-Fixed: 2322304
Create and send user configurable ini for max number of roam preauth
retries and roam preauth no-ack timeout to the firmware.
Change-Id: I66808b33f421f56cd7c007cdde1db19c8e7ca5f9
CRs-Fixed: 2279049
Add the basic infra for MLME CFG items and the APIs to be used from
other components for VHT - Part-2
Change-Id: I8f9c8286861c5a7b17d0261cad6c51b431e86f4a
CRs-Fixed: 2322302
Ic3121092c71d5c46e8521a775281ad2c45e3fe7d changed the driver-level DSC
context allocation method from static to dynamic. As a side effect, the
DSC driver lock needed a driver instance pointer instead of grabbing the
global context. However, many of the lock calls were updated to use the
input context pointer before it was validated.
Ensure the input context pointers are validated before using them to
grab the DSC driver lock.
Change-Id: Ifce2d603f3e9b7b7c0869a40f8632988a9509809
CRs-Fixed: 2327110
At ipa wdi initialization host needs to fill structure
ipa_wdi_init_in_params and pass to IPA driver. Currently
host is filling the local stack structure with out zeroing
out the memory and passed to IPA driver. This will lead to
invalid assignment of struct variables to IPA driver copy
for which host did not fill. So before using the ipa wdi
initialization structure mem zero it.
Change-Id: If054c2175741e6f23ebbf2165761aee8e2f8e2f0
CRs-Fixed: 2322734
Upon driver reinitialize after a FW rejuvenate,
data packets are not going through IPA path.
Check for FW rejuvenate scenario during driver
recovery and send appropriate message to IPA
driver.
Change-Id: I8c1d7ba78227684cd5653a5927aa4d4c2ce5d354
Crs-Fixed: 2287293
Replace usage of the below INI Items using MLME CFG instead of HDD config.
gPreventLinkDown
gSelect5GHzMargin
gEnableMemDeepSleep
gEnableCckTxFirOverride
gEnableForceTargetAssert
gEnableLpassSupport
Change-Id: Ib89272c7898db8d0c70a60640e00ca9364a9db74
CRs-Fixed: 2327025