Revert "ASoC: add missing updates from CAF"

This reverts commit 0e9e1218efed71428202960b965f4a662258a332.
Revert "msm: makefile: we don't need these in mako"

This reverts commit 4a869ab1d29a9d7398191e06df10f37539490d06.
Revert "AVS enable"

This reverts commit 04318212c9c50972217bb0cdd3e8c9041f82f8bd.

Conflicts:
	arch/arm/configs/mako_defconfig
Revert "Default HZ 200"

This reverts commit d10c10cf6763ab18d0e72465843db6bd7da524cc.
squash all wireless: cfg80211 mac80211 ieee80211 wcnss nl80211 from CAF
all necessary commits to update latest prima from caf

cfg80211: Add AP stopped interface

AP stopped interface can be used to indicate that the AP mode has
stopped functioning, WLAN driver may have encountered errors that has
forced the driver to stop the AP mode.

When the driver is in P2P-Go mode, and when it goes thru automatic
recovery from firmware crashes, it uses this interface to notify the
userspace that the group has been deleted.

CRs-Fixed: 453060
Change-Id: Ifcd8d4f0c0b26f56a56fb8560aa474297b7521d4
Signed-off-by: Sameer Thalappil <sameert@codeaurora.org>

cfg80211: fix VHT TDLS peer AID verification

I (Johannes) accidentally applied the first version of the patch
("Allow TDLS peer AID to be configured for VHT"). Now apply just
the changes between v1 and v2 to get the AID verification and
prefer the new attribute over the old one.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Git-commit: 3d124ea
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-testing.git
Change-Id: I72b465fff381f7c3f6faa3731a5c43375887077c
CRs-fixed: 483290
Signed-off-by: Sunil Dutt <duttus@codeaurora.org>

cfg80211: Allow TDLS peer AID to be configured for VHT

VHT uses peer AID in the PARTIAL_AID field in TDLS frames. The
current design for TDLS is to first add a dummy STA entry before
completing TDLS Setup and then update information on this STA
entry based on what was received from the peer during the setup
exchange.

In theory, this could use NL80211_ATTR_STA_AID to set
the peer AID just like this is used in AP mode to set the AID
of an association station. However, existing cfg80211 validation
rules prevent this attribute from being used with set_station
operation. To avoid interoperability issues between different
kernel and user space version combinations, introduce a new
nl80211 attribute for the purpose of setting TDLS peer AID.
This attribute can be used in both the new_station and set_station
operations. It is not supposed to be allowed to change the AID
value during the lifetime of the STA entry, but that validation
is left for drivers to do in the change_station callback.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Git-commit: 5e4b6f5
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-testing.git
Change-Id: I1d2f6d2f5a291f91858b45ad004de66a0080f1d2
CRs-fixed: 483290
[duttus@codeaurora.org: backport to 3.4-This commit includes the
changes from following commits in include/linux/nl80211.h to compile
for msm-3.4.
5de1798 :
cfg80211: introduce critical protocol indication from user-space.]
Signed-off-by: Sunil Dutt <duttus@codeaurora.org>

mac80211: fix duplicate retransmission detection

commit 6b0f327 upstream.

The duplicate retransmission detection code in mac80211
erroneously attempts to do the check for every frame,
even frames that don't have a sequence control field or
that don't use it (QoS-Null frames.)

This is problematic because it causes the code to access
data beyond the end of the SKB and depending on the data
there will drop packets erroneously.

Correct the code to not do duplicate detection for such
frames.

I found this error while testing AP powersave, it lead
to retransmitted PS-Poll frames being dropped entirely
as the data beyond the end of the SKB was always zero.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

nl80211: fix mgmt tx status and testmode reporting for netns

commit a0ec570 upstream.

These two events were sent to the default network
namespace.

This caused AP mode in a non-default netns to not
work correctly. Mgmt tx status was multicasted to
a different (default) netns instead of the one the
AP was in.

Signed-off-by: Michal Kazior <michal.kazior@tieto.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

wcnss: Add API to expose the IRIS XO mode set

IRIS XO mode can be configured thru module parameter; and it can also
be auto detected. Add an API to expose the IRIS XO mode set. WLAN driver
can use this API for it's XO specific operation.

Change-Id: If40ae715f5e400e13a6fc9588d2bd144958ee8c2
Signed-off-by: Sameer Thalappil <sameert@codeaurora.org>

cfg80211/nl80211: add API for MAC address ACLs

Add API to enable drivers to implement MAC address based
access control in AP/P2P GO mode. Capable drivers advertise
this capability by setting the maximum number of MAC
addresses in such a list in wiphy->max_acl_mac_addrs.

An initial ACL may be given to the NL80211_CMD_START_AP
command and/or changed later with NL80211_CMD_SET_MAC_ACL.

Black- and whitelists are supported, but not simultaneously.

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
[rewrite commit log, many cleanups]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Git-commit: 77765ea
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
CRs-fixed: 487410
Change-Id: I9593b887941be5efa5e96546ad92cd6c6bf8fb87
[duttus@codeaurora.org: resolved 3.4 backport issues]
Signed-off-by: Sunil Dutt <duttus@codeaurora.org>

cfg80211: Extend support for IEEE 802.11r Fast BSS Transition

cfg80211: fix station change if TDLS isn't supported

Larry noticed (and bisected) that commit df881293c6ba9a12868491a717b25
"cfg80211: Pass TDLS peer's QoS/HT/VHT information during set_station"
broke secure connections. This is is the case only for drivers that
don't support TDLS, where any kind of change, even just the change of
authorized flag that is required for normal operation, was rejected
now. To fix this, remove the checks. I have some patches that will add
proper verification for all the different cases later.

Cc: Jouni Malinen <j@w1.fi>
Bisected-by: Larry Finger <Larry.Finger@lwfinger.net>
Tested-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Git-commit: 8c6d59e
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Change-Id: I6620b36c9c8b6304e21c44894d1295316fb7884b
CRs-fixed: 452921
Signed-off-by: Jeff Johnson <jjohnson@codeaurora.org>

cfg80211: Pass TDLS peer's QoS/HT/VHT information during set_station

The information of the peer's capabilities is required for the driver
to perform TDLS Peer UAPSD operations. This information of the peer is
passed by the supplicant using NL80211_CMD_SET_STATION command. This
commit enhances the function nl80211_set_station to pass this
information of the peer to the driver in case this command is used
with the TDLS peer STA.

In addition, make the HT/VHT capability configuration handled more
consistently for other STA cases (reject both instead of just HT).

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Git-commit: df88129
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
CRs-fixed: 452921
Change-Id: Idf5c8e29de9c81e3fc6e9faf9ea785e9b505d89b
[duttus@codeaurora.org: resolved 3.4 backport issues]
Signed-off-by: Sunil Dutt <duttus@codeaurora.org>

cfg80211: Pass station (extended) capability info to kernel

The information of the peer's capabilities and extended capabilities are
required for the driver to perform TDLS Peer UAPSD operations and off
channel operations. This information of the peer is passed from user space
using NL80211_CMD_SET_STATION command. This commit enhances
the function nl80211_set_station to pass the capability information of
the peer to the driver.

Similarly, there may be need for capability information for other modes,
so allow this to be provided with both add_station and change_station.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Git-commit: 9d62a98
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Change-Id: I18b19ccdfdd2a6daca4fd5f878f9a8df2598a1e9
CRs-fixed: 452921
[duttus@codeaurora.org: backport to 3.4-This commit includes the
changes from following commits in include/linux/nl80211.h to compile
for msm-3.4.
ed47377 :
{nl,cfg}80211: add a flags word to scan requests.
3d9d1d6 :
nl80211/cfg80211: support VHT channel configuration.
53cabad :
nl80211: support P2P GO powersave configuration.
3b1c5a5 :
{cfg,nl}80211: mesh power mode primitives and userspace access.
77765ea :
cfg80211/nl80211: add API for MAC address ACLs.
04f3904 :
nl80211/cfg80211: add radar detection command/event.
a50df0c :
cfg80211: advertise extended capabilities to userspace.]
Signed-off-by: Sunil Dutt <duttus@codeaurora.org>

{nl,cfg}80211: Peer STA VHT caps

To save STAs VHT caps in AP mode

Signed-off-by: Mahesh Palivela <maheshp@posedge.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Git-commit: f461be3
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
[duttus@codeaurora.org: backport to 3.4 excluding the change in
net/mac80211/cfg.c-This commit includes the changes from following commits
in include/linux/nl80211.h and net/wireless/nl80211.c to compile for
msm-3.4.
89a54e4:
nl80211: prepare for non-netdev wireless devs.
57b5ce0:
cfg80211: add cellular base station regulatory hint support.
ed44a95:
cfg80211/nl80211: Notify connection request failure in AP mode.
e39e5b5:
cfg80211: Allow user space to specify non-IEs to SAE Authentication]
Change-Id: I6030c8c16a146eff7db426346c232a9b1f396951
Signed-off-by: Sunil Dutt <duttus@codeaurora.org>

ieee80211: Rename VHT cap struct

Rename struct ieee80211_vht_capabilities to ieee80211_vht_cap
and renamed its member vht_capabilities_info to vht_cap_info.

Signed-off-by: Mahesh Palivela <maheshp@posedge.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Git-commit: d495028
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Change-Id: Ib595d501a8049042f36640b5e8f0fa66ec8403f7
CRs-fixed: 452921
Signed-off-by: Jeff Johnson <jjohnson@codeaurora.org>

mac80211: VHT (11ac) association.

Insert VHT IEs into association frames to allow
mac80211 to connect as a VHT client.

Signed-off-by: Mahesh Palivela <maheshp@posedge.com>
[clarify commit message]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Git-commit: d545dab
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
[duttus@codeaurora.org: resolved 3.4 backport issues]
Change-Id: Idac8e490ad25636c7056101b9e8073830b74a783
Signed-off-by: Sunil Dutt <duttus@codeaurora.org>

mac80211: include VHT capability IE in probe requests

Insert the VHT capability IE into probe requests.

Signed-off-by: Mahesh Palivela <maheshp@posedge.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Git-commit: ba0afa2
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
[jjohnson@codeaurora.org: resolved 3.4 backport issues]
Change-Id: I3f9e19c85a76664abda65f4ef52672328ff31a0c
Signed-off-by: Jeff Johnson <jjohnson@codeaurora.org>

cfg80211: allow advertising VHT capabilities

Allow drivers to advertise their VHT capabilities
and export them to userspace via nl80211.

Signed-off-by: Mahesh Palivela <maheshp@posedge.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Git-commit: bf0c111
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Change-Id: I467d7a3386053eb23d92e5f3f4e4a92a8e01c95f
Signed-off-by: Jeff Johnson <jjohnson@codeaurora.org>

wireless: add VHT (802.11ac) definitions

Add the VHT definitions to be used by drivers supporting it.

Signed-off-by: Mahesh Palivela <maheshp@posedge.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Git-commit: ce0e169
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Change-Id: Iccbc9c8c1f0182c93d2476fd520d6d8070c5acdf
Signed-off-by: Jeff Johnson <jjohnson@codeaurora.org>

Conflicts:
	drivers/net/wireless/wcnss/wcnss_wlan.c
	include/linux/wcnss_wlan.h
	include/net/cfg80211.h
	net/mac80211/util.c
	net/wireless/nl80211.c
WAKE_UP_IDLE
cfg80211: add flags to define country IE processing rules

802.11 cards may have different country IE parsing behavioural
preferences and vendors may want to support these. These preferences
were managed by the WIPHY_FLAG_CUSTOM_REGULATORY and the
WIPHY_FLAG_STRICT_REGULATORY flags and their combination.
Instead of using this existing notation, split out the country IE
behavioural preferences to a new flag. This will allow us to add more
customizations easily and make the code more maintainable. Also add
a new flag to disable country IE hints issued by the CORE as the
first customization.

Change-Id: I66ba4a92ac0f029a115eea0a274b02db11279787
CRs-Fixed: 542802
Signed-off-by: Mihir Shete <smihir@codeaurora.org>
msm: board-8064: Add core control limits for msm_thermal

Specify core control limits (temperature, hysterisis and the allowed
cpus) to handle thermal conditions at boot and offline the cores when
thermal limits are crossed.

CRs-Fixed: 460083
Change-Id: Ie96a783dbdbf537c5ff9c5e8b7118ffc6053e10f
Signed-off-by: Praveen Chidambaram <pchidamb@codeaurora.org>
thermal: msm: Add core control support to thermal driver

Detect and limit the numbers used during boot up if the core
temperatures are already higher than the control threshold.

CRs-Fixed: 460083
Change-Id: I2ad4b6d1b6834fa610a95d53b420e914054aa66a
Signed-off-by: Praveen Chidambaram <pchidamb@codeaurora.org>
msm: board-8064: Initialize SPM driver earlier than thermal

Thermal driver needs to be able to do core control and force cores to
be offline during certain thermal conditions. SPM driver is needed for
cores to do power collapse.

CRs-Fixed: 460083
Change-Id: Id64fe7529438aad68a515c19317db2b95b8b9b65
Signed-off-by: Praveen Chidambaram <pchidamb@codeaurora.org>

Conflicts:
	arch/arm/mach-msm/board-8064.c
power: battery_current_limit: Add Battery Current Limit Driver.

Add Battery Current Limit Driver(BCL).
The BCL driver will poll battery monitor system
if thermal daemon enables BCL.
It will notify thermal daemon if IBat crosses Imax threshold.

Change-Id: Id2368e42cc372fbc57e8b03d1e7e4b9c492ed965
Signed-off-by: Binqiang Qiu <bqiu@codeaurora.org>

Conflicts:
	drivers/power/Makefile
thermal: tsens8960: Increase the polling rate

Change the polling rate at which the sensors temperature
is read from 1 second to .25 seconds. On faster parts
there is a need to poll the temperature at a higher
frequency to improve reporting temperature changes.

Change-Id: I10049707c3e55316597fff72fbd00246cd29bed3
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
msm: thermal: Use signed int for temperature

Temperatures could be in negative and negative signed ints may be
incorrectly read as unsigned int.

Change-Id: I817db2756c54816296a700ffcd004a83161f2b95
CRs-Fixed: 441632, 473507
Signed-off-by: Praveen Chidambaram <pchidamb@codeaurora.org>
board: 8064/8960: Add battery current limit platform device.

Add battery current limit platform device into 8960 and 8064.

Change-Id: I99ade9b21fc364ddb306ee981f8fb8fb4b14c9b7
Signed-off-by: Anji Jonnala <anjir@codeaurora.org>
msm: 8064-pmic: Update the maximum current supported by LEDs

LEDs on 8064 can support 12mA. Update the platform data
for LED to reflect the same.

CRs-fixed: 514882
Change-Id: I012051f63e39f90123373c78e4280bf008e1bbea
Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>
board: 8064: add 192MHz clock support for SDC1 slot

8064 v2 HW can support card clock upto 192MHz on SDC1 slot.
This patch adds the support for same by checking the 8064
SOC revision.

Change-Id: I9a119adb2490d9eb7cb227c9ae47c4766d44f140
Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
Signed-off-by: Sridhar Gujje <sgujje@codeaurora.org>
msm: 8960: Track all reservations for memory map

Generate memory map for each reservations for 8960,
8930 and 8064.
Change-Id: I9d5bc8174160ffa410062282f76b15b671219576
Signed-off-by: Chitti Babu Theegala <ctheegal@codeaurora.org>
mmc: msm_sdcc: Add support for dynamic bus clock vote

SDCC controller on some targets like 8660, 8960, 8064 and their
variants connects with Daytona Fabric (DFAB). To achieve max.
possible performance the DFAB clock is voted to 64MHz at the
cost of some power consumption. Since we now have dynamic clock
scaling for SD/eMMC clock we can also scale the DFAB clock
accordingly without impact on performance but have some power
savings in low throughput cases.

Change-Id: Ic26541d6845b65803aa813d672ccabdfc4658d9c
Signed-off-by: Sujit Reddy Thumma <sthumma@codeaurora.org>
arm: mach-msm: board-8064: Add charging notification support for leds

1. Add support for green led with "battery-full" trigger so
that the led turns on when the battery reports full.
2. Set "battery-charging" trigger for red led so that the led
glows when the battery is charging.

Change-Id: I4a8adcf2c6be9edd18a8ec7339dc3750eb292770

CRs-fixed: 574345 574350

Signed-off-by: Abinaya P <abinayap@codeaurora.org>
leds: pm8xxx: Enable PWM LPG banks based on max current

The current design enables PWM LPG high bank with out
checking the max current. So enable PWM LPG low bank when max
current configured as 4mA and enable PWM LPG high bank when
the max current configured as 8mA. Enabled both PWM LPG low bank
and PWM LPG high bank when max current configure as 12mA.

CRs-Fixed: 486318
Change-Id: I6686ed85d78fa55f08491a47c10581407e0cd70e
Signed-off-by: Prasad Sodagudi <psodagud@codeaurora.org>
Signed-off-by: Sridhar Gujje <sgujje@codeaurora.org>