Revert "Shamu : Add Faux's Sound Control"

This reverts commit 48e00561d03e7cbd7e58a068f9eb4100b2dabc41.

Change-Id: Iff2dab79ad0321678dfdba79f4e0117b2a80bd30
Shamu: Re-add FauxSound

Initial import of FauxSound Driver 3.6 from 3.4 linux kernel drivers tailored
for Nexus 6

GPL Copyright 2014 Paul Reioux (Faux123)

Change-Id: I7ac87655dd2e0340a92989f34a94124f79f32dab
Signed-off-by: Paul Reioux <reioux@gmail.com>
Shamu: Enable more TCP Congestion options

Change-Id: I4ef76a3a70d026710c8e7d30c5d216f05b27fd21
ARM: 8119/1: crypto: sha1: add ARM NEON implementation

This patch adds ARM NEON assembly implementation of SHA-1 algorithm.

tcrypt benchmark results on Cortex-A8, sha1-arm-asm vs sha1-neon-asm:

block-size      bytes/update    old-vs-new
16              16              1.04x
64              16              1.02x
64              64              1.05x
256             16              1.03x
256             64              1.04x
256             256             1.30x
1024            16              1.03x
1024            256             1.36x
1024            1024            1.52x
2048            16              1.03x
2048            256             1.39x
2048            1024            1.55x
2048            2048            1.59x
4096            16              1.03x
4096            256             1.40x
4096            1024            1.57x
4096            4096            1.62x
8192            16              1.03x
8192            256             1.40x
8192            1024            1.58x
8192            4096            1.63x
8192            8192            1.63x

Change-Id: Iac6632456047bbfa5d2f794e5d01f4b4062173a4
Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Jussi Kivilinna <jussi.kivilinna@iki.fi>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
ARM: 8118/1: crypto: sha1/make use of common SHA-1 structures

Common SHA-1 structures are defined in <crypto/sha.h> for code sharing.

This patch changes SHA-1/ARM glue code to use these structures.

Change-Id: I08554e2f46394e32f79f68f026ad6ce33949ee1a
Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Jussi Kivilinna <jussi.kivilinna@iki.fi>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
net: wireless: bcmdhd abort ongoing-scan for disconnection

sometimes we cannot get WLC_E_DEAUTH due to ongoing-scan
We need to abort ongoing-scan for disconnection

Change-Id: Id20b4100f853657cacbdb3f426401b529f3ed9d9
net: wirelss: bcmdhd  fixed disconnect issue for connecting status

Sometimes Framework issues connect and disconnect rapidly and continuously
with different APs.  In this case, the timing gap between connect and
disconnect is less than 20ms.  For this scenario, FW doesn't do anything
when DHD executes dissasoc while state of FW is associating status.  In
order to cancel current assoc procedure correctly, we need to call
scan_abort function, not DISASSOC.  FW will clean up ongoing assoc
procedure if FW is associating status.

b/18470879 Device stop responding after conducting rapid fire testing
           for making connection

Change-Id: If5c3ecb0ce4cc6a08aabf0e6ff19a16b22b33a95
net: wireless: bcmdhd: Allow preallocation for WLFC_INFO

Bug: 18303260
Change-Id: If8d4d538a17e788c192fa3dbffe3de8ff624da89
net: wirelss: bcmdhd fixed pcie suspend/resume issue

Sometimes, system doesn't recover the config registers during resume
due to wakelock.  So, we need to save and restore the config registers in DHD

b/18220535 [WiFi] - Watchdog reset after PCIE link down and Event Hang

Signed-off-by: Ecco park <eccopark@broadcom.com>
Change-Id: Ib796b4833119a27bd79e3a667e40ee1e4d4878df
net: wireless: bcmdhd enable STATIC MEMORY ALLOCATION

b/18187102 APR: kernel BUG at mm/vmalloc.c

Change-Id: I2fc91e6d566e901b1d6d438d443bb8d3e5b87f5b
net: wireless: bcmdhd: Enable dongle_isolation for PCIe/built-in type driver

b/17755061 Wi-Fi stuck in Off position

Change-Id: I75de5b81a5270ea9ec84237763593728c84bc6fc
qcom: rpm-smd: Mask the interrupt before sending the sleep set.

Sending a sleep set would cause an SMD interrupt to fire. If the
interrupt was previously affine to a different CPU, it could cause a
premature wakeup of that CPU. Prevent this by masking the interrupt
before sending the sleep set.

Change-Id: I26991f6c1fcc3a7111ea1e728c6775847643ad8b
PM QoS: Add max online cpus as PM QoS parameter

Bug 894200

Signed-off-by: Alex Frid <afrid@nvidia.com>
Reviewed-on: http://git-master/r/71034
Reviewed-by: Rohan Somvanshi <rsomvanshi@nvidia.com>
Tested-by: Rohan Somvanshi <rsomvanshi@nvidia.com>

Change-Id: Iacad66fe09645f860d16558b8ec8e884802a1d7b
PM QoS: Add CPU frequency min/max as PM QoS params

Add minimum and maximum CPU frequency as PM QoS parameters.

Bug 888312

Reviewed-on: http://git-master/r/72206
Signed-off-by: Antti P Miettinen <amiettinen@nvidia.com>
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
Reviewed-on: http://git-master/r/75883
Reviewed-by: Automatic_Commit_Validation_User

Rebase-Id: R1007bbef60489ecc81a9acd0ce3b0abfa9a05f3e

Change-Id: I18abddded35a044a6ad8365035e31d1a2213a329
PM Qos: Add min online cpus as PM QoS parameter

Bug 940061

Signed-off-by: Gaurav Sarode <gsarode@nvidia.com>
Reviewed-on: http://git-master/r/84521
Reviewed-by: Sachin Nikam <snikam@nvidia.com>
Tested-by: Aleksandr Frid <afrid@nvidia.com>
Reviewed-by: Diwakar Tundlam <dtundlam@nvidia.com>

Rebase-Id: R830d4e99f1e03b61a8c4e52e11645b7ed2f10f56

Change-Id: Ibae842fdc3af3c92ec7e6125c602417110d8b55e
PM QoS: Add disable parameter

For testing purposes it is useful to be able to disable
PM Qos.

Bug 1020898
Bug 917572

Reviewed-on: http://git-master/r/124667

Signed-off-by: Antti P Miettinen <amiettinen@nvidia.com>
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>

Rebase-Id: Re2088674f90436e0b9dd74310d5cda1f9e2868e4

Change-Id: I266f5b5730cfe4705197d8b09db7f9eda6766c7c
PM / QoS: export pm_qos_update_request_timeout()

This pm_qos_update_request_timeout() was introduced without being exported.
Should export it as all of the other PM QoS APIs so those drivers compiled as
modules can use it.

Signed-off-by: Li Li <lli5@nvidia.com>
Reviewed-on: http://git-master/r/189306
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Eric Miao <emiao@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>

Change-Id: Ie51ce52db4ca633117fe18441c42b562220399e8
PM QoS: Add GPU frequency limits to PM QoS

Added GPU frequency min/max as PM QoS classes.

Bug 1330780

Signed-off-by: Alex Frid <afrid@nvidia.com>
Reviewed-on: http://git-master/r/267702
Reviewed-by: Ilan Aelion <iaelion@nvidia.com>
Reviewed-by: Mitch Luban <mluban@nvidia.com>
Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>

Change-Id: I2428c62748521c17e23b2df9ca409deda8b36160
pmqos: Replace spinlock with mutex for pm_qos_lock

Using a spinlock (taken with irqsave) meant that pm_qos_lock couldn't be
used to synchronize on the notifiers in order to ensure proper order of
the notifications. This is needed in case where there might be two near
simultaneous pmqos client requests for a bound on the same constraint;
the notifiers in pm_qos_update_target for the two clients could
potentially engage in a race.

Example:

Assume two requests are made (A, B with A coming first) for max cpufreq
and these are the only requests currently available.

Current behavior can result in:

notify(max_cpu_freq, minof(A, B))
notify(max_cpu_freq, minof(LONG_MAX, A))

Expected behavior:

notify(max_cpu_freq, minof(LONG_MAX, A))
notify(max_cpu_freq, minof(A, B))

Most of the PM QoS and Dev PM QoS requester clients were reviewed and
none of them were found to be calling pm_qos_add/update/remove request
from interrupt or atomic context since those calls include the blocking
notifier call which cannot be done in atomic context.

Signed-off-by: Sai Gurrappadi <sgurrappadi@nvidia.com>
Reviewed-on: http://git-master/r/299036
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Diwakar Tundlam <dtundlam@nvidia.com>

Change-Id: I2fb43cc38da4c701e4872b937dd82cd38f1a1c1e
power: PM QoS support for bounded constraints

Extended PM QoS to allow binding of two constraints. Bounded constraints
add the following functionality:

	- Priority for min/max bound requests. Targets bounds are set
	  to satisfy all priorities (intersection of all ranges). If it
	  is not possible to do so, higher priorities prevail
	- Timeouts for bound requests
	- Userspace interface that exposes bound requests

PM QoS still supports its original kernelspace and userspace interfaces

Bug 1270839
Bug 1349096

Signed-off-by: Sai Gurrappadi <sgurrappadi@nvidia.com>
Reviewed-on: http://git-master/r/299037
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Paul Walmsley <pwalmsley@nvidia.com>
Reviewed-by: Diwakar Tundlam <dtundlam@nvidia.com>

Conflicts:
	kernel/power/qos.c

Change-Id: Ic83444912b330fc71335d9a5b59077b1d16496bd