Commit Graph

470 Commits

Author SHA1 Message Date
Sravan Kumar Kairam
9cd68d0639 qcacld-3.0: Rate limit IPA callback API error logs
Excessive wlan ipa call back error logs when driver is in
transition stat which may leads to watchdog timeout. So rate
limit the logs.

Change-Id: I1398ea67abde53d3a5f0b5ab7c7ea1dd8553e4cc
CRs-Fixed: 2379522
2019-01-16 10:37:34 -08:00
Harprit Chhabada
d59ae7648e qcacld-3.0: Clean up adaptive dwell time params CFG
Clean following adapative dwell time params
CFG/INI item.
CFG_ADAPTIVE_DWELL_MODE_ENABLED
CFG_GLOBAL_ADAPTIVE_DWELL_MODE
CFG_ADAPT_DWELL_LPF_WEIGHT
CFG_ADAPT_DWELL_PASMON_INTVAL
CFG_ADAPT_DWELL_WIFI_THRESH

Change-Id: Iebc8507b0eefe52969f928d98473f99d69095480
CRs-Fixed: 2378488
2019-01-15 21:02:09 -08:00
Jeff Johnson
ee066a08a3 qcacld-3.0: Remove pmo_dump_wow_ptrn() prototype
Change I47cce6123566b67d4aa0c56f1cf6738f4fdbf77d ("qcacmn: Initial
power manager offload skeleton") included a prototype for function
pmo_dump_wow_ptrn(), but not an implementation. Since subsequently
an implementation was never added, remove the unused prototype.

Change-Id: I4fda06ef5cabdbff069e542319a9d5296a0e932a
CRs-Fixed: 2380102
2019-01-15 18:41:19 -08:00
Jeff Johnson
678ddc4b16 qcacld-3.0: Remove ignore_dynamic_dtim_in_p2p_mode
Change I9b0126d9cc71f7de0d255981ba5fe88f3da05ce2 ("qcacmn: Define
configures about P2P") introduced struct p2p_param. One of the fields,
ignore_dynamic_dtim_in_p2p_mode, has apparently never been used, so
remove it.

Change-Id: I1c7c34d72f22c89f243d2639ec2baccb76be7dc2
CRs-Fixed: 2379074
2019-01-15 18:41:15 -08:00
Jeff Johnson
da70bd1338 qcacld-3.0: Harmonize the mlme_ht_info_field_2 layouts
Struct mlme_ht_info_field_2 has two different layouts depending upon
endinaness, but for one of the fields the naming does not match.
Rename the nonGFDevicesPresent field to be consistent with its
counterpart non_gf_devices_present.

Change-Id: Iafec9976d5f890ae6555af35c40186afacb5c325
CRs-Fixed: 2379073
2019-01-15 18:41:11 -08:00
Jeff Johnson
2449b32e09 qcacld-3.0: Remove sta_sap_scc_on_dfs_chan_allowed
Change Id1333a49d0538eb4ccfaf3c8498e9ca06671de02 ("qcacmn: Allow SAP
to come up on DFS channel in SCC mode") added two separate fields to
track the status of this feature. The sta_sap_scc_on_dfs_chan_allowed
field in struct policy_mgr_psoc_priv_obj was never used, so remove it.

Change-Id: I75fe9129d4df9a70af103d4b75389d75528ad422
CRs-Fixed: 2379072
2019-01-15 18:41:06 -08:00
Jeff Johnson
9a866ec4cf qcacld-3.0: Remove enable_sap_mandatory_chan_list
As part of change I83a13b1fcc6ca4350071a71648c7072c2b2a5191
("qcacld-3.0: Move few INIs's ownership from HDD to Policy manager")
support for the gEnableSAPManadatoryChanList INI item was moved to
Policy Manager, and the sap_mandatory_chnl_enable field in struct
policy_mgr_cfg now reflects the status of this INI item. The prior
mechanism, the enable_sap_mandatory_chan_list field in struct
policy_mgr_psoc_priv_obj, is no longer used, so remove it.

Change-Id: I1675257f2a4aac3ae34e934173415f9a4064618b
CRs-Fixed: 2379071
2019-01-15 18:41:02 -08:00
Jeff Johnson
844da097fc qcacld-3.0: Remove nlo fields from struct pmo_vdev_priv_obj
Fields nlo_in_progress and nlo_match_received in struct
pmo_vdev_priv_obj are unused, so remove them.

Change-Id: I4152e55e407628bbcc32118aa702770a401cfe3b
CRs-Fixed: 2379076
2019-01-14 12:58:47 -08:00
Jeff Johnson
18dd808afa qcacld-3.0: Harmonize PMO packet filter APIs
Update the PMO packet filter APIs to make sure the parameter names
in the prototypes match the ones in the implementations and in the
documentation.

Change-Id: I7fd924d17edb54c690e8ef5b85d4829a4a165edc
CRs-Fixed: 2379075
2019-01-14 08:38:06 -08:00
hangtian
127c953c7f qcacld-3.0: Use qdf_mem_zero for zero initialization
Use qdf_mem_zero for zero initialization.

Change-Id: Ic2b8d907623cf67a4569aaf01398c1b3a2bff707
CRs-Fixed: 2376644
2019-01-14 08:38:03 -08:00
Wu Gao
2255ea2817 qcacld-3.0: Defines five WNI cfg and one INI cfg
Based on new cfg framework, defines below five WNI cfg items and one
INI cfg:
 - WNI_CFG_APSD_ENABLED
 - WNI_CFG_OBSS_DETECTION_OFFLOAD
 - WNI_CFG_OBSS_COLOR_COLLISION_OFFLOAD
 - WNI_CFG_CURRENT_TX_POWER_LEVEL
 - WNI_CFG_LOCAL_POWER_CONSTRAINT
 - gTxPowerCap

Change-Id: I5546ea7a4efd142b546ad10a40712d40d2d3ea0d
CRs-Fixed: 2375857
2019-01-14 01:45:23 -08:00
Wu Gao
0821b0dd4c qcacld-3.0: Change WNI_VALID_CHANNEL_LIST_LEN to VALID_CHANNEL_LIST_LEN
All WNI configurations will be cleanup based on new cfg framework, so
change Change WNI_VALID_CHANNEL_LIST_LEN to VALID_CHANNEL_LIST_LEN.

Change-Id: I805be88ecdcca90cf3a19d1784bf8f8c261b6ca4
CRs-Fixed: 2379748
2019-01-13 18:45:55 -08:00
Wu Gao
9d117fbfc2 qcacld-3.0: Refactor three INI in PMO
Based on cfg framework, refactor below INI:
 - CFG_RA_RATE_LIMIT_INTERVAL_NAME
 - CFG_ACTIVE_UC_APF_MODE_NAME
 - CFG_ACTIVE_MC_BC_APF_MODE_NAME

Change-Id: I3b1ee6254de158ad6408dc8c61e83be571e180af
CRs-Fixed: 2379743
2019-01-13 18:45:51 -08:00
Wu Gao
6294afcfa7 qcacld-3.0: Refactor six LFR INI cfg
Based on new cfg component, refactor below LFR INI cfg and remove
unused legacy codes.
 - CFG_ENABLE_LFR_SUBNET_DETECTION
 - CFG_ROAM_HO_DELAY_FOR_RX_NAME
 - CFG_MIN_DELAY_BTW_ROAM_SCAN_NAME
 - CFG_ROAM_SCAN_TRIGGER_REASON_BITMASK_NAME
 - CFG_ROAM_FT_OPEN_ENABLE_NAME
 - CFG_ROAM_FORCE_RSSI_TRIGGER_NAME

Change-Id: Iaa738c6416dffe8159b49d59fc9a514da2fbb7ff
CRs-Fixed: 2376637
2019-01-11 22:25:19 -08:00
Liangwei Dong
c79ddc1bff qcacld-3.0: remove unused get config API
Remove below unused policy mgr get config api:
ucfg_policy_mgr_get_dbs_selection_plcy
ucfg_policy_mgr_get_max_conc_cxns
ucfg_policy_mgr_get_vdev_priority_list

Change-Id: Idd5ad140f3739ece1d7c0fe5ae1db1dbe9154c4f
CRs-Fixed: 2373646
2019-01-11 15:58:05 -08:00
Dustin Brown
26ef417482 qcacld-3.0: Fix race in DSC threaded unit test
Very occasionally, the driver transition thread for the DSC race
condition unit test can be preempted before queuing the driver
transition. This leads to the transitions de-queuing in an unexpected
order, causing the test to fail. In order to close the race window, a
thread would have to set its event _after_ blocking on a pending
transition, which is impossible. So, rather than using events to
synchronize the different threads in this test case, use polling to
ensure the different transitions are queued in the appropriate order.
If the given condition is not met, call schedule() to give the other
threads a greater chance to run.

Change-Id: I05edfa9200ca7831926153f3ff0ec9dbbbab3fed
CRs-Fixed: 2378469
2019-01-10 19:42:10 -08:00
Wu Gao
a796d7153a qcacld-3.0: Refactor one WNI cfg and two INI cfg about PMO
Based on new cfg framework, refactor below WNI and INI cfg items:
 - WNI_CFG_PS_WOW_DATA_INACTIVITY_TIMEOUT
 - g_wow_data_inactivity_timeout
 - gDisablePacketFilter

Change-Id: I9a975263021ba4fd5ccea19ed1147a661f73317f
CRs-Fixed: 2375866
2019-01-10 19:42:02 -08:00
Yue Ma
a66ccb8e2a qcacld-3.0: Do not directly call QDF_BUG in PMO
Use qdf_trigger_self_recovery instead of QDF_BUG for runtime PM
resume failure case as qdf_trigger_self_recovery can handle more
scenarios gracefully.

Change-Id: Iff0348fafb1be82f46400099e3cd551c079eea74
CRs-fixed: 2377677
2019-01-09 06:11:32 -08:00
Nachiket Kukade
0a1aea6d44 qcacld-3.0: Forward NDP Indication event for NDP initiator
Driver only forwards NDP Indication event to upper layers
after it receives the event WMI_NDP_INDICATION_EVENTID as
an NDP Responder. But while as an NDP Initiator, if the
NDP Peer sends App info through NDP Response instead of
NDP Confirm, driver receives the same event. But it does
not forward it to upper layers. As a result App info is
dropped and upper layers miss out on it.

Forward NDP Indication event to upper layers through vendor
event subtype QCA_WLAN_VENDOR_ATTR_NDP_REQUEST_IND regardless
of the NDP role of the device.

Change-Id: I63349b92426b6090e024957e70fd7f9ef97cf314
CRs-Fixed: 2375741
2019-01-09 01:28:18 -08:00
Kiran Kumar Lokere
7d6e4c9dc1 qcacld-3.0: crypto convergence support for SET KEY
Make changes to the legacy code to support the
new SET KEY converged infrastructure.

Change-Id: Ic5359e3a9035ac5f2a937a9a1013fa92764cda9d
CRs-Fixed: 2358795
2019-01-08 20:24:43 -08:00
Harprit Chhabada
efea6f517c qcacld-3.0: Clean up a policy manager CFG item
Clean WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED CFG item of policy
manager.

Change-Id: Ib73ea3385bedf3a8d35e60f3672950e27b8ed93d
CRs-Fixed: 2373863
2019-01-08 11:42:54 -08:00
hangtian
a7938f8849 qcacld-3.0: Fix implicit tdls connection issue
Fix implicit tdls connection issue. Correct usage of qdf_mem_set.
DUT could receive multicast frames after tdls connection tear down,
add check condition of frames with multicast dest address in
tdls_update_rx_pkt_cnt.

Change-Id: Ia1d7bbf2c129e9aebc98f7fcdea263b745c221ec
CRs-Fixed: 2375043
2019-01-08 07:28:10 -08:00
Manikandan Mohan
5dba1c70c3 qcacld-3.0: Use default value of ini items if not initialized
If FW offload cfg object is not initialized before invoking
the ucfg APIs use the cfg defaults for the values.

Change-Id: Ibbfe22a833ab217f670058e504ec80971c98e049
CRs-fixed: 2376983
2019-01-08 05:17:08 -08:00
Rajeev Kumar Sirasanagandla
14fa966039 qcacld-3.0: Enable WLM feature by default
Set wlm_latency_enable=1 to enable vdev latency manager feature
by default.

Change-Id: Iee5a4f386bad649be86a299c6816c7802c73992c
CRs-Fixed: 2369989
2019-01-08 02:34:23 -08:00
Wu Gao
6768d76a7b qcacld-3.0: Remove unused tdls structures in pe
It alloc memory with structures in sir_api.h, and process/parse them
with structures in tdls component, which will cause memory corruption
potentially. So, this change refacor these functions and let them use
unified structures. Remove unused structures in sir_api.h
Here are these functions:
- lim_send_sme_tdls_add_sta_rsp
- lim_send_tdls_comp_mgmt_rsp
- lim_send_sme_tdls_del_sta_rsp
- lim_send_sme_mgmt_tx_completion

Remove below unused tdls structures:
- tSirTdlsDelAllPeerInd
- tSirTdlsDelStaInd
- tSirTdlsEventnotify
- tSirTdlsLinkEstablishReq
- tSirTdlsLinkEstablishReqRsp
- tSirTdlsAddStaRsp
- tSirTdlsDelStaRsp
- tSirMgmtTxCompletionInd

Change-Id: Ic595cadefcdbeb2df44f97563c4652db409213a2
CRs-Fixed: 2373706
2019-01-07 17:28:16 -08:00
Jeff Johnson
af32606065 qcacld-3.0: Remove op_class_for_pref_off_chan_is_set
The field op_class_for_pref_off_chan_is_set in struct
tdls_peer_mlme_info is unused, so remove it.

Change-Id: I5c2ed954215677a25245e108a35c33fc7c33c247
CRs-Fixed: 2375420
2019-01-07 08:47:09 -08:00
Jeff Johnson
dfabe9e6a7 qcacld-3.0: Remove ap_rssi from struct tdls_vdev_priv_obj
The ap_rssi field in struct tdls_vdev_priv_obj is unused,
so remove it.

Change-Id: I5c8c7583da2833071feb5a33243cbecbf0ed4f28
CRs-Fixed: 2375419
2019-01-07 08:47:03 -08:00
Jeff Johnson
33c542ff92 qcacld-3.0: Remove enum pmo_offload_type
Enum pmo_offload_type is unused, so remove it.

Change-Id: Ibe1c488fbf72d577eac0424151adf5bd593be3c6
CRs-Fixed: 2375418
2019-01-07 08:46:58 -08:00
Jeff Johnson
cbcc2c5b6a qcacld-3.0: Remove bmiss_enable from struct pmo_psoc_cfg
The bmiss_enable field in struct pmo_psoc_cfg is unused, so remove it.

Change-Id: I456c420faea23616aa0b273a57fd661fd8c4eaf5
CRs-Fixed: 2375417
2019-01-07 08:46:52 -08:00
gaurank kathpalia
1be77fa6a9 qcacld-3.0: Add Dot11 mode related CFG items in mlme cfg
Add dot11mode related cfg items in mlme cfg, and replace
old WNI dot11 modes with new MLME DOT11 mode enums

Change-Id: I6e866959f440ae781432c8aaa724b229c0874856
CRs-Fixed: 2362540
2019-01-07 00:07:19 -08:00
Sravan Kumar Kairam
f48210cb66 qcacld-3.0: Add cdp api for dp tx desc availability
Add cdp api to check if tx desc pool available descriptor
threshold has reached.

Change-Id: I12cc38b56a68ca7ee8f4560677fcdabccb38928b
CRs-Fixed: 2369244
2019-01-07 00:07:14 -08:00
Sravan Kumar Kairam
7887022782 qcacld-3.0: Modify is fw activated pipes api for lithium dp
In case of lithium dp there is no FW interaction in RX packet
processing and is HW REO ring based. So modify the ipa component
is fw activated api to return true if the ipa system pipes are
enabled.

Change-Id: I8cde4b0f696b75097e6b50f8b0c71c2b6fff6d6d
CRs-Fixed: 2374083
2019-01-02 14:14:52 -08:00
Arif Hussain
0b634b48ed qcacld-3.0: Restore gDisableDfsJapanW53 ini support
Restore gDisableDfsJapanW53 ini support.

Change-Id: I085e62e7cd8b1fdfe931997d35915f55d079f11d
CRs-Fixed: 2371006
2019-01-01 17:06:03 -08:00
Abhinav Kumar
c1059384a6 qcacld-3.0: Address checkpatch errors added as part of VHT & WMM CFG items
Address checkpatch errors added as part of VHT & WMM CFG items.

Change-Id: I2c3d5466264781cee8197778806a349cfbf06957
CRs-Fixed: 2359406
2018-12-28 12:26:44 -08:00
Ashish Kumar Dhanotiya
efae55b005 qcacld-3.0: 11d and 11h inis are not getting updated
As part of ini convergence, enabled_11d and enabled_11h inis are
moved to converged framework but these inis are not removed from
legacy initialization path which is overwritting these values
to constant values and thus these inis are not taking effect.
Morever in the converged code also these inis are getting
initialized with default values instead of the values given
from ini file.

To address this issue, remove the legacy initialization of these
inis and in the converged ini path initialize these values with
the values configured in the ini files.

Change-id: I3d02c0d543fd561f1fd948b5c2850a509b1104e7
CRs-fixed: 2371528
2018-12-28 12:26:39 -08:00
Manikandan Mohan
2bd0977920 qcacld-3.0: Move IBSS INI params to converged CFG component
Update qcacld driver to move IBSS INI params to converged CFG
component and cleanup HDD ini entriesi

Change-Id: Id8e4c0505113e556a8d64915a648f17fc5c0daf5
CRs-fixed: 2358493
2018-12-28 02:23:00 -08:00
Manikandan Mohan
d350c194b4 qcacld-3.0: Move offload ini params to converged CFG
Move misc offload ini params to converged CFG component and
cleanup HDD ini config.

Change-Id: I14b3d95dc1577d02230168d305d1d1c4c7fef2fd
CRs-fixed: 2358489
2018-12-28 02:22:55 -08:00
Liangwei Dong
b007863932 qcacld-3.0: Handle FW not support SBS
If FW doesn't support SBS, return QDF_STATUS_E_NOSUPPORT
to allow connect request in current HW mode.

Change-Id: Ie960fe993ea95cf40dd43fb56c71edd94efda63b
CRs-Fixed: 2370206
2018-12-27 03:21:07 -08:00
Wu Gao
b901f0e704 qcacld-3.0: Use enum wmi_tdls_state as type of tdls state
Define tdls state as enum wmi_tdls_state, and pass it to
wmi_unified_update_fw_tdls_state_cmd.

Change-Id: I77defc28f78bf3152241f6fb75a7235e06c39c14
CRs-Fixed: 2372455
2018-12-27 01:05:11 -08:00
Manikandan Mohan
06d38d8c48 qcacld-3.0: Add 11K offload param to converged CFG component
Update driver to move 11K offload params to converged CFG component
and remove redundant entries from HDD config.

Change-Id: I7703ca5b23d5fa95a3b5dc5ccd9690771a4bf43d
CRs-fixed: 2357708
2018-12-27 01:05:06 -08:00
Pragaspathi Thilagaraj
df0f544dab qcacld-3.0: Add new "roam_score_delta" and "roam_score_delta_bitmap" ini
Add two new WCNSS_qcom.ini values:
"roam_score_delta" - Factor by which the new roaming candidate
ap score should be greater than the score of the current
connected AP.
"roam_score_deltabitmap" - Roam triggers for which
roam_score_delta needs to be applied on the roam score of the
candidate AP.

Populate these two values to wlan_mlme_scoring_cfg from cfg
component in mlme_init_scoring_cfg. The values are sent to
firmware over the WMI TLV WMI_ROAM_AP_PROFILE in the below code
flow:
csr_update_score_params()->__lim_process_roam_scan_offload_req()
->wma_process_roaming_config()->wma_roam_scan_offload_ap_profile

Change-Id: I64f2a2328e485418547dae937c657f85225f1457
CRs-Fixed: 2367910
2018-12-26 10:12:18 -08:00
Pragaspathi Thilagaraj
ae7dc766b3 qcacld-3.0: BTM changes to add new WCNSS_qcom.ini to configure btm params
Add the following new WCNSS_qcom.ini value:
"prefer_roam_score_for_candidate_selection" - choose to sort the
candidates on roam score or preferred AP list send in the BTM
request frame by AP.
When this ini is set, host driver will
modify btm_offload_config bit 7 which will be read by firmware
to get this ini value.

“roam_candidate_validity_timer” - roam cache entries validity
timer. The candidates in the roam cache are valid only for this
time value. This value is sent to firmware over the wmi command
on the structure wmi_roam_offload_tlv_param

"btm_disassoc_timer_threshold" - Disassociation timer threshold
to wait after which the full scan for roaming can be started
after the AP has sent the disassoc imminent

Change-Id: I3ba5ba2182b1b6d722d9c315757332a1b3e62521
CRs-Fixed: 2369018
2018-12-26 10:12:14 -08:00
Pragaspathi Thilagaraj
7d0a3cf99f qcacld-3.0: Send BTM query over 11k neighbor report
Add new WCNSS_qcom.ini value:
"prefer_btm_query" - Set this flag to enable the firmware to
send btm query for neighbor list. If this flag is not set,
the firmware will fallback to current mechanism of sending
11k neighbor report request instead of btm query.

When this prefer_btm_query is set, host driver will modify
btm_offload_config bit 8 which will be read by firmware to
get this ini value.

Change-Id: Id424c0da7207b0185cee67172782ef5c1d9fd131
CRs-Fixed: 2369000
2018-12-26 10:12:10 -08:00
Pragaspathi Thilagaraj
39d616074e qcacld-3.0: Add new WCNSS_qcom.ini "bss_load_bss_sample_time"
Add new ini item "bss_load_sample_time" to send the monitor
time window for which the beacons are to be sampled to collect
the bss load information.
Also add changes to send bss load trigger parameters only during
RSO start during initial connection

Change-Id: I61d1f3745b56199838fc886f1ed3a05786653501
CRs-Fixed: 2372147
2018-12-26 10:12:06 -08:00
Pragaspathi Thilagaraj
69f0b69ca9 qcacld-3.0: Send bss load trigger values to firmware
Introduce the following new WCNSS_qcom.ini values:
"enable_bss_load_roam_trigger"
"bss_load_threshold"
Send these values over the new wmi command,
WMI_ROAM_BSS_LOAD_CONFIG_CMDID if "enable_bss_load_roam_trigger"
is set to true.

This wmi command will be sent to firmware as part of the RSO
start or update config.

Change-Id: Ib2e21904bc7b8d87e5f51824d2694b90a3ac53f2
CRs-Fixed: 2367770
2018-12-26 07:47:25 -08:00
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
Linux Build Service Account
951c7235f4 Merge branch 'wlan-cmn.driver.lnx.2.0' of ../qca-wifi-host-cmn into HEAD 2018-12-04 16:12:15 +05:30
Linux Build Service Account
c4ee8ca270 Merge branch 'wlan-cmn.driver.lnx.2.0' of ../target2/qca-wifi-host-cmn into HEAD 2018-12-04 16:06:27 +05:30
Linux Build Service Account
0ce7a041e0 Merge branch 'wlan-cmn.driver.lnx.2.0' of ../qca-wifi-host-cmn into HEAD 2018-12-04 16:05:56 +05:30
Linux Build Service Account
478b1fa7a8 Move umac/cmn_services/policy_mgr to components/cmn_services/policy_mgr
Change-Id: Ie67730cd3f1a249c3dcbb2b6eaf95a55cbd08306
2018-12-04 15:59:42 +05:30
Linux Build Service Account
d2bb8757a6 Move target_if/tdls to components/target_if/tdls
Change-Id: Ia72f8dddc21df49bab8ba63be38ce080d858c603
2018-12-04 15:49:52 +05:30