Commit Graph

1339 Commits

Author SHA1 Message Date
Pragaspathi Thilagaraj
a19068f611 qcacld-3.0: Fix default ini value of gAutoBmpsTimerValue
When BMPS is already enabled and we have entered the WOW mode,
we start detecting the AP behavior , where the AP
continuously sets the TIM bit and because of which we don’t go
to PM1 mode after waking UP.

With the current ini value, we don't go to sleep for 30 secs,
which should be updated to 90secs.

Change-Id: I3b551011e90761f1dc13197a4795972f495853a6
CRs-Fixed: 2306266
2018-10-02 00:46:44 -07:00
Wu Gao
66454f118f qcacld-3.0: Apply PMO configures
Since refined PMO configures based on converged cfg component, apply
PMO configurations, remove related legacy codes.

Change-Id: I2cdf18c1000d8cc923c80c00bf530b2b0c60563e
CRs-Fixed: 2322185
2018-10-01 18:38:10 -07:00
Pragaspathi Thilagaraj
3551caa95b qcacld-3.0: Fix error handling in eWNI_SME_ADD_STA_SELF_RSP
When peer creation fails in wma_create_peer, vdev delete is sent
to the fw and then eWNI_SME_ADD_STA_SELF_RSP is sent to sme.
Here three error cases needs to be handled:
1. The vdev deletion has happened, but the cdp_detach_peer is
not done. So the data path peer remains. Also the vdev_active
flag that was set after vdev creation was not unset.
2. The eWNI_SME_ADD_STA_SELF_RSP msg handler
csr_process_add_sta_session_rsp invokes csr_roam_session_opened
which signals HDD that vdev is created successfully and hdd
calls hdd_vdev_ready and vdev related parameter set commands are
sent to FW for the deleted vdev.
3. Vdev delete is not sent for objmgr peer creation failure in
case of VDEV_TYPE_STA and release vdev object ref count.

Add cdp_vdev_detach() calls during error case and set the
vdev_active flag to false. Handle releasing vdev object ref
count in all needed error case flows.
Propagate the error in wma_vdev_attach() through
csr_roam_session_opened() to HDD and abort the vdev create.

Change-Id: Iec97122d011098fae7ae2a59864fbe8ca8a0980e
CRs-Fixed: 2322212
2018-10-01 09:24:20 +05:30
Harprit Chhabada
bec6de418b qcacld-3.0: Add CFG/INI items to mlme component
Add following mlme CFG items to mlme component

1.CFG_RTS_THRESHOLD
2.CFG_FRAGMENTATION_THRESHOLD

Change-Id: I07b5dcffe8d3d03fa2cbecc7be563c407dc4d61e
CRs-Fixed: 2313600
2018-09-28 19:01:39 -07:00
Dundi Raviteja
85a240a6c0 qcacld-3.0: Relocate IE whitelist cfg items
Relocate IE whitelist config items to FW offload component.

Change-Id: Idcb665f4d6069c0723b0a8ae17e54d8cbe71239d
CRs-Fixed: 2316597
2018-09-27 23:41:49 -07:00
Arunk Khandavalli
987c8d514a qcacld-3.0: cleanup the interface if it went down during SSR
If the interface down is issued during the SSR the driver simply
rejects the interface down and silently initializes during the
reinitialization. This can result in resource leakages and also
results in upper layer and driver out-of-sync.

Hence mark the adapter that interface went down during ssr and
cleanup the same during the end of reinitialization so we can
cleanup all the resources.

Change-Id: I426eff3be09abdbafeaf7501df551ea7c49a0f47
CRs-Fixed: 2256433
2018-09-27 16:36:41 -07:00
Pragaspathi Thilagaraj
84b728464a qcacld-3.0: Check for zero mac during hdd adapter open
When zero mac address is configured on nvram, the
hdd_open_adapter accepts the value and passes this zero mac to
csr_session_open where the self mac address is stored as zero
value mac and peer creation is done with the same. When peer
delete is sent to firmware with this mac, firmware asserts.

Add check to validate mac address value is not zero.

Change-Id: I077c29c98ef4e1b11e4c587224acd4405629fa83
CRs-Fixed: 2310499
2018-09-26 16:58:34 -07:00
Dustin Brown
05d8130311 qcacld-3.0: Remove hdd_context.hdd_psoc
The name 'hdd_psoc' is misleading, since it is not actually an HDD psoc
context. Rather, it is the Object Manager psoc context. Rename hdd_psoc
to psoc for consistency, and to make room for HDD to have its own psoc
context.

After I1aa67d0554400ed552dc488805ba3421531a26c3, replace the
remaining instances of hdd_psoc and finally remove hdd_psoc from
hdd_context.

Change-Id: If9a4941e18a75563f9ab978bd4b38bd1145e4ada
CRs-Fixed: 2312429
2018-09-26 16:58:31 -07:00
gaurank kathpalia
e5a17e4acb qcacld-3.0: Add MLME-CFG items for feature flags
Add these cfg mlme items for feature flags:-
1. ACCEPT_SHORT_SLOT_ASSOC_ONLY
2. HCF_ENABLED
3. RSN_ENABLED
4. 11G_SHORT_PREAMBLE_ENABLED
5. 11G_SHORT_SLOT_TIME_ENABLED
6. CHANNEL_BONDING_MODE
7. CFG_BLOCK_ACK_ENABLED

Change-Id: Id55299ece0169d40608df8508fbd768bb8aed741
CRs-Fixed: 2315584
2018-09-25 15:33:37 -07:00
Dundi Raviteja
47ac70974a qcacld-3.0: Relocate thermal info cfg items
Relocate thermal info config items to FW offload component.

Change-Id: If03507a44041b53aa81837f687914931e8a05ec8
CRs-Fixed: 2316595
2018-09-24 18:55:07 -07:00
Karthik Kantamneni
24f71bcfbf qcacld-3.0: Add MLME CFG items of RTT and PMF
Add CFG items of RTT and PMF as generic items based
on converged cfg component.

Change-Id: Ic95d1e7b052259149704d9faf65ebe5f51536fdf
CRs-Fixed: 2313281
2018-09-24 15:37:23 -07:00
Karthik Kantamneni
2231a23f44 qcacld-3.0: Add MLME OCE CFG items
Add OCE CFG items based on converged cfg component,
remove related legacy code.

Change-Id: I976981048be2df3f429003fc5db13f48a6ad27d0
CRs-Fixed: 2313157
2018-09-24 15:37:16 -07:00
Yeshwanth Sriram Guntuka
d777eeaef6 qcacld-3.0: Enable FILS discovery in SAP by default
Enable FILS discovery in SAP mode by default.

Change-Id: Id21042172db59900814d3cbc557327c7b55a3ef2
CRs-Fixed: 2317667
2018-09-21 14:42:55 -07:00
Alok Kumar
ea70b1c815 qcacld-3.0: Enable NUD tracking feature by default in driver
By default enable the NUD tracking within driver.

Change-Id: I0501ae4f90934139a3610c2cd74464e97a1100d8
CRs-Fixed: 2317572
2018-09-20 14:54:43 -07:00
Bala Venkatesh
2fde2c61db qcacld-3.0: SAP CFG Items part 2
Add support for the sap cfg items in new mlme component

Change-Id: I80f3f00a85720fe7bec11575fe67dd2f6b9d44b2
CRs-Fixed: 2316643
2018-09-20 10:30:08 -07:00
Vignesh Viswanathan
987f0bba09 qcacld-3.0: Use MLME CFG for BSS Scoring Items
Implement the usage of MLME CFG infra for BSS Scoring related INI Items
and remove the older INI definitions from HDD.

Change-Id: I0db69138f0439131916a38176b5b21b706ff3671
CRs-Fixed: 2318320
2018-09-19 23:15:15 -07:00
Wu Gao
ca416ff63a qcacld-3.0: Apply mlme lfr configuraions
Since refined mlme lfr configures based on converged cfg component,
apply mlme lfr configurations, remove related legacy codes.

Change-Id: Iebda5bbb3c5c68b922b7f6ac1adaf25cccf903a6
CRs-Fixed: 2316494
2018-09-18 12:49:00 -07:00
Dustin Brown
76cd293220 qcacld-3.0: Introduce hdd_contex.psoc
The name 'hdd_psoc' is misleading, since it is not actually an HDD psoc
context. Rather, it is the Object Manager psoc context. Rename hdd_psoc
to psoc for consistency, and to make room for HDD to have its own psoc
context.

As a first step towards this large renaming, introduce a union in
hdd_context such that such both names can exist during the transition
period.

Change-Id: I9971c478c0d1dc111bb20a7cd6614f73ffb0b15d
CRs-Fixed: 2315990
2018-09-18 12:48:50 -07:00
Pragaspathi Thilagaraj
cd6aef0bd3 qcacld-3.0: Add MLME CFG items of MBO INI configs
Add the MBO ini configs to mlme for the following:
1. CFG_MBO_CANDIDATE_RSSI_THRESHOLD
2. CFG_MBO_CURRENT_RSSI_THRESHOLD
3. CFG_MBO_CUR_RSSI_MCC_THRESHOLD
4. CFG_MBO_CAND_RSSI_BTC_THRESHOLD

Change-Id: I9e779c912538973c8281170ec8c212a4f05b7e2e
CRs-Fixed: 2314168
2018-09-18 06:17:05 -07:00
Dustin Brown
f0f7056644 qcacld-3.0: Refactor __hdd_module_init/exit
In preparation for additional work in this area, refactor the
__hdd_module_init and __hdd_module_exit areas.

* Rename __hdd_module_init to hdd_driver_load
* Rename __hdd_module_exit to hdd_driver_unload
* Add missing error handing in hdd_driver_load
* Address symmetry issues between hdd_driver_load and hdd_driver_unload
* Remove redundant call to hdd_sysfs_destroy_version_interface
* Update hdd_set_conparam to take a signed integer
* Address various other style issues

Change-Id: I8ea936a493bb262abf7d43a816dbf72530efa424
CRs-Fixed: 2315840
2018-09-17 14:24:48 -07:00
Wu Gao
93816217da qcacld-3.0: Apply mlme sta configuraions
Since refined mlme sta configures based on converged cfg component,
apply mlme sta configurations, remove related legacy codes.

Change-Id: Ia5989a29378bf33e3c9550a0ae26338aeb966592
CRs-Fixed: 2312079
2018-09-17 10:44:54 +08:00
Pragaspathi Thilagaraj
48d273cbf0 qcacld-3.0: Remove legacy INI items of QOS aggregation configs
Remove the legacy INI code from hdd_cfg. Replace the existing
access from hdd_config with new mlme api.

Change-Id: Iddde15330c1ad39a59bd9a3c7ea86af971df61b5
CRs-Fixed: 2313296
2018-09-14 03:12:25 -07:00
Jinwei Chen
ffaa467dff qcacld-3.0: support HE STS Caps setting by INI
Currently user can not configure HE STS capability through
INI, use gTxBFCsnValue that share same INI with VHT to achieve
it.

Change-Id: Ia83462113cdf06e0af8b9f00c968745363aba9b4
CRs-Fixed: 2306083
2018-09-13 07:58:35 -07:00
Wu Gao
d8f3db0fb5 qcacld-3.0: Refine mlme obss ht40 configurations
Refine mlme obss ht40 configurations based on converged cfg component.
Remove related legacy codes.

Change-Id: If4f061a16e9a2a0bba81d1d24aa1f52bbeadacf5
CRs-Fixed: 2311907
2018-09-13 04:52:15 -07:00
Harprit Chhabada
e8155d3e50 qcacld-3.0: Enable EXTSCAN based on converged extscan component
Enable EXTSCAN based on converged cfg component and remove
legacy codes.

Change-Id: Ia4af89c6a898a936c89c6f3f155609a9c3d98541
CRs-Fixed: 2302197
2018-09-12 17:56:55 -07:00
Yeshwanth Sriram Guntuka
35bc5ccf91 qcacld-3.0: Enable few OCE STA ini by default
Enable oce_enable_probe_req_rate, enable_esp_for_roam
and oce_enable_probe_req_deferral ini by default.

Change-Id: I84aaceb468bac54c97c30f681981296a0666063c
CRs-Fixed: 2312013
2018-09-12 15:55:55 -07:00
Vignesh Viswanathan
8c207396ff qcacld-3.0: Set gAutoBmpsTimerValue to 30 seconds by default
Currently gAutoBmpsTimerValue is set to defaut value of 5 seconds
so that after 5 seconds from association completion, the device would
go to power save. However, this would lead to issues if an ADDTS req is
received from the supplicant. The ADDTS req would be sent to the AP but
the AP would not send the ADDTS response immeidately and would buffer it
as the device is in power sleep.

Ideal way is for the framework to control the device power save where
the framework should push the device to power save after connection and
should disable power save before sending an ADDTS request.

However, to avoid cases where the framework fails to send the power
cfg ops to the host after connection leading the FW to the stuck in
full power mode, setting the gAutoBmpsTimerValue to 30 seconds by
default.

Change-Id: Idc8af26174a56cd1afee3c7a4353b4d7ebeac2d7
CRs-Fixed: 2313913
2018-09-12 11:58:22 -07:00
Sandeep Puligilla
b7beb478db qcacld-3.0: Add legacy VDEV manager callbacks
Add legacy VDEV manager callbacks framework.

Change-Id: I8529a54382b3ffdecd25e54a97fc69d6a6a68177
CRs-Fixed: 2312724
2018-09-12 07:08:13 -07:00
Ashish Kumar Dhanotiya
9f72df00fd qcacld-3.0: Add mtrace logging for P2P module
We are transitioning to new logging infrastructure
by using existing mtrace functionality.

Add new logging for complete P2P module.

Change-Id: If49d66ea42a48be0ac6c7a8b4c91d69ebd5fcef9
CRs-Fixed: 2308618
2018-09-11 12:01:40 -07:00
Pragaspathi Thilagaraj
00bd8bc47f qcacld-3.0: Remove legacy ini for chainmask configs
Remove the legacy ini config values defined in hdd_cfg.
Call the mlme cfg get api to retrieve chainmask config values.
Remove the tx_chainmask_cck from cds_config as mlme object is
not initialized during cds_open. Call mlme cfg api during
wma_open to populate the tx_chainmask_cck value.

Change-Id: If48aeb62cf35e2e604be2b72845b8e98c5c313dc
CRs-Fixed: 2310382
2018-09-11 12:01:28 -07:00
Dustin Brown
1a20b08cd1 qcacld-3.0: Remove DRIVER_MODULES_OPENED
The "open" state only comes into play once, when the wlan driver is
first loaded. It represents a driver state that is neither fully up, nor
down, as the soc has been probed, but many internal data structures have
not been initialized yet. After the first interface up operation,
however, the driver moves to the "enabled" state, and can never re-enter
the "open" state.

This half-up driver state causes a number of difficult to deal with side
effects, without adding much value. Simply remove the state, instead moving
straight into the "enabled" state on wlan load instead. Thus, moving
into the idle "closed" state after wlan load will look exactly the same
as it does  after the last interface is downed.

Change-Id: I4ec1268eb491fec04a78b90e51c6e616d95e019e
CRs-Fixed: 2295921
2018-09-07 23:23:44 -07:00
Dustin Brown
07901ecb55 qcacld-3.0: Rename hdd_pdev to pdev
The name 'hdd_pdev' is misleading, since it is not actually an HDD pdev
context. Rather, it is the Object Manager pdev context. Rename hdd_pdev
to pdev for consistency, and to make room for HDD to have its own pdev
context.

Change-Id: Ie27e4b21d83865474bd464ba2c3948a0684de29b
CRs-Fixed: 2311497
2018-09-07 19:02:23 -07:00
Dustin Brown
89fa06ec3a qcacld-3.0: Rename hdd_vdev to vdev
The name 'hdd_vdev' is misleading, since it is not actually an HDD vdev
context. Rather, it is the Object Manager vdev context. Rename hdd_vdev
to vdev for consistency, and to make room for HDD to have its own vdev
context.

Change-Id: I6186d010404c0a7b1e25590d87e5350195faba80
CRs-Fixed: 2311435
2018-09-07 17:22:45 -07:00
Qiwei Cai
1c52ef67ba qcacld-3.0: Optimize struct reg_table_entry definition
Optimize struct reg_table_entry definition by means of
alignment and data type declarations to save memory.

Change-Id: Ib97541b0868416d1d797d8326e265e9789a040da
CRs-Fixed: 2301744
2018-09-07 09:25:26 -07:00
Rajeev Kumar Sirasanagandla
4f20b67e7a qcacld-3.0: Add debugfs support for roam scan stats
Add debugfs entry to get last five roam scan stats info which includes
old bssid, new bssid, roaming candidates etc., for STA interface.

Change-Id: Ied66beb270d97b6e17a6116c1be0e82783094519
CRs-Fixed: 2203885
2018-09-07 04:43:53 -07:00
Ashish Kumar Dhanotiya
12f682166b qcacld-3.0: Add ini to enable/disable Mtrace logging
Add ini to configure Mtrace log level for all the Modules.

Change-Id: I7b2a2d7c4ebeb9731365bd3a33c340ca74717944
CRs-Fixed: 2310401
2018-09-07 03:04:01 -07:00
Pragaspathi Thilagaraj
f4cc58b320 qcacld-3.0: Add MLME CFG items of sap/sta erp protection
Add the following SAP/STA protection ini and cfg parameters to MLME cfg:
CFG_PROTECTION_ENABLED       - CFG
CFG_FORCE_POLICY_PROTECTION  - CFG
CFG_IGNORE_PEER_HT_MODE_NAME - INI

Change-Id: I3763d62c6aa4ae79a5a31dfac248e8367b6369ad
CRs-Fixed: 2310378
2018-09-07 01:29:17 -07:00
Rajeev Kumar Sirasanagandla
85f8b02175 qcacld-3.0: Add debugfs support for offload info
Add debugfs entry to get offload info (mc addr list, arp, ns etc.,)
for STA interface.

Change-Id: I8bf4491929b5ef04ed5ce19f4b0030945f0eb0c0
CRs-Fixed: 2203786
2018-09-06 08:54:37 -07:00
Rajeev Kumar Sirasanagandla
4c8edc0e69 qcacld-3.0: Add debugfs support for connect info
Add debugfs entry to get connect info (bssid, ssid, freq etc.,)
for STA interface.

Change-Id: Id5c350dbb4ca9b9f6b203459adee59b2d5e94f67
CRs-Fixed: 2203654
2018-09-06 08:54:34 -07:00
Rajeev Kumar Sirasanagandla
197d417733 qcacld-3.0: Add debugfs framework support for CSR
Add debugfs framework support to get connect, scan,
roam scan statistics and offload info from debugfs.

Change-Id: I86bdd7e449488d2bcda1b2eaaeb07aac7465770b
CRs-Fixed: 2203626
2018-09-06 08:54:31 -07:00
Bala Venkatesh
113a9e602a qcacld-3.0: Configure the tdls offchannel params through IOCTL
Add support to configure tdls offchannel params
through IOCTL commands.

Change-Id: I90ba90b5ef980f837ce4759755efe190672ad911
CRs-Fixed: 2303145
2018-09-05 18:11:23 -07:00
Liangwei Dong
2f29b37809 qcacld-3.0: Add INI for dbs mode selection
Add dbs_selection_policy to select preferred
2x2 DBS band.
Add vdev_priority_list to set the vdev 2x2
priority list.

Change-Id: I79bba3dbeecba85a04a4ddc1b57ca798998fc7d7
CRs-Fixed: 2304298
2018-09-05 06:46:55 -07:00
Rachit Kankane
f6834c4b4c qcacld-3.0: Featurize Dynamic Voltage Config
Host provides INI way to control voltage configs, featurizing the
same for Genoa.

Change-Id: Ia58d84eb2e2a67ead189a51d2a0b98230513f8f9
CRs-Fixed: 2304125
2018-09-05 00:17:45 -07:00
Nirav Shah
5c083da176 qcacld-3.0: Remove hardcoded print message for ini parameters
Remove hardcoded print message for ini parameters during
insmod and use hdd_cfg_get_global_config to print ini
parameters.

Change-Id: I3ac077818e99c461866211e220232fa6c0e3e00d
CRs-Fixed: 2278888
2018-09-03 00:22:07 -07:00
Dustin Brown
20f9fc4f4d qcacld-3.0: Use enums for hdd bit flags
Hdd has two sets of bitmap flags which are using #define's. It so
happens that two of the flags use the same bit offset. To address this,
and ensure no such issues arise in the future, convert these into
auto-incrementing enumerations.

Change-Id: I8f0e9d0f3a0a493176227ccf16f25d0a4c5bdc73
CRs-Fixed: 2307446
2018-09-01 19:19:26 -07:00
Amar Singhal
0fcce7d7a3 qcacld-3.0: Add INI to enable 11d in world mode
In WORLD mode, there can be urgency to discover the current country
since WORLD mode restricts the channel and TX power availability.Add
INI enable_11d_in_world_mode to automatically enable 11d in WORLD
mode. This INI supersedes the setting in 11d INI variable
Is11dSupportEnabled.

CRs-Fixed: 2289349
Change-Id: I7b289cdb60be5e737f41f9de5a478f32a234e717
2018-08-31 11:17:18 -07:00
Karthik Kantamneni
22dd0f69cb qcacld-3.0: Add MLME CFG items of rates [PART 1]
Add MLME CFG items of rates

Change-Id: I9f52f2ef0eef4698ddc13c55dd56d938a6e4c677
2018-08-31 02:33:14 -07:00
Krunal Soni
6c3859f433 qcacld-3.0: Add iwpriv command to set and get BA aging timeout value
Add new iwpriv command to set BA aging timeout value to hardware.

e.g. "iwpriv wlan0 set_ba_timeout <ac> <duration>" which should set
given duration in msecs for given access class.

"iwpriv wlan0 get_ba_timeout" which should get duration
value for each access class and display.

CRs-Fixed: 2254891
Change-Id: I79f79191c47376e414dceeb73b736a0a9610e3ae
2018-08-28 14:46:24 -07:00
Dustin Brown
35008baacb qcacld-3.0: Stop bus bandwidth work with timer
The bus bandwidth compute timer is a periodic timer which computes bus
bandwidth usage of associated adapters over a period of time. When the
last adapter disassociates, this timer is stopped. However, the timer
starts a work that is not stopped or flushed at this time. When the
device is under load from external subsystems, this work can get pushed
out past what is safe. When the bus bandwidth timer is stopped, also
stop and flush the bus bandwidth work to ensure safe memory access.

Change-Id: I32c15b42c9756341d1ecf534c05f87738fd24edb
CRs-Fixed: 2300697
2018-08-27 16:43:10 -07:00
Nachiket Kukade
989bb351cb qcacld-3.0: Advertise NAN support only if INI is enabled
Under get_supported_features vendor command driver is advertising
NAN capability by checking only the Firmware support. If NAN is
disabled through INI it should not advertize this support.

Add an INI parameter check before advertizing NAN capability.

Change-Id: Ib48044a04500d6619b97d5ca1c3431ee64d7e096
CRs-Fixed: 2288204
2018-08-27 07:00:35 -07:00