Commit Graph

186 Commits

Author SHA1 Message Date
Ashish Kumar Dhanotiya
9335d81f23 qcacld-3.0: Add host support to configure ITO repeat count
Add Host support to configure inactivity timeout repeated
count from ini.

Change-Id: I6b079ab55470838a9bf5488ec18dbd2977c3ee17
CRs-Fixed: 2066004
2017-07-05 05:50:39 -07:00
Hanumanth Reddy Pothula
2a8a740a4d qcacld-3.0: Add support for SSR within SSR
Add below changes to support SSR within SSR,
1.Add new driver state, CDS_DRIVER_STATE_BAD, which will be set
  on re-init failure and reset on re-init success and if this
  state is set, don't allow any north-bound calls.
2.Don't de-register wiphy/netdev on re-init failure.
3.BUG_ON if re-init or probe fails successively for two times.
4.During driver unload, don't wait for SSR to be completed.

Change-Id: Id05a3e4b592664c9b56c7dd83b965b973f1d5ca5
CRs-Fixed: 2037628
2017-07-03 19:54:20 -07:00
Ravi Kumar Bokka
05c14e5c50 qcacld-3.0: Auto Detect SoC Power Collapse Failure changes
Add host support for detecting SOC power collapse failures in FW and
communicating the same to framework.

Change-Id: Icee39c896802c4d7136e0b8ef442a33feeb4799c
CRs-Fixed: 1112979
2017-06-27 22:13:09 -07:00
Nitesh Shah
f9a09ff89a qcacld-3.0: Send DBS Scan selection policy command to WMI
This change address sending DBS Scan selection policy command
to WMI.

Change-Id: I0117845ac28e3ca8977eefc09b738a79181b4115
CRs-Fixed: 2029280
2017-06-14 08:23:57 -07:00
Nachiket Kukade
8003d257b9 qcacld-3.0: Add and use API to check FW Down indication bit during probe
When commands to Firmware fail during probe due to Firmware being down, in
most cases QDF_BUGs are hit, not allowing re-probing to take place. A new
API is defined to check if the failure is due to Firmware being down or not.
If so, return error gracefully allowing re-probing to take place

Change-Id: Ib2f21a6f1ced1c16e9d2bdbda810b160ff63e2c6
CRs-fixed: 2027444
2017-06-12 17:19:28 -07:00
Rajeev Kumar
be0212444b qcacld-3.0: Remove un-used cds_context argument from post_disable
cds_post_disable does not use cds_context argument hence remove it.

Change-Id: I44f78b5544431c2ebe06748c058ecb2279711ff9
CRs-Fixed: 2008071
2017-05-30 19:32:29 -07:00
SaidiReddy Yenuga
699d90e4b0 qcacld-3.0: Create and Destroy bug report lock over insmod and rmmod
Logging thread creates the bug report spinlock initially.
ifconfig thread tries to create the same spinlock
again, this leads to change in spinlock magic.

Create and Destroy the same lock on insmod/rmmod only.

CRs-Fixed: 2033886
Change-Id: Iea2fe4f9bd47b0d7f4ad1a176a361bac242b9d4d
2017-05-24 12:10:11 -07:00
Kiran Kumar Lokere
b1d412e15d qcacld-3.0: Add support for regulatory component ucfg apis
Add support for regulatory component ucfg apis to provide user
configuration

Change-Id: I994e53b17788472de979df9dce9e18c6f68de850
CRs-Fixed: 2012415
2017-05-18 13:42:29 -07:00
Arif Hussain
cd1516322d qcacld-3.0: Use dfs component support
Remove legacy dfs api’s and use dfs component.

Change-Id: Ia0fa016b174ef4b50e2cc339e4e476ec65642dbf
CRs-Fixed: 2021357
2017-04-25 01:08:44 -07:00
Kiran Kumar Lokere
a3de226328 qcacld-3.0: Replace regulatory apis with reg component apis
Replace the legacy regulatory apis with regulatory component
public service apis

Change-Id: Ifd8c93fc8f57116cfc432b853248b35fd7ed1b94
CRs-Fixed: 2008013
2017-04-20 17:10:19 -07:00
Hanumanth Reddy Pothula
e87621b5ab qcacld-3.0: Add ini param to control active BPF for MC/BC packets
Add new ini parameter, gActiveMcBcBpfMode, to control active BPF
mode for MC/BC packets. By default its value is set disable.
Also, rename ini param name to gActiveUcBpfMode from gActiveBpfMode
and respective cfg variable name to active_uc_bpf_mode from
active_bpf_mode.

Change-Id: I1a42351585c34e7b6da8c26af9ac7b7abe0c0322
CRs-Fixed: 2032699
2017-04-20 08:55:02 -07:00
Sachin Ahuja
dddd263d8f qcacld-3.0: Add wait for timeout in state ctrl param
Currently wait for timeout happens in module_init which blocks
the driver loading in case of static driver

To mitigate this issue, wait is added in state ctrl param for DLKM,
static and load once and unload never driver types.

Change-Id: I1c2e427df3faa3cf68295868f6d98746e481987f
CRs-Fixed: 2012813
2017-04-19 14:14:14 +05:30
Amar Singhal
5cccafec64 qcacld-3.0: Wiphy initialization for regulatory offload
For regulatory offload, send the regulatory config settings to regulatory
component to compute the current channel list. Query channel list for
each band. Populate the channel list in wiphy. Also do not register
regulatory notifier with the kernel anymore.

CRs-Fixed: 2008013
Change-Id: Ia4995c7498d97fe1e37717e65daa9dcacb2f21b3
2017-04-16 15:58:42 -07:00
bings
e278238ac1 qcacld-3.0: Fix channel weight in sap_sort_chl_weight_all
qcacld-2.0 to qcacld-3.0 propagation

Currently if acs configs channel width as 40/80MHZ, it may select
invalid channel as its second channel.
When doing sap_select_channel, if acs configs channel width as
40/80MHZ, every candidate channel and its adjacent channel should
be checked whether it can satisfy 40/80MHZ or not. Mark the weight
of the channel that can't satisfy 40/80MHZ as max value
in sap_sort_chl_weight_all, so it will not be selected.

Change-Id: I69abbb752be8d0fae2644a9000156735048d6d16
CRs-Fixed: 1085469
2017-04-11 04:16:40 -07:00
Dustin Brown
8d2d0f57a5 qcacld-3.0: Expose WMI/Credit History debugging APIs via ioctl
Add an ioctl that allows a user to dump a specified number of records to
dmesg for WMI and Credit History.

Change-Id: I644dcf5edcb2f875af1e99e7b4677cde37081674
CRs-Fixed: 2028760
2017-04-06 10:58:54 -07:00
Dustin Brown
7011182571 qcacld-3.0: Prevent getting stuck in SSR with external thread
During driver recovery, following a crash in firmware, there is a
chance to get stuck waiting for the MC thread to exit after it has
already done so. This is due to an external thread being active in the
driver when it should not be possible. Improve logging in such cases
to find out which thread is running, and skip waiting for MC thread
shutdown if it is already stopped to prevent getting hung.

Change-Id: I53ddc3afb8561ecd2d6b708b6488c503068c49a6
CRs-Fixed: 2027020
2017-04-04 15:36:34 -07:00
Tushnim Bhattacharyya
e2ee70a6b6 qcacld-3.0: Remove legacy code for policy manager restructuring
Remove legacy policy manager code as part of policy manager moving to host
common.

Change-Id: I6cb9fe12bee3702556c9b52e7ccb7c69c762d8de
CRs-Fixed: 2009818
2017-03-30 16:26:34 -07:00
Tushnim Bhattacharyya
9e81b4ca94 qcacld-3.0: legacy code change for policy manager restructuring
Modify legacy code to cope with the policy manager moving to host
common

CRs-Fixed: 2009818
Change-Id: Ifa27ecdf1e37eda6f929f89da603bc356e9cb7fd
2017-03-30 16:26:20 -07:00
Rajeev Kumar
86177c2c77 qcacld-3.0: Fix race condition between external threads and module stop
External threads and interface change timer are racing against each other
leading to various side effects. Fix the race condition between external
threads and interface change timer by leveraging existing ssr/driver
unload protection mechanism for module stop.

Change-Id: Ic3d6d516161afee1dd65abb8f1eafe160bea54ff
CRs-Fixed: 2021483
2017-03-29 12:28:46 -07:00
Jeff Johnson
560dc56d97 qcacld-3.0: Fix "no space before tabs" style errors
Automated code style checker detected multiple instance of "no space
before tabs," so fix those issues.

Change-Id: I93248e3cfafa047c4fa8c9553769f9457086d01a
CRs-Fixed: 2021507
2017-03-23 17:00:48 -07:00
Venkata Sharath Chandra Manchala
8398563492 qcacld-3.0: TxRx statistics for Lithium datapath
Introduce a new iwpriv command txrx_stats to
print both host and firmware stats for Lithium
chipset

Change-Id: If37b798a117446e9fbb369823977fa312872ed48
CRs-Fixed: 2017426
2017-03-22 17:55:36 -07:00
Manjeet Singh
1a376cea13 qcacld-3.0: Pass proper values to bit manipulation methods to avoid panic
qcacld-2.0 to qcacld-3.0 propagation

Observed kernel panic due to improper arguments passed to kernel bit
manipulation functions (like set_bit, clear_bit etc.) i.e these
functions expects bit positions as its first argument but bit mask
values are being passed.

To fix these issues ensure below points:
   - Pass bit position as a first argument to bit manipulation
     functions.
   - Re-define MACROs which gives false impression of bit mask values
     with their naming convention.

Change-Id: Ief8cd83b05f01a0926f91c0e9fb461ddd498e05e
CRs-Fixed: 981050
2017-03-21 13:25:06 -07:00
Dustin Brown
13995f0efc qcacld-3.0: Add gActiveBpfMode ini item
Active Mode Berkeley Packet Filter (Active BPF) is a new feature that
allows firmware to apply BPF even while the Apps processor is active.
There are 3 modes:
 * Disabled: do not apply BPF in active mode
 * Enabled: apply BPF to all packets in active mode
 * Adaptive: apply BPF up to some threshold to avoid performance impact

Add an ini item called gActiveBpfMode to configure the Active BPF Mode
in firmware.

Change-Id: I6cf60d67238802fe1e1662c040910091f5c25bec
CRs-Fixed: 1111400
2017-03-13 14:41:00 -07:00
gbian
62edd7e2db qcacld-3.0: Add ini keys for WRR tx scheduler tuning
qcacld-2.0 to qcacld-3.0 propagation

Add below four keys to allow user to tune WRR TX scheduler params.
Each key is mapping to one AC defined in data path module through
OL_TX_SCHED_WRR_ADV_CAT_CFG_SPEC.
	gEnableTxSchedWrrBE
	gEnableTxSchedWrrBK
	gEnableTxSchedWrrVI
	gEnableTxSchedWrrVO

Change-Id: I5c34b604297d83673ea065243cc58c3f2180ff3e
CRs-Fixed: 1020141
2017-03-08 15:54:49 -08:00
Srinivas Girigowda
0a3057e6d2 qcacld-3.0: Remove obsolete header file 'cds_pack_align.h'
Remove obsolete header file 'cds_pack_align.h'.

Change-Id: I26004b7b050554719dbd4cc8c193757345965727
CRs-Fixed: 1109855
2017-03-07 11:33:00 -08:00
Yu Wang
c7db7117a4 qcacld-3.0: fix compile error caused by QCA_CONFIG_SMP
Some functions/structs are defined only when
QCA_CONFIG_SMP is enabled, however, they
are also used when QCA_CONFIG_SMP is disabled,
which will cause compilation errors.
Move the definition of these functions/structs
out of macro QCA_CONFIG_SMP.

Return type of cds_alloc_ol_rx_pkt() is not
void, but there is no return statement for
it when QCA_CONFIG_SMP is disabled.
Add 'return NULL' for cds_alloc_ol_rx_pkt().

Change-Id: If6f4298c27f0089219bbceb4a9d0ba1a295f8dcd
CRs-Fixed: 2010568
2017-03-02 19:59:03 -08:00
Sreelakshmi Konamki
b53c629c0f qcacld-3.0: Generate bug report if scan rejected by driver
qcacld-2.0 to qcacld-3.0 propagation

Driver will not allow scan if connection is in progress.

Add driver changes to generate bug report and trigger SSR
if current session id, rejected reason matches with last rejected
sesssion id, reason and time delta between current time and
last rejected timestamp is greater than 5 mins

Change-Id: Ic64a6fd443104b291b5b7f6cda3bfbe8273c671a
CRs-Fixed: 1081489
2017-03-02 10:03:43 -08:00
Venkata Sharath Chandra Manchala
0d44d455fa qcacld-3.0: Handle void pointer declarations for pdev and vdev
Replace void pointer handles for pdev and vdev
with abstract structure handles

Change-Id: Idd9a2521249e30faf1143f671c4d2d924fe231e8
CRs-Fixed: 1109835
2017-02-15 12:26:46 -08:00
Nitesh Shah
a3dfea3ebb qcacld-3.0: Avoid new connection while HW mode change is issued
In the case of concurrency, when the session decrements, the
opportunistic timer is started. After a while, when the
opportunistic time is expired, and the hw mode change for SMM
is issued, and the same time new interface comes up, then the
new forms MCC with the existing connection instead of forming
DBS.

The change is to avoid the race condition to form MCC instead of
DBS.

Change-Id: I977039138509676b964ba089e3cb479cd16968bb
CRs-Fixed: 2006350
2017-02-15 06:35:20 -08:00
Agrawal Ashish
e69b45e530 qcacld-3.0: Fix max Tx power to 22
Hardware support max tx power as 22 instead of 30.
Fix this by supporting max power as 22.

Change-Id: I3645b47a575ffa8b8bcc85fe0dcbba4a630b078b
CRs-Fixed: 2005749
2017-02-14 12:04:09 -08:00
Kapil Gupta
086c6206de qcacld-3.0: Add changes to collect channel info from regulatory
Vendor ACS requires regulatory channel info for each channel.

Add changes to collect channel information of each channel
and save it in sap config.

Change-Id: Ib96c3f7ddfc8476306e9a13127472be9dd0a9488
CRs-Fixed: 1110061
2017-02-13 23:01:19 -08:00
Rajeev Kumar
39ff01fc84 qcacld-3.0: Remove obsolete cds_mq.h and cds_mg.c files
After control path scheduler componentization cds_mq header and
source files are not needed hence delete obsolete cds_mq.h and
cds_mq.c files.

Change-Id: I9cef1086e805d0e5ea7b377d0a2de3512b452572
CRs-Fixed: 2000240
2017-02-02 18:38:56 -08:00
Rajeev Kumar
e406d65d70 qcacld-3.0: Move legacy UMAC posting API to legacy file
After control path scheduler componentization cds_mq.[ch]
needs to be deleted hence remove legacy UMAC message posting
API to WMA legacy file.

Change-Id: I781a7586cb6dbf635e283eacd38c768a6b7f6d3e
CRs-Fixed: 2000234
2017-02-02 18:38:55 -08:00
Rajeev Kumar
149787189e qcacld-3.0: Remove obsolete macro HIGH_PRIORITY
After control path scheduler componentization cds_mq.h
HIGH_PRIORITY macro is no longer used hence remove it.

Change-Id: Ied7a2078753686ee2d885b072f2f03a1fd810e9c
CRs-Fixed: 2000214
2017-02-02 18:25:34 -08:00
Rajeev Kumar
0acd92503e qcacld-3.0: Remove obsolete macro LOW_PRIORITY
After control path scheduler componentization cds_mq.h
LOW_PRIORITY macro is no longer used hence remove it.

Change-Id: I633e0eb8097eb1d035a4200018f3d96d6f34b59b
CRs-Fixed: 2000211
2017-02-02 18:25:16 -08:00
Mahesh Kumar Kalikot Veetil
319dbcde3d qcacld-3.0: Initialize debugfs support in QDF
Invoke QDF debugfs API from CDS to initialize and cleanup.

Change-Id: I8b67f46e94b08babee04102d65b7803e4db1da00
CRs-Fixed: 1083792
2017-01-25 18:33:10 -08:00
Rajeev Kumar
229f1d3cc0 qcacld-3.0: Remove obsolete CDS mq APIs reference from CDS module
After control path scheduler componentization CDS message queue
APIs are no longer used hence remove obsolete CDS mq APIs from CDS
module.

Change-Id: I7d83783d9fd126bb8b17a5c3292eac91c0966280
CRs-Fixed: 1114375
2017-01-23 13:06:14 -08:00
Rajeev Kumar
8eaedf65a1 qcacld-3.0: Remove obsolete CDS mq APIs reference from SME module
After control path scheduler componentization CDS message queue
APIs are no longer used hence replace CDS mq APIs in SME by
scheduler mq APIs.

Change-Id: I645209741a602798fc077a50ac66de198e292038
CRs-Fixed: 1114363
2017-01-21 22:01:01 -08:00
Rajeev Kumar
9fdfbe06ee qcacld-3.0: Remove obsolete CDS message queue init/deinit APIs
After control path scheduler componentization CDS message queue
init/deinit APIs are no longer used hence remove them.

Change-Id: I65c14872bf20412eb1014deac0172f2bfacc0f0f
CRs-Fixed: 1111033
2017-01-18 13:33:18 -08:00
Krunal Soni
a6e505bc7b qcacld-3.0: Fix compilation error and disable unit test framework
for policy manager component, unit test framework has been created.
this unit test framework can be enabled or disabled through Kbuild
flag. As policy manager is matured, unit test framework needs to
be disabled.

While disabling unit test framework, couple of compilation errors have
been observed. Fix those compilation errors.

Change-Id: I2a3ee57cc082e5ebc598f0aea2d05f31fb878732
CRs-Fixed: 1110876
2017-01-17 11:12:37 -08:00
yeshwanth sriram guntuka
310b3ac34c qcacld-3.0: Add support for vendor abort scan
Add vendor abort scan which takes adapter and scan
id as input. Supplicant may abort a scan if a
preferred AP or P2P peer device is found.

Change-Id: Ia9cbf4bb38d2111b1fcf42a1e1f51d1049f5a9ab
CRs-Fixed: 1090800
2017-01-16 11:31:07 -08:00
Krunal Soni
4274f36bcd qcacld-3.0: Allow full spectrum scan when agile & aDFS scan supported
Traditionally full spectrum scan on STA/CLI is not allowed when SAP/GO is
already present on DFS channel.

With new generation of hardware, agile scan and agile DFS scan features
are supported which will allow hardware to do full spectrum scan even if
SAP/GO is present on DFS channel.

Change-Id: I7e5a21601642e0d6afef73beeecf80a3e0475909
CRs-Fixed: 1103730
2017-01-12 13:12:51 -08:00
Poddar, Siddarth
a78cac3fe6 qcacld-3.0: Relocate and rename cds_flush_cache_rx_queue()
API cds_flush_cache_rx_queue() is added as part of propagation
from qcacld-2.0. This function does not belong in CDS but
instead belongs in TXRX because corresponding function in
qcacld-2.0 is tl_shim_flush_cache_rx_queue() which is a datapath
function.

CRs-Fixed: 1106306
Change-Id: I6ca10fa9ebb7ad7cdc0b54ff7ed2cc0595b7d82d
2017-01-10 23:08:47 -08:00
Amar Singhal
6edf9733ec qcacld-3.0: Keep source of driver hint also
Maintain source of driver as well as 11d hint. Use the source of
hint to correctly disable 11d if required.

CRs-Fixed: 1093565
Change-Id: Id0ccc44389836b72466b501f5ce024f1be4b5926
2017-01-09 11:21:45 -08:00
Selvaraj, Sridhar
0672a1213d qcacld-3.0: Add support for init/deinit with obj manager framework
Create the psoc, pdev, vdev, peer hierarchy by calling obj manager
API's in driver init/deinit code.

Change-Id: I804fd56fff0f72d69274dda2667efb6b681e4dda
CRs-Fixed: 1097219
2017-01-06 11:40:26 -08:00
Jeff Johnson
d9f0860957 qcacld-3.0: Remove obsolete "frame_xln_reqd" flag
The current driver inherited support for the "frame_xln_reqd" flag
from a prior version of the driver. In the prior version of the driver
this flag was used to communicate to hardware whether or not
hardware-assisted data frame translation was required. However the
current driver does not use this flag, so remove it from the code.

Change-Id: I41047864de374c12a89fa031c6d38729a285262a
CRs-Fixed: 1075631
2017-01-05 12:06:46 -08:00
Tushnim Bhattacharyya
53bcb93027 qcacld-3.0: Add support for new 3 port concurrency combinations
Update or add policy rules for new 3 port concurrency cases:
STA+STA+SAP
SAP+SAP+STA
SAP+SAP+SAP

Change-Id: I6ca605808f1de7f8d31ee9a2f05b88491319e6f2
CRs-Fixed: 1068000
2017-01-05 12:06:35 -08:00
Rajeev Kumar
3e5ef0da16 qcacld-3.0: Remove obsolete MC thread message buffers from cds
After control path scheduler componentization CDS message buffers,
and message wrappers are no longer used hence remove them.

Change-Id: If6e915ffe27775511cb359adb704fa9e03653420
CRs-Fixed: 1107094
2017-01-04 17:39:44 -08:00
Rajeev Kumar
52333410ab qcacld-3.0: Remove obsolete cds_is_mq_empty API
After control path scheduler componentization cds_is_mq_empty
API is no longer used hence remove it.

Change-Id: I6b90d185d4faad7a02fca1b784dfea9b08213005
CRs-Fixed: 1106123
2017-01-04 17:39:43 -08:00
Rajeev Kumar
08ef0d620a qcacld-3.0: Remove obsolete cds_core_return_msg API
After control path scheduler componentization cds_core_return_msg
API is no longer used hence remove it.

Change-Id: I66122b918f0b27236b2b5ca454e52b0de20b16ee
CRs-Fixed: 1106115
2017-01-04 17:39:42 -08:00