Optimized ARM RWSEM algorithm

RWSEM implementation for ARM using atomic functions.
Heavily based on arch/sh/include/asm/rwsem.h

Signed-off-by: Ashwin Chaugule <ashwinc@codeaurora.org>
arm/crypto: Add optimized AES and SHA1 routines

Add assembler versions of AES and SHA1 for ARM platforms.  This has provided
up to a 50% improvement in IPsec/TCP throughout for tunnels using AES128/SHA1.

Platform   CPU SPeed    Endian   Before (bps)   After (bps)   Improvement

IXP425      533 MHz      big     11217042        15566294        ~38%
KS8695      166 MHz     little    3828549         5795373        ~51%

Signed-off-by: David McCullough <ucdevel@gmail.com>
Signed-off-by: faux123 <reioux@gmail.com>
mach-msm: disable kernel-side mpdecision

Signed-off-by: Blechd0se <alex.christ@hotmail.de>
msm: cpufreq: Add frequency limiter driver

* This driver limits max frequency on suspend/resume.
* This driver can be used by other boards as well
  since it doesn't contain any function specific to
  msm board.
* We will convert pr_info to pr_debug once tested
  and reviewed.

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>

Conflicts:
	arch/arm/mach-msm/Kconfig
	arch/arm/mach-msm/Makefile
msm: limiter: Update path

* Attributes are created at /sys/kernel/msm_limiter/*

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
msm: limiter: Improve logic and formatting

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
msm: limiter: Cleanup debug prints

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
msm: limiter: Increase constraints prior changing limits

* In very rare instance, resume function causes wdog to reset
  on MSM board and hence a reboot.
* So let resume function execute and restore limits only if
  required.
* Increase suspend defer time to 10 seconds.
  (which is same as that of MSM Hotplug)

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
msm: use of swp{b} is deprecated for ARMv6+

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: pinkflozd <lk@varjanta.com>
fix swp{b} use is deprecated for ARMv6 and ARMv7

Conflicts:
	arch/arm/mach-msm/remote_spinlock.c

Conflicts:
	arch/arm/mach-msm/remote_spinlock.c
fix
msm: cpufreq: Add API to allow limiting of min and max cpu frequencies

CPUFreq provides scaling sysfs nodes to set min and max frequencies, but
there are times when the operating range has to be controlled
irrespective of the scaling limits, to ensure the thermal stability of
the device.

The API allows kernel thermal safeguards to pitch in and limit the
frequencies.

Change-Id: I3dc7496747792e6223695131f1644dd87054b025
Signed-off-by: Praveen Chidambaram <pchidamb@codeaurora.org>

modified for MSM8226 usage

Signed-off-by: Paul Reioux <reioux@gmail.com>