Commit Graph

57 Commits

Author SHA1 Message Date
Anurag Chouhan
600c3a00be qcacld-3.0: Add QDF mem API's
Replace CDF mem API's with QDF mem API's

Change-Id: Icf247b4dc5b26f4b960dcb98e323b096c1d6076c
CRs-Fixed: 981188
2016-03-24 11:58:16 -07:00
Anurag Chouhan
b2dc16fefe qcacld-3.0: Add QDF trace API's
Replace CDF trace API's with QDF trace API's.

Change-Id: I5b99dce73297f7de8f0755fa0b47dc3f84c78747
CRs-Fixed: 981188
2016-03-24 11:58:11 -07:00
Anurag Chouhan
210db07644 qcacld-3.0: Add QDF MC timer API's
Replace CDF MC timer API's with QDF MC timer API's

Change-Id: If18069e9cb8dbd24c5cdc8bd8def6932f55c0168
CRs-Fixed: 981188
2016-03-24 11:58:08 -07:00
Anurag Chouhan
a37b5b783a qcacld-3.0: Add QDF lock API's
Replace CDF lock API's with QDF lock API's.

Change-Id: I7c4a59920e17915f077c87457c513e763738c062
CRs-Fixed: 981188
2016-03-24 11:57:57 -07:00
Anurag Chouhan
6d760664ee qcacld-3.0: Add QDF types
Replace CDF types with QDF types

Change-Id: Idd6e65b148efb54f22d6951572957f1c6166465b
CRs-Fixed: 981188
2016-03-24 11:57:54 -07:00
Anurag Chouhan
fb54ab0eac qcacld-3.0: Add QDF status
Replace CDF status with QDF status

Change-Id: I7170c8ae4c5bd97a8f0f383af637bb2ec312f082
CRs-Fixed: 981188
2016-03-24 11:57:39 -07:00
Anurag Chouhan
ce0dc99ca8 qcacld-3.0: Add qdf event API's
Replace CDF event API's with QDF event API's

Change-Id: I1d75c9ca01cc6bd7cac42f1ae4c1dd78f37b3d26
CRs-Fixed: 981188
2016-03-24 11:57:34 -07:00
Deepak Dhamdhere
add334b14f qcacld-3.0: Remove WLAN_FEATURE_VOWIFI_11R option from SME
Conditional compilation option WLAN_FEATURE_VOWIFI_11R is always
defined in cld3.0 and underlying code is permanent in the driver.
Hence, remove #ifdef WLAN_FEATURE_VOWIFI_11R check from SME source
code.

CRs-Fixed: 960105
Change-Id: Ib42c92aaca69c04b98dd42b7aab2a552c88af24e
2016-02-08 15:50:46 -08:00
Naveen Rawat
504adcee54 qcacld-3.0: Fix memory leak in OEM data request
Fix memory leak in OEM data request, by freeing data buffer as message
passed down the layers is consumed in lower layers.

Change-Id: I8e8dc0c96de3055fada2c19139bc9e0c03b9e73e
CRs-Fixed: 964290
2016-02-08 15:50:45 -08:00
Krishna Kumaar Natarajan
53ca2905f8 qcacld-3.0: Add support for get and set OEM capability
Add support for get and set OEM capability over private netlink
socket.

Change-Id: I8c4a8c19633845750ec9d2492632471c68ba410d
CRs-Fixed: 949469
2016-02-08 15:50:45 -08:00
Kiran Kumar Lokere
5302ab6468 qcacld-3.0: Enable Tx beamformee in SAP mode
Currently Tx beamformee feature is enabled only in STA mode.
Add knob to enable or disable the Tx beamformee feature in SAP
mode

Change-Id: I6ea218b3bff6c973688aad716a3f1a3c8acc469b
CRs-Fixed: 963034
2016-02-08 15:50:44 -08:00
Naveen Rawat
df0a7e7a92 qcacld-3.0: Remove unnecessary lock from sme_roam_free_connect_profile
Remove unnecessary acquiring of SME lock in sme_roam_free_connect_profile
since this function does not access any SME structures.

Change-Id: I0ddafc4276ef5028b48fda0ae3ea4e6a0c23245e
CRs-Fixed: 958839
2016-02-08 15:50:44 -08:00
Prashanth Bhatta
75fa9a1d99 qcacld-3.0: hdd: Refactor wlan_startup (phase 4)
In HDD, hdd_wlan_startup which is called by probe is beast of a
function to maintain. Over time it has grown to such an extent
that it is almost 800 lines of code with in a single function.
Divide the beast into logical smaller functions.

Fix style issues like conditional compilation with in the
function and other minor ones.

Change-Id: Iec2dc3aac934bbb90b87d4e8581e877e5b0a561c
CRs-fixed: 959287
2016-02-08 15:50:43 -08:00
Amar Singhal
a297bfa739 qcacld-3.0: More regulatory cleanups
Remove typedef tPowerdBm. Rename and use linux style for channel
enum, channel state, channel power and country source data
structures.

Change-Id: Iebc59e6f001ccdb403c7445f4cea02c6a8141366
CRs-Fixed: 856727
2016-02-08 15:50:43 -08:00
Amar Singhal
7f1f3ecd53 qcacld-3.0 : Remove the local regdomain mapping
Remove the local country to regdomain mapping in the driver.
Return a fixed regdomain index 0 to the caller. Also update
copyright for cds_regdomain.h for 2015.

Change-Id: I33e0a861b0a3bd95b20becb2d765b8300688ec4c
CRs-Fixed: 856727
2016-02-08 15:50:42 -08:00
Houston Hoffman
7260ecbc64 qcacld-3.0: Send one suspend indication message to wma
Send one suspend indication message to wma after configuring
all the offloads. Reduce context switches and complexity.

Change-Id: I020fc8864dbf7378805361d54dc6cff60b2652e5
CRs-Fixed: 935297
2016-02-08 15:50:41 -08:00
Krunal Soni
1878d3a2cc qcacld-3.0: Merge two sme & csr config structure in to one
SME holds config item in tCsrConfigParams structure as well as some of
the same items in tSmeConfigParams which makes tCsrConfigParams super
set of tSmeConfigParams. There are high chances if somebody misses
copying item from tSmeConfigParams to tCsrConfigParams and that will
result in config item not being set correctly.

In order to make it clean and easy, merge both config structure in one.

Change-Id: I8c93d9fae0986cb90b4ed4c4712b1e2b023b4be3
CRs-Fixed: 963752
2016-02-08 15:50:41 -08:00
Kiran Kumar Lokere
999e58c920 qcacld-3.0: Remove the cb_mode usage in channel bonding
Remove the CB mode usage in channel bonding since the center
center frequency is calculated using channel width and channel
number.

Change-Id: Ie9685a833750bf3b69cce40c5d9587fb9b232047
CRs-Fixed: 962174
2016-02-08 15:50:40 -08:00
Varun Reddy Yeturu
d5939f8b45 qcacld-3.0: Optimize LFR3 roam synch propagation
The current roam sync propagation for LFR3.0 in the host driver is
based on queuing and message processing mechanism. This can lead
to many unknown sequence of operations as there might be other
messages sitting in the queue which may interrupt with this
operation. Hence, it would be good to introduce a callback mechanism
which take care of running the code to execution completely in case
of roam synch propagation.
It also improves to reduce the roam delay by 50 percent as compared
to the existing mechanism.

CRs-Fixed: 962290
Change-Id: I4af569b1e3020a64beb606e8bbffd7613775138f
2016-02-08 15:50:40 -08:00
Abhishek Singh
7996eb7a8e qcacld-3.0: Send management frame indication directly to HDD from PE
qcacld-2.0 to qcacld-3.0 propagation.

If MC thread stall while waiting on any event, In case of WPS,
probe requests may get accumulated in PE message queue.

Now every time MC thread process a probe request,
eWNI_SME_MGMT_FRM_IND msg is posted in SME message queue. But
unless PE queue is fully processed SME queue won't be processed.
This will gradually use all vos message wrapper.

To avoid this register a callback to send management frame
indication directly to HDD from PE which avoids posting message to
SME queue.

Change-Id: Ib83700825112cc52dade594909bfa8993909ac29
CRs-Fixed: 944961
2016-02-08 15:50:39 -08:00
kaliu
154d789744 qcacld-3.0: eSmeCommandDelStaSession stuck in smeCmdActiveList
qcacld-2.0 to qcacld-3.0 propagation.

1.Use iw tool to let dut connect to remote ap, dut is working
on wlan0.
2.At same time, use hostapd to start sap also on interface
wlan0.

In item1, before connect to ap, dut will do an internal scan
to search ap, if scan result matched configured ap profile,
dut trys to connect to ap.

In item2, when starting sap, found it's sta mode it will try
to disconnect dut with remote ap and close sta session.

  #1 If ap start action happened in item1's scan period, trying
  disconnecting won't take effect as currently sta has not yet
  connected with remote ap.
  So after item1's scan finished, dut continues to do connection.

  #2 During closing sta session, sme issued eSmeCommandDelStaSession,
  as currently sta is doing connection, so session is in started
  status, this cause closure failed, so there is no chance to remove
  cmd in smeCmdActiveList.
  While cmd pending in smeCmdActiveList for 120s, driver issued crash.

The solution is in item1 after scan complete to check whether it's
needed to start following connection. If stop action has been issued
during scan period, then don't do the connection.

Change-Id: If632e21cb13277fba371ff1bf8df97febf856d09
CRs-Fixed: 923375
2016-02-08 15:50:38 -08:00
Krishna Kumaar Natarajan
9ac8efd704 qcacld-3.0: Add data length in oem data request msg
Add data length information in oem data request
messages.

Change-Id: Ibc132d31dd4345c4168dad23b4acf699f2a8c8e6
CRs-Fixed: 942260
2016-02-08 15:50:38 -08:00
Peng Xu
f5d60c8524 qcacld-3.0: Clean up usage of con_mode
Separate con_mode from adapter mode definition and clean up usage of
con_mode.

CRs-fixed: 917959
Change-Id: Ia058826cdb873558ab8703fcd4f80d37d3f782df
2016-02-08 15:50:37 -08:00
Srinivas Girigowda
d5965c4b92 qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in sSirSmeSetContext Req/Rsp
Replace tSirMacAddr with cdf_mac_addr in struct sSirSmeSetContext Req/Rsp.

Change-Id: If4f75c162dbb4156d462a927033f94b9170a518f
CRs-Fixed: 898864
2016-02-08 15:50:36 -08:00
Naveen Rawat
16b8287816 qcacld-3.0: Move 5GHz channels ahead of 2 GHz for Early Stop
In case prefer 5 GHz preference is set, move the 5GHz channels ahead
of 2GHz channels in channel list as used in Early Stop Roaming Scan
feature. This ensures that while roaming, when these features are
enabled DUT will scan 5 GHz channels first and roam if a candidate
AP is found.

Change-Id: I96d997560a3eca5fd378aa3ed78c5766d097cafd
CRs-Fixed: 951959
2016-02-08 15:50:36 -08:00
Ryan Hsu
3c8f79f22c qcacld-3.0: Add Enhanced Green AP interfaces and event handler
qcacld-2.0 to qcacld-3.0 propagation

The firmware reports the Enhanced Green AP (EGAP) service
(EGAP_SERVICE) feature flag to indicate the support of EGAP
feature.

The EGAP is to offload the legacy Green AP feature to firmware
in order to aggressively enable the Green AP other than wait
for host control latency.

Add the knob to hold the EGAP infomation when firmware support
it, also populate the information up to hdd target config.

And then add a SME interface to allow hdd layer to configure
the EGAP configuration.

Change-Id: I9be927369e7cf07731f8e9ba49d65224e05c340b
CRs-fixed: 929063
2016-02-08 15:50:35 -08:00
Deepak Dhamdhere
ecce974317 qcacld-3.0: Remove #ifdef FEATURE_WLAN_LFR from SME
The condition #ifdef WLAN_FEATURE_LFR is used to include some of
the roaming code. It has been defined for all the recent driver
builds. Roaming code underneath is permanent part of the driver.
Remove #ifdef FEATURE_WLAN_LFR compiler flag from SME so that the code
will always be compiled in.

CRs-Fixed: 936683
Change-Id: I86b9e3dee6b92c89a54de6df769800c31fc3ad17
2016-02-08 15:50:35 -08:00
Deepak Dhamdhere
42b5c11dd8 qcacld-3.0: Remove #ifdef WLAN_FEATURE_NEIGHBOR_ROAMING from SME
The condition #ifdef WLAN_FEATURE_NEIGHBOR_ROAMING is used to include
some of the roaming code. It has been defined for all the recent driver
builds. Roaming code underneath is permanent part of the driver.

Remove #ifdef WLAN_FEATURE_NEIGHBOR_ROAMING compiler flag from SME
and CSR so that the code will always be compiled in.

CRs-Fixed: 936683
Change-Id: I63a43b7cfd9360341d4ac4126cbf9fc8ac89071a
2016-02-08 15:50:35 -08:00
Deepak Dhamdhere
9d1615c29b qcacld-3.0: Remove #ifdef WLAN_FEATURE_NEIGHBOR_ROAMING from HDD
The condition #ifdef WLAN_FEATURE_NEIGHBOR_ROAMING is used to include
some of the roaming code. It has been defined for all the recent driver
builds. Roaming code underneath is permanent part of the driver.

Remove #ifdef WLAN_FEATURE_NEIGHBOR_ROAMING compiler flag from HDD so
that the code will always be compiled in.

CRs-Fixed: 936683
Change-Id: I777d48f26aea36383747281bd4fef2eadc7beefb
2016-02-08 15:50:35 -08:00
Sreelakshmi Konamki
39acb13377 qcacld-3.0: Changes in Protocol Stack logs from numerical values to string
qcacld-2.0 to qcacld-3.0 propagation

As a part of logging enhancement,to make logs more
interactive, changed pmcstate,scanType etc from
numerical values to human readable string in
Protocol stack.

Change-Id: I589088c2c5fd0afa106a1d0773a2ff525b0dd083
CRs-Fixed: 638916
2016-02-08 15:50:34 -08:00
Jeff Johnson
f6358f1060 qcacld-3.0: Remove OEM DATA request callback support
qcacld-2.0 to qcacld-3.0 propagation.

The SME OEM DATA request API supports a callback function pointer,
however this callback functionality is obsolete.  Therefore remove
this functionality.

Change-Id: Id06910841ad625412ba1f3222407e471f4d7edd7
CRs-Fixed: 911404
2016-02-08 15:50:34 -08:00
Ravi Joshi
277ae9beed qcacld-3.0: Add support to indicate subnet change status to user space
LFR3 to indicate the change in IP subnet to user space (supplicant).
This enables the DHCP refresh in case of IP subnet change during
roaming.

Change-Id: I9842a28461346fe97ab39f5a11ae504f2e32fa16
CRs-Fixed: 876335
2015-12-28 22:35:54 -08:00
Ravi Joshi
61c3c7a927 qcacld-3.0: Interfacing files for LFR Subnet Detection support
Add interfacing files and configuration options to enable
LFR subnet detection feature support.

Change-Id: I46756dfb2dd8071fd2bb762038414709e6212c1c
CRs-fixed: 876335
2015-12-28 22:35:54 -08:00
Srinivas Girigowda
198b203c98 qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in roam_offload_synch_ind
Replace tSirMacAddr with cdf_mac_addr in roam_offload_synch_ind.

Change-Id: I953b089391f00ff2108e1f311a33d50aca724409
CRs-Fixed: 898864
2015-12-28 22:20:27 -08:00
Srinivas Girigowda
c79a7106b0 qcacld-3.0: Remove obsolete macros and functions
Remove obsolete macros and functions.

Change-Id: I18e3ba1ec3a38a0f1dfa2de70955f0af02bef37f
CRs-Fixed: 898864
2015-12-28 22:20:26 -08:00
Sandeep Puligilla
ee029ad052 qcacld-3.0: BT AMP Cleanup in CSR
Remove unused BT AMP code from CSR module

Change-Id: I12ee3940ed8b9b4f50faffbed4ad949730cb1297
CRs-Fixed: 926965
2015-12-28 22:20:26 -08:00
Kabilan Kannan
421714b6c6 qcacld-3.0: Configure TDLS peer mac and kickout threshold to target
qcacld-2.0 to qcacld-3.0 propagation.

Add new TDLS mode for TDLS external control operation to
achieve power save on the target. Firmware will use this mode
to control timers precisely and save the power.
Add configuration "gTDLSPeerKickoutThreshold" to fine tune
TDLS peer sta kick out operation.

Change-Id: Ie941f93b54983ca6323ef4384a66e0807a56a7b1
CRs-Fixed: 929749
2015-12-28 22:20:26 -08:00
Srinivas Girigowda
a35f10958e qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in tSirTdlsAddSta Req/Rsp
Replace tSirMacAddr with cdf_mac_addr in tSirTdlsAddSta Req/Rsp.

Change-Id: Ie10b69ce99645f7ace3d772dc8c8de87ad86f2bc
CRs-Fixed: 898864
2015-12-28 14:20:45 -08:00
Krishna Kumaar Natarajan
d913190603 qcacld-3.0: Fix mangled function names
Fix mangled APIs sme_configure_ext_wo_w,
sme_process_ready_to_ext_wo_w and
lim_remove_timeout_pbc_sessions which were introduced
while converting the names programmatically.

Change-Id: Ie0a79b476a99bf1be0411dae0542359e7d58141a
CRs-Fixed: 882962
2015-12-28 14:20:44 -08:00
Sreelakshmi Konamki
e1ce562b9b Revert "qcacld-3.0: After DELTS, revert to UAPSD related intervals in ini"
qcacld-2.0 to qcacld-3.0 propagation

This reverts Change-Id I858cd3cbd536ec189ea808c5d637abffe388f7aa.

With change id I858cd3cbd536ec189ea808c5d637abffe388f7aa,
host is not sending WMI_STA_UAPSD_AUTO_TRIG_CMDID command to firmware
during disable UAPSD per AC.

Change-Id: Ifdbcd6926ca86b1baeeadcf7a4720e460d41a6e5
CRs-Fixed: 911229
2015-12-28 14:20:44 -08:00
Varun Reddy Yeturu
044bda2e10 qcacld-3.0: Create configuration item gfirst_scan_bucket_threshold
qcacld-2.0 to qcacld-3.0 propagation

Create a configuration item to program the first bucket
threshold of the scan results to have the flexibility to
adjust the first bucket threshold.

CRs-Fixed: 922979
Change-Id: I6fad27a2990f7555173e4735131e8392d0277009
2015-12-09 23:21:39 -08:00
Naveen Rawat
e7d8605471 qcacld-3.0: Increase SME cmd queue to support max clients connected
This is qcacld-2.0 to qcacld-3.0 propagation

Currently in SAP mode, if max STA connected a operation to turn off
SAP will result in more than SME queue length cmds being enqueued.
To fix, this patch:
1) Makes the SME cmd queue length, 3 times the max STA.
2) Because of increased SME cmds, the allocation for all cmds
   together will fail, hence allocate each SME cmd individually
   and free them accordingly.

Change-Id: Ia1dfc5b00eacd9bdb503ce18927c62f1edd15320
CRs-Fixed: 928840
2015-12-09 23:21:38 -08:00
Masti, Narayanraddi
c4a7ab8239 qcacld-4.0: TDLS: provide operating class and channel to HAL
qcacld-2.0 to qcacld-3.0 propagation

1.Provide off channel and operating class info to user space
in HAL API wifi_get_tdls_status. If off channel is not enabled
then provide base channel info and in that case pass opclass as 0.
2.Provide correct tdls state based on tdls off channel
configuration.

Change-Id: Ic60500b95ebddcb88b4e03f29178068c5322b2b9
CRs-Fixed: 838167
2015-12-09 23:21:37 -08:00
Srinivas Girigowda
2e60287b81 qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in tSirTdlsLinkEstablish Req/Rsp
Replace tSirMacAddr with cdf_mac_addr in tSirTdlsLinkEstablish Req/Rsp.

Change-Id: I089e9835e08aa029b25113f260b4ba3088599075
CRs-Fixed: 898864
2015-12-02 12:55:30 -08:00
Srinivas Girigowda
9721523f8e qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in sMaxTxPowerParams
Replace tSirMacAddr with cdf_mac_addr in sMaxTxPowerParams.

Change-Id: Ia9f66cfd3a520019a83d671b7869d49558856698
CRs-Fixed: 898864
2015-12-02 12:55:28 -08:00
Edhar, Mahesh Kumar
df2ec12f48 qcacld-3.0: Properly handle channel switch through ioctl
qcacld-2.0 to qcacld-3.0 propagation.

1)Validate channel switch w.r.t concurrency rules set and switch
  channel only if there is no channel interference.
2)Disable channel bonding in 2.4Ghz on switching channel to 2.4Ghz band
  to avoid violating OBSS feature.

Change-Id: I81992b2c2876a32eba52010e72c4300608067e58
CRs-Fixed: 809527
2015-12-02 12:55:27 -08:00
Sreelakshmi Konamki
6744cffe00 qcacld-3.0: Add MTRACE logs for missing cfg80211_ops callbacks
qcacld-2.0 to qcacld-3.0 propagation

Currently, MTRACE logs are not captured for few cfg80211_ops callbacks
and SME functions. Add missing MTRACE logs in cfg80211_ops callbacks
before calling SME function and also in few SME functions.

Change-Id: Iced4b80de60f9640cad0342afac57f9a17c2a3e2
CRs-Fixed: 859961
2015-11-25 17:26:47 -08:00
Abhishek Singh
518323d9c0 qcacld-3.0: Implement ECSA Action Frame
qcacld-2.0 to qcacld-3.0 propagation.

Implement:
1. Send & receive logic of ECSA action frame from P2P-CLI/GO
2. Trigger channel change on P2P GO side once ECSA action frame
   is received by,
  i) Adding CSA & ESCA IE in beacon template and updating
     FW to send it out
  ii) Notifying supplicant of channel change for P2P GO.

This change include UMAC changes.

CRs-fixed: 895240
Change-Id: Ie6c9154fb44ec75c699e37aaba660c637869c099
2015-11-25 17:26:45 -08:00
Naveen Rawat
b4d37620f3 qcacld: Fix layering violation in __wlan_hdd_cfg80211_ocb_start_timing_advert()
This is qcacld-2.0 to qcacld-3.0 propagation

HDD directly calls in to MAC layer function with mac context as one
of the parameters which is a software layering violation.
Fix the issue by introducing a SME api which accepts hal handle as
one of the parameters instead of mac context and call the SME function
from HDD,  which calls the MAC api with correct function parameters.

Change-Id: Iaac4ad7b67b0cb0f7b8b0d08e32904833afad707
CRs-Fixed: 913015
2015-11-25 17:26:45 -08:00
Krishna Kumaar Natarajan
f599c6e7d3 qcacld-3.0: Support to configure RM enabled capability IE
qcacld-2.0 to qcacld-3.0 propagation

Add support to configure RM enabled capbility information element
through INI.

Using the introduced INI config option(rm_capability), we can set
or unset any bit in the IE. Default value for the config parameter
is set based on rrmInitialize routine.

Change-Id: Ia2a4352760db77ab71dad4757eb603d7539ffefa
CRs-Fixed: 918667
2015-11-23 13:09:09 -08:00