Commit Graph

311 Commits

Author SHA1 Message Date
Dustin Brown
7d038e52b4 qcacld-3.0: Use vtable for unit test ioctl
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
2018-11-29 23:33:20 -08:00
Arif Hussain
178f35f013 qcacld-3.0: Refactor TWT cfg
Refactor following TWT cfg items.
CFG_BCAST_TWT
CFG_ENABLE_TWT
CFG_TWT_RESPONDER
CFG_TWT_REQUESTOR
CFG_TWT_CONGESTION_TIMEOUT

Change-Id: Iad0c2ed0893513cc98bf12ec39d111b78c6e9d1f
CRs-Fixed: 2349558
2018-11-29 18:11:55 -08:00
Wu Gao
5d23d785f9 qcacld-3.0: Add second part of LFR INIs based on cfg components
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
2018-11-29 18:11:44 -08:00
Wu Gao
4f8938a510 qcacld-3.0: Refactor one mlme sta INI
Based on new cfg component, refactor CFG_TX_POWER_CTRL_NAME and clean
up related legacy codes.

Change-Id: I6dd317d5065c4111b71a9fe94d9b9af1f7d3d664
CRs-Fixed: 2355918
2018-11-29 18:11:38 -08:00
CNSS_WLAN Service
adc5b94097 Merge "Merge commit '5f51b61329fea7765dc92b62606f914a8b704f9f' into wlan-cld3.driver.lnx.2.0" into wlan-cld3.driver.lnx.2.0 2018-11-29 15:35:36 -08:00
Pragaspathi Thilagaraj
4b5c0601a2 qcacld-3.0: Add the MLME CFG items to new MLME component
Add the following mlme cfg items:
CFG_AP_PROTECTION_MODE_NAME
CFG_AP_OBSS_PROTECTION_MODE_NAME
CFG_AP_STA_SECURITY_SEPERATION_NAME
CFG_ENABLE_BT_CHAIN_SEPARATION
CFG_AP_QOS_UAPSD_MODE_NAME

Change-Id: Iabdfb7c2492c234cfc3e8f71f33801f0034e578d
CRs-Fixed: 2350626
2018-11-28 14:35:01 -08:00
Ashish Kumar Dhanotiya
68ee2e4c50 qcacld-3.0: Reset wow pattern on vdev destroy
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
2018-11-28 09:35:06 -08:00
Wu Gao
fc81ecf914 qcacld-3.0: Refactor one INI about obss ht40
Based on new cfg component, refactor INI CFG_OVERRIDE_HT40_20_24GHZ_NAME
and remove legacy codes.

Change-Id: I5b4ed96a4930a9358bd93ee809bf5cddb2787fb4
CRs-Fixed: 2354476
2018-11-28 07:39:29 -08:00
Linux Build Service Account
3651cc1fa6 Merge commit '5f51b61329fea7765dc92b62606f914a8b704f9f' into wlan-cld3.driver.lnx.2.0
Change-Id: I194c9503f22edd85b6541b2c155e07cde1f131d1
2018-11-28 14:35:10 +05:30
Vignesh Viswanathan
ecd4de72ad qcacld-3.0: Cleanup HT Related CFG/INI Items
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
2018-11-23 03:38:24 -08:00
Bala Venkatesh
3d786ebe08 qcacld-3.0: Refactor SAP ini items
Refactor ini items gSapForce11NFor11AC and gGoForce11NFor11AC
into new mlme component.

Change-Id: I85e2f7f9ae14a23c322572290b095aae0f29b0ec
CRs-Fixed: 2354940
2018-11-22 18:18:01 -08:00
Abhinav Kumar
ab57671afd qcacld-3.0: ADD MLME INI items of WMM Config
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
2018-11-22 07:53:08 -08:00
Bala Venkatesh
2fae18aa35 qcacld-3.0: Clean up legacy HE CAP Cfg items
Cleanup of HE caps cfg items from legacy path.

Change-Id: I769601f4d0f1681cee7168069e63f3f7ceab0475
CRs-Fixed: 2353934
2018-11-22 04:18:15 -08:00
Jianmin Zhu
8647c72757 qcacld-3.0: Fix asymmetry of ipa pdev create and destroy handler
Fix asymmetry of ipa create and destroy handler

Change-Id: I89f5ca112ef3cc6b46fef8273800c668936f9c2f
CRs-Fixed: 2353796
2018-11-22 04:18:12 -08:00
Pragaspathi Thilagaraj
129d6979e8 qcacld-3.0: Update wep_key length in mlme_get_wep_key
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
2018-11-22 02:29:38 -08:00
jiad
af210c01e9 Revert "qcacld-3.0: Fix WDI 1.0 MCC TX SMMU fault"
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
2018-11-22 00:43:27 -08:00
CNSS_WLAN Service
e933e9c8e4 Merge "Revert "qcacld-3.0: Fix WDI 1.0 MCC TX SMMU unmap"" into wlan-cld3.driver.lnx.2.0 2018-11-21 02:50:59 -08:00
Mohit Khanna
c908646fa9 Revert "qcacld-3.0: Fix WDI 1.0 MCC TX SMMU unmap"
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
2018-11-21 14:46:31 +08:00
Arif Hussain
41cbc1e9a5 qcacld-3.0: Add ucfg api to get/set ps data inactivity timeout
Add and use ucfg api to get/set ps data inactivity timeout value.

Change-Id: I8b0931870507aac146a18b70103c323bea1ca6f3
CRs-Fixed: 2335980
2018-11-20 14:38:03 -08:00
Bala Venkatesh
6d53709337 qcacld-3.0: ADD HE CFG items in MLME component
Refactor HE cap cfg items to new mlme component using
updated cfg architecture.

Change-Id: Ib983d3fc983dfffd2eee7efd1a4e3681d26d84a6
CRs-Fixed: 2351420
2018-11-20 00:26:34 -08:00
Bala Venkatesh
46e2903f11 qcacld-3.0: Refactor SAP CFG items
Refactor SAP CFG items gMaxLIModulatedDTIM,
gCountryCodePriority, gSapPreferredChanLocation.

Change-Id: I52a1b3f782c440b12a2f2dcf82d9dad6cf6e76e0
CRs-Fixed: 2351237
2018-11-17 08:00:20 -08:00
wadesong
3777915910 qcacld-3.0: Add missing CFG INI comment text - wave 2
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
2018-11-16 05:10:01 -08:00
gaurank kathpalia
2fc3b89d0b qcacld-3.0: Fill nss chain params from legacy structure
Fill the cmn nss chains structure from the mlme
nss chain params structure and send to fw

Change-Id: I573b0df20be31af536107f0585e7fa825dc2b6b3
CRs-Fixed: 2349823
2018-11-16 05:09:56 -08:00
gaurank kathpalia
991e2fa092 qcacld-3.0: Store the nss, chain config in vdev priv obj
Store the ini and dynamic configurations in the
respective vdev's mlme priv obj.

Change-Id: Ib7a90937799a188dd729c91e7ee248d3287951c5
CRs-Fixed: 2349201
2018-11-16 05:09:45 -08:00
gaurank kathpalia
24ed0f4056 qcacld-3.0: Infra for mlme_priv_obj with VDEV_SM enable/disable
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
2018-11-16 05:09:40 -08:00
gaurank kathpalia
b414bce3b7 qcacld-3.0: Add prefix NSS_CHAINS to band info
Add prefix NSS_CHAINS to band info to remove duplicate band
info in driver, and minor code cleanup.

Change-Id: I3a8446af6b6c272cfcb19583540e2384f64e3a1a
CRs-Fixed: 2347624
2018-11-16 05:09:35 -08:00
gaurank kathpalia
78af193878 qcacld-3.0: Populate the ini and dynamic params
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
2018-11-16 05:08:46 -08:00
gaurank kathpalia
6c9d1c3e70 qcacld-3.0: Populate ini params in mlme_cfg
Populate the ini params from ini file and store them
in mlme_cfg structure.

Change-Id: I3eb8e60e26deeb24228d9b8a24bb957478344492
CRs-Fixed: 2347505
2018-11-16 05:08:42 -08:00
gaurank kathpalia
899ffa1ab1 qcacld-3.0: Add new ini file for chainmask feature
Add New inis for nss, chains, and disable_diversity
values.

Change-Id: I837d64f58d3c2386b43ee3cdcc095f7833954c12
CRs-Fixed: 2347385
2018-11-16 05:08:34 -08:00
Linux Build Service Account
bf24591576 Merge NAN Component files from branch 'wlan-cmn.driver.lnx.2.0' into wlan-cld3.driver.lnx.2.0 2018-11-15 19:16:12 +05:30
Linux Build Service Account
eefcfdd514 Merge NAN related Target IF files from branch 'wlan-cmn.driver.lnx.2.0' into wlan-cld3.driver.lnx.2.0 2018-11-15 19:15:04 +05:30
Linux Build Service Account
4e044cf9f5 qcacld-3.0: Merge NAN component files from CMN into CLD
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
2018-11-15 19:12:32 +05:30
Manjunathappa Prakash
ce8109df27 qcacld-3.0: Rate limit IPA callback API failure logs
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
2018-11-15 05:11:03 -08:00
Linux Build Service Account
9c774fa650 qcacld-3.0: Merge NAN related Target IF files into CLD
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
2018-11-15 17:16:52 +05:30
jiad
15fb83796a qcacld-3.0: Fix WDI 1.0 MCC TX SMMU unmap
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
2018-11-14 22:06:05 -08:00
wadesong
5cea9124a5 qcacld-3.0: Add missing CFG INI comment text - wave 1
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
2018-11-14 18:51:40 -08:00
Karthik Kantamneni
9180c75d61 qcacld-3.0: Add RTT related CFG item
ADD RTT MAC randomization CFG item based on converged cfg component

Change-Id: I0e1203fc3b3cdab8d9f331c90092b460a02f0fbf
CRs-Fixed: 2349709
2018-11-14 13:47:11 -08:00
Dustin Brown
81cf264aaa qcacld-3.0: Print stack trace on DSC timeout
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
2018-11-13 21:11:49 -08:00
wadesong
cc2e216a57 qcacld-3.0: Fix some discrepancies in CFG INI comments
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
2018-11-13 08:28:08 -08:00
Dustin Brown
c35ea2d785 qcacld-3.0: Modify DSC trans assert to check ancestors
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
2018-11-13 02:43:32 -08:00
jiad
a244137e66 qcacld-3.0: Fix WDI 1.0 MCC TX SMMU fault
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
2018-11-12 18:28:03 -08:00
jiad
9d613a24eb qcacld-3.0: Fix WLAN IPA RM enablement
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
2018-11-09 15:25:01 -08:00
Vignesh Viswanathan
ddc89e5f41 qcacld-3.0: Add additional HT Caps related INI Items to MLME CFG
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
2018-11-06 00:22:11 -08:00
Abhinav Kumar
7d6f1ac679 qcacld-3.0: ADD MLME INI items of WMM Configuration
Add the following WMM config  ini configs to MLME cfg:

1. CFG_QOS_WMM_MODE_NAME
2. CFG_QOS_WMM_80211E_ENABLED_NAME
3. CFG_QOS_WMM_UAPSD_MASK_NAME
4. CFG_QOS_IMPLICIT_SETUP_ENABLED_NAME

Change-Id: I0c6354960b49d680e3efe304ea3300059c37015c
CRs-Fixed: 2327691
2018-11-05 16:15:11 -08:00
Abhinav Kumar
2af8c12ac9 qcacld-3.0: ADD MLME INI items of WMM AC_BK
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
2018-11-05 16:15:07 -08:00
Abhinav Kumar
e94f248f2e qcacld-3.0: ADD MLME INI items of WMM AC_BE
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
2018-11-05 06:32:50 -08:00
Abhinav Kumar
4c8e026865 qcacld-3.0: ADD MLME INI items of WMM AC_VI
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
2018-11-05 06:32:46 -08:00
Kiran Kumar Lokere
eaaa3462e6 qcacld-3.0: Fix the issue with SU Tx beamformee in 20MHz mode
Correct the configuration check to enable/disable the Tx SU
beamformee setting in 20MHz mode operation.

Change-Id: I958d5319acf98931187304f2c6fe2a9aff5991b7
CRs-Fixed: 2343849
2018-11-02 12:38:57 -07:00
Bala Venkatesh
4183779454 qcacld-3.0: Reset auth_failure_timeout in pe_delete_session
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
2018-11-02 09:30:49 -07:00
Kiran Kumar Lokere
9159af6963 qcacld-3.0: Fix the issue with SU Tx beamformer cfg setting
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
2018-11-01 15:38:18 -07:00