Commit Graph

3277 Commits

Author SHA1 Message Date
Sravan Kumar Kairam
858073b1f9 qcacld-3.0: Remove legacy IPA code from HDD
As part of converged driver model remove IPA from
HDD and create a new IPA CLD component. Remove the
legacy code from the HDD.

Change-Id: Id4691e0f490c2f9bd9ccc8d5225be32002a5df9e
CRs-Fixed: 2177925
2018-03-21 18:57:20 -07:00
Sravan Kumar Kairam
271fab287a qcacld-3.0: Move IPA stats and debug info API to IPA component
IPA module has been moved to CLD component under the converged
driver model. Move the legacy IPA stats and debug info  APIs to
the IPA component.

Change-Id: Ieb68a1579986c835f66c84e5e3b7aa2a4004383d
CRs-Fixed: 2177925
2018-03-21 18:57:17 -07:00
Sravan Kumar Kairam
9e99e9a9f9 qcacld-3.0: Move IPA set perf level API to IPA component
IPA module has been moved to CLD component under the converged
driver model. Move the legacy IPA set perf level APIs to the IPA
component.

Change-Id: Idbbab9cc6885b6acf1cd40d432a236f0629c8dff
CRs-Fixed: 2177925
2018-03-21 18:57:14 -07:00
Sravan Kumar Kairam
d01b445db4 qcacld-3.0: Move IPA setup and initialization to IPA component
IPA module has been moved to CLD component under the converged
driver model. Move the legacy IPA setup and initialization code
to the IPA component.

Change-Id: I63717eb2601c569131c6642f7330e4182e604424
CRs-Fixed: 2177925
2018-03-21 18:57:08 -07:00
Sravan Kumar Kairam
4af61cf612 qcacld-3.0: Create IPA CLD component
As part of converged driver model remove IPA from
HDD and create a new IPA CLD component. Add files for
IPA core, dispatcher and target_if. Define IPA related
public and private structures.

Change-Id: I8848331edc7dd878f9fc51ef9f5e311ad91ed70b
CRs-Fixed: 2177925
2018-03-21 18:57:03 -07:00
Jeff Johnson
f908cd0cad qcacld-3.0: Use roam profile accessor in wlan_hdd_wext.c
Update wlan_hdd_wext.c to use the recently introduced roam profile
accessor function hdd_roam_profile().

Change-Id: I0b7998f674fae9b021b2f5c4d5911b930ed40a39
CRs-Fixed: 2207896
2018-03-21 16:08:45 -07:00
Jeff Johnson
eb21475834 qcacld-3.0: Use roam profile accessor in wlan_hdd_scan.c
Update wlan_hdd_scan.c to use the recently introduced roam profile
accessor function hdd_roam_profile().

Change-Id: I0aec410024263a2f44b79cbcb5f49b3347a5b46f
CRs-Fixed: 2207895
2018-03-21 16:08:35 -07:00
Jeff Johnson
a0c1ca7751 qcacld-3.0: Use roam profile accessor in wlan_hdd_power.c
Update wlan_hdd_power.c to use the recently introduced roam profile
accessor function hdd_roam_profile().

Change-Id: I1d7be21fa5bec21f9502e7c078360d72fc426a6d
CRs-Fixed: 2207894
2018-03-21 16:08:25 -07:00
Jeff Johnson
641839e239 qcacld-3.0: Use roam profile accessor in wlan_hdd_nan_datapath.c
Update wlan_hdd_nan_datapath.c to use the recently introduced roam
profile accessor function hdd_roam_profile().

Change-Id: I442aa7a4ea62f8a5105ed7d7783394f883d5f215
CRs-Fixed: 2207893
2018-03-21 16:08:14 -07:00
Jeff Johnson
025618cb1a qcacld-3.0: Use roam profile accessor in wlan_hdd_main.c
Update wlan_hdd_main.c to use the recently introduced roam profile
accessor function hdd_roam_profile().

Change-Id: Idfb20fbf55c45051e8e67d6a2a746e44c5176ff3
CRs-Fixed: 2207892
2018-03-21 16:08:05 -07:00
Jeff Johnson
8313b9dfdd qcacld-3.0: Use roam profile accessor in wlan_hdd_ioctl.c
Update wlan_hdd_ioctl.c to use the recently introduced roam profile
accessor function hdd_roam_profile().

Change-Id: I6a535f56ed93ebbeb77d3b23f21562e8cd1beb1e
CRs-Fixed: 2207891
2018-03-21 16:07:53 -07:00
Jeff Johnson
2b89f8b8bd qcacld-3.0: Use roam profile accessor in wlan_hdd_hostapd.c
Update wlan_hdd_hostapd.c to use the recently introduced roam profile
accessor function hdd_roam_profile().

Change-Id: Ieb772ec0b851d9a036f01f5002f35033c628d8db
CRs-Fixed: 2207890
2018-03-21 16:07:42 -07:00
Jeff Johnson
20227a9fa2 qcacld-3.0: Use roam profile accessors in wlan_hdd_cfg80211.c
Update wlan_hdd_cfg80211.c to use the recently introduced roam profile
accessor functions.

Change-Id: I7170a1c8c3d499fd84c5187ea5f3097c5c566c35
CRs-Fixed: 2207889
2018-03-21 16:07:33 -07:00
CNSS_WLAN Service
e503affb69 Merge "qcacld-3.0: Use roam profile accessors in wlan_hdd_assoc.c" into wlan-cld3.driver.lnx.2.0 2018-03-21 12:37:25 -07:00
CNSS_WLAN Service
54ec46409c Merge "qcacld-3.0: Introduce hdd roam profile accessor functions" into wlan-cld3.driver.lnx.2.0 2018-03-21 12:37:23 -07:00
Jeff Johnson
844eec7fc8 qcacld-3.0: Use roam profile accessors in wlan_hdd_assoc.c
Update wlan_hdd_assoc.c to use the recently introduced roam profile
accessor functions.

Change-Id: Ie74414bf0038ae8f12e18c8bc13de48c3e37f8a5
CRs-Fixed: 2207888
2018-03-21 12:07:08 -07:00
Jeff Johnson
57e0751622 qcacld-3.0: Introduce hdd roam profile accessor functions
Currently the roam profile associated with an adapter, along with two
accessory buffers, are located within the adapter's hdd_wext_state
structure. However the roam profile is independent of wireless
extensions (WEXT) support, so there is a plan to relocate these
structures. In order to facilitate this relocation first introduce
accessor functions.

Change-Id: Ifdec89d3b529eb50042b08b31615854791024e4d
CRs-Fixed: 2207887
2018-03-21 12:07:04 -07:00
Poddar, Siddarth
762c5475b6 qcacld-3.0: Send NUD diag event when ARP tracking is enabled
Send NUD failure event to diag only when ARP tracking
is enabled, otherwise ignore.

CRs-Fixed: 2178801
Change-Id: I9296df8461671f46d6d90c510a6d47c0d3c13d5c
2018-03-21 05:57:43 -07:00
Dustin Brown
a2868623a0 qcacld-3.0: Use logging wrappers for HDD logs
Several logs are using QDF_TRACE with QDF_MODULE_ID_HDD directly.
Migrate these calls to the hdd_* logging wrappers instead.

Change-Id: I191014f0fd1ae55db71393655d96407ffa5953cb
CRs-Fixed: 2209514
2018-03-20 20:02:12 -07:00
Poddar, Siddarth
df07667dc8 qcacld-3.0: Support WLAN TX/RX Stats in STA mode only
WLAN TX/RX connectivity stats are supported only
for STA mode. Host driver does not honour set/get
connectivity stat command for mode other than STA mode.

Change-Id: I0a96562478ede38321a1e323fb798b7e414b5f59
CRs-Fixed: 2195563
2018-03-20 10:36:37 -07:00
Dustin Brown
ba083735cc qcacld-3.0: Rename ENTER/EXIT macros (part 5)
In order to better align with the rest of the driver, rename the
following macros:
 * ENTER -> hdd_enter
 * ENTER_DEV -> hdd_enter_dev
 * EXIT -> hdd_exit

For part 5, remove the original macro definitions

Change-Id: Ic456c9ded0006989410bd7b2a318f4583c99f54b
CRs-Fixed: 2205851
2018-03-19 22:46:05 -07:00
Dustin Brown
632af71bb3 qcacld-3.0: Migrate HDD to level-specific log wrappers
Change Ie062ada403f8a31aebcde691396987ad9e5352b5 introduced level-
specific logging wrappers to support compiling out entire levels of
logging messages. Migrate the HDD logging wrappers to consume these
new APIs instead of QDF_TRACE.

Change-Id: I20dd9e4844ef9b2170cee0297ef52fd4d27780ff
CRs-Fixed: 2208572
2018-03-19 22:46:01 -07:00
Dustin Brown
500ae3de11 qcacld-3.0: Use level-specific QDF_TRACE_RATE_LIMITED
Change Ie062ada403f8a31aebcde691396987ad9e5352b5 introduced level-
specific logging wrappers. Instead of using QDF_TRACE_RATE_LIMITED
directly, use the level-specific versions.

Change-Id: I21b47f443ae53d1780fd21e352f69b0ea48ae726
CRs-Fixed: 2208563
2018-03-19 22:45:58 -07:00
Poddar, Siddarth
9c2cd26faa qcacld-3.0: Clear connectivity stats based on the bitmap received
Do not clear all the stats at one shot. Clear based on the
packet bitmap received from the hal-proxy daemon.

CRs-Fixed: 2176078
Change-Id: I5ce671e52cd51b073a4bc5f2481888fbe8ad1443
2018-03-19 15:33:03 -07:00
Poddar, Siddarth
31797fa6a8 qcacld-3.0: Extend debug stats
Extend to collect connectivity check stats other
than ARP such as DNS, TCP SYN/SYN-ACK/ACK, and Ipv4.
Add extra attributes in existing vendor command(set/reset
and get NUD debug stats) for above  connectvitiy stats.

CRs-Fixed: 2161889
Change-Id: I037c4ec29b181a0b3117ae2abbc7a2229b373ac2
2018-03-19 15:32:58 -07:00
Dustin Brown
491d54b83b qcacld-3.0: Rename ENTER/EXIT macros (part 2)
In order to better align with the rest of the driver, rename the
following macros:
 * ENTER -> hdd_enter
 * ENTER_DEV -> hdd_enter_dev
 * EXIT -> hdd_exit

For part 2, migrate usages of ENTER

Change-Id: Icd1588b7d2474beaa4a86f5b6dd02ce915386d4e
CRs-Fixed: 2205838
2018-03-19 14:26:17 -07:00
Yun Park
45d3597a63 qcacld-3.0: Check IPA HW support before SMMU enable
Currently even if IPA HW support is not there during load
HOST is checking for SMMU enable status which returns error.
As a result driver load fails. So check for IPA HW support
before checking for SMMU enable status.

Change-Id: I5705f98f88d495b100af7cb2b3d2ad40e7030a8d
CRs-Fixed: 2185620
2018-03-19 12:18:14 -07:00
Himanshu Agarwal
a89ce24bd4 qcacld-3.0: Add support to get IPA SMMU status
Add support to get IPA SMMU status

Change-Id: I0e476b465bcaa2c5e8ae58c0783265e78ebc8181
CRs-Fixed: 2176317
2018-03-19 12:18:12 -07:00
Sravan Kumar Kairam
7b653b42be qcacld-3.0: Add NULL checks before use
Add NULL checks for variables before using them in functions.

Change-Id: I9b10daf6678451860d3fe0bea2d830cfb7c5fd95
CRs-Fixed: 2089858
2018-03-19 09:34:31 -07:00
Sravan Kumar Kairam
b664b6c61b qcacld-3.0: Add support for WLAN-IPA WDI 2 SMMU S1 translation
Update WLAN-IPA WDI-2 datapath buffer sharing for SMMU Stage 1
translation support. When SMMU Stage 1 translation is enabled
DMA APIs return IO virtual address(IOVA) instead of physical
address. This IOVA need to mapped to physical address by IPA
module before accessing them

Change-Id: I969ad020d5b423c785539f346286b212ea5830a1
CRS-Fixed: 2072960
2018-03-19 09:34:26 -07:00
Himanshu Agarwal
edf30dc042 qcacld-3.0: Add support for WLAN-IPA SMMU Stage 1 translation
Update WLAN-IPA datapath buffer sharing for SMMU Stage 1
translation support. When SMMU Stage 1 translation is enabled,
DMA APIs return IO virtual address(IOVA) instead of physical
address. This IOVA needs to be mapped to physical address by IPA
module before accessing them.

Change-Id: I6b24cde7b7805395053a8fd8f9afbad202e6105f
CRS-Fixed: 2072960
2018-03-19 09:34:23 -07:00
Min Liu
5eaf724da1 qcacld-3.0: Update scan list in FW when enable DFS scan
When enable DFS scan via wpa_cli, the related flag in mac context
also need to be updated so that DFS channels will be included in
configurations sent to FW accordingly when DFS scan is enabled.

Change-Id: I6033637364ddbc7e916627e5ab6a94aee825db98
CRs-Fixed: 2201307
2018-03-18 22:50:19 -07:00
Dustin Brown
897dae4376 qcacld-3.0: Update calls to QDF_TRACE_RATE_LIMITED
QDF_TRACE_RATE_LIMITED recently lost its 'rate' parameter in
I31a3f48f68fb6bc67f59f3157a635345943d3331. Update call sites to account
for this change.

Change-Id: I301a36a445be4ecc3e1d24e007d7ca6f05898fc5
CRs-Fixed: 2205796
2018-03-16 21:51:41 -07:00
Jeff Johnson
61b5e98c2a qcacld-3.0: hdd: Utilize struct csr_roam_profile
In hdd replace typedef tCsrRoamProfile with struct csr_roam_profile to
align with the Linux coding style.

Change-Id: I38959a6dadc7f1816548f2fa1c4b404e57070590
CRs-Fixed: 2206694
2018-03-16 09:30:54 -07:00
Ashish Kumar Dhanotiya
36d19b09ca qcacld-3.0: Cache last connection info
Prima to qcacld-3.0 Propagation

Currently last connection info is not getting cached, so when
GETBSSINFO command comes information is extracted from current
conn_info which does not contain all the information required
as this information is cleared after disconnection.

To address this issue cache the connection info before
clearing it.

Change-Id: I3ec13264f97e7a4d0dc4699b463074062d087e82
CRs-Fixed: 2204530
2018-03-16 08:34:59 -07:00
Hanumanth Reddy Pothula
5c7a78161d qcacld-3.0: Don't process set mac net dev operation on interface up
Presently driver is processing set_mac net dev operation while
device is running, though the same is not supported, leading lower
layers and firmware to hold old mac address and kernel net device
object to hold new address.

Process set_mac net dev operation only on interface is down so that
during interface up new mac address will be programmed in lower layers
and firmware.

Change-Id: I037afa31657a6f1eb1129feae6777d8bcfa1b7a9
CRs-Fixed: 2171548
2018-03-15 18:33:35 -07:00
Hanumanth Reddy Pothula
538748570c qcacld-3.0: Validate length argument's lower boundary
While processing set key vendor command, lower boundary of key
length isn't validated properly, which might lead to buffer overflow.

Validate lower boundary of key length argument properly before
processing set key vendor command.

Change-Id: Ic7a6367db507e652a39a82c6489d64937f1b3429
CRs-Fixed: 2200948
2018-03-15 18:33:28 -07:00
Hanumanth Reddy Pothula
560d5713d6 qcacld-3.0: Reset acs configuration after freeing acs channel list
Presently, on receiving DO_ACS vendor command driver resets
acs configuration to zero. This leads dynamically allocated
memory acs channel list address to be lost and thereby memory
leak is observed.

Reset acs configuration after freeing acs channel list, if its
already allocated.

Change-Id: Ice6854bfe8b12799200a5b18d96620f31548d776
CRs-Fixed: 2196377
2018-03-15 15:12:17 -07:00
Rajeev Kumar
fdb0189a4a qcacld-3.0: Add SSR protection wrapper for memdump read
Memdump read API is missing SSR protection wrapper which means
this ready operation can be issued durign driver unload which
can race against memdump deinit and lead to panic in kernel.
Hence add SSR protection wrapper to memdump read API such that
it does not race against driver unload/SSR/module stop.

Change-Id: I32d5ab715c9609abaf8eaaf3ed3db6f77aa8ddea
CRs-Fixed: 2205925
2018-03-15 15:12:12 -07:00
Abhishek Singh
a6e5c3f0bf qcacld-3.0: Change default value of pcl_weightage to 10
Change default value of pcl_weightage to 10, so that PCL weightage
is used while connecting to a profile to select best BSS.

Change-Id: Ic074e01480d32510fb355846d92cb81d01e6e0d8
CRs-Fixed: 2206140
2018-03-15 11:51:02 -07:00
Tiger Yu
f3d5d7f5f1 qcacld-3.0: Do not enable the pktlog when interface is up
The pktlog will be enabled when interface is up. Which might affect
the performance heavily. So do not enable it at the initialization
to avoid this side effect.

Change-Id: Ie03a7e0a77bc5f525ad7ae74bb104a6d1bf21eb7
CRs-Fixed: 2206216
2018-03-15 09:32:35 -07:00
Dustin Brown
e74003faac qcacld-3.0: Rename ENTER/EXIT macros (part 3)
In order to better align with the rest of the driver, rename the
following macros:
 * ENTER -> hdd_enter
 * ENTER_DEV -> hdd_enter_dev
 * EXIT -> hdd_exit

For part 3, migrate usages of EXIT

Change-Id: I0868800b694c92d2ad157394d619c05f89dd222d
CRs-Fixed: 2205840
2018-03-15 08:04:58 -07:00
Zhu Jianmin
6a7b702184 qcacld-3.0: Fix ifconfig wlan0 up failed on Rome
Fix 2 sub issues:
1. wlan_hdd_update_dbs_scan_and_fw_mode_config and
sme_soc_set_dual_mac_config is called in
hdd_wlan_start_modules->hdd_configure_cds->hdd_features_init,
before hdd_start_adapter,  so vdev isn't created yet,
csr_queue_sme_command returned failed

Fixed by moving wlan_hdd_update_dbs_scan_and_fw_mode_config to
end of hdd_start_adapter

2. Rome doesn't support DBS, doesn't support cmd and wmi service
WMI_PDEV_SET_MAC_CONFIG_CMDID. so no response event for the cmd,
the cmd can't be removed from active list. so next cmd:
WMA_ADD_STA_SELF_REQ can't be executed at all, no complete event
for sme_open_session, hdd_init_station_mode failed

Fixed by checking whether support HW DBS before
sme_soc_set_dual_mac_config

Change-Id: Iec2ef7e77e91f332028904c319d24e1ed134306d
CRs-Fixed: 2202262
2018-03-15 08:04:55 -07:00
Rajeev Kumar
f5a17acdc7 qcacld-3.0: Remove redundant extern keyword from wext public APIs
Some of wext public APIs are declared using extern storage
class specifier which is not needed hence clean up extern
keyword from wext public API declarations from wlan_hdd_wext.h

Change-Id: Ib1fe79a94b62bc457784340a7e930489fffe98f9
CRs-Fixed: 2202699
2018-03-15 08:04:52 -07:00
Dustin Brown
5e89ef8673 qcacld-3.0: Remove hdd_notice
hdd_notice() is a redundant re-definition of hdd_info(), so remove it.
Replace existing usages with hdd_info() or hdd_debug() as appropriate.

Change-Id: Ie8ce7530c0118eff740975dcce396b68c2115429
CRs-Fixed: 2205815
2018-03-15 08:04:50 -07:00
Himanshu Agarwal
813b2bf082 qcacld-3.0: Handle concurrency for green AP component
Invoke green AP start/stop based on the current concurrency
and present state of green AP state machine.

Change-Id: I5648d236e6492f326c7ba9951da550e229352412
CRs-Fixed: 2173952
2018-03-15 08:04:47 -07:00
Rachit Kankane
0baf6e723f qcacld-3.0: Compile out MTRACE feature
Fix to disabled MTRACE feature

Change-Id: I400933feecc54b46bd9aebdbc2cb5440c882112b
CRs-Fixed: 2189869
2018-03-15 08:04:44 -07:00
Dustin Brown
bacc48f334 qcacld-3.0: Remove redundant FL in HDD
The hdd_* logging wrappers already inject the calling function and line
number information, but several consumers are wrapping the format string
in a call to FL, which does the same thing. Remove redundant calls to FL
in HDD.

Change-Id: Ieb3e54f707579296fbfdbce74496800cf14ecd0a
CRs-Fixed: 2205912
2018-03-15 06:08:38 -07:00
Dustin Brown
fdf17c1e26 qcacld-3.0: Rename ENTER/EXIT macros (part 4)
In order to better align with the rest of the driver, rename the
following macros:
 * ENTER -> hdd_enter
 * ENTER_DEV -> hdd_enter_dev
 * EXIT -> hdd_exit

For part 4, migrate usages of ENTER_DEV

Change-Id: I53628486c9acf5c444c2a97c40ab02324e9a00d7
CRs-Fixed: 2205843
2018-03-15 06:08:35 -07:00
Dustin Brown
32a6118d85 qcacld-3.0: Rename ENTER/EXIT macros (part 1)
In order to better align with the rest of the driver, rename the
following macros:
 * ENTER -> hdd_enter
 * ENTER_DEV -> hdd_enter_dev
 * EXIT -> hdd_exit

For part 1, introduce the new macros

Change-Id: I82fed51ed676041352acfeff20923c58ade4a826
CRs-Fixed: 2205830
2018-03-14 17:58:34 -07:00