gpu: ion: Use writecombine for uncached mappings
When we map ion buffers as uncached we want to map them as
uncached but still be able to use buffering of transactions
since turning off buffering has a severe performance impact.
Added optimized ARM RWSEM algorithm.
smp: patches from mainline 3.5 to hopefully help with hotplug
efficiency

Thomas Gleixner's generic-idle patches:

smp: Add task_struct argument to __cpu_up()
Preparatory patch to make the idle thread allocation for secondary
cpus generic.
http://git.kernel.org/?p=linux/kernel/git/tip/tip.git;a=commit;h=8239c25f47d2b318156993b15f33900a86ea5e17

smp: Add generic smpboot facility
Start a new file, which will hold SMP and CPU hotplug related generic
infrastructure.
http://git.kernel.org/?p=linux/kernel/git/tip/tip.git;a=commit;h=38498a67aa2cf8c80754b8d304bfacc10bc582b5

smp: Provide generic idle thread allocation
All SMP architectures have magic to fork the idle task and to store it
for reusage when cpu hotplug is enabled. Provide a generic
infrastructure for it.
Create/reinit the idle thread for the cpu which is brought up in the
generic code and hand the thread pointer to the architecture code via
__cpu_up().
Note, that fork_idle() is called via a workqueue, because this
guarantees that the idle thread does not get a reference to a user
space VM. This can happen when the boot process did not bring up all
possible cpus and a later cpu_up() is initiated via the sysfs
interface. In that case fork_idle() would be called in the context of
the user space task and take a reference on the user space VM.
http://git.kernel.org/?p=linux/kernel/git/tip/tip.git;a=commit;h=29d5e0476e1c4a513859e7858845ad172f560389

arm: Use generic idle thread allocation
http://git.kernel.org/?p=linux/kernel/git/tip/tip.git;a=commit;h=84ec6d5796e095e2f8698bd2b5d33849ed26d9e2
msm thermal: enhancements

1) Raised thermal throttle level to 70C.

2) Add monitoring on sensor1 too and use the higher temp of the sensor0
and sensor1 (thanks to showp1984 for this idea from his git)

3) Added simple debug mode (requires recompile to turn off/on)

4) Smoother up and down throttling:

-Changed throttle frequency stepping to 1

-Tagged some additional higher frequencies as scaling frequencies so we
can roll up and down a bit more smoothly.

-Changed throttle poll_ms to 200ms as temps can raise quickly. It was
previously 500ms from morfic's commit so we can still scale down two
frequency steps in approximately the same amount of time. Stock was
250ms.
msm thermal: faster polling only when temp warning threshold is reached

Lower the throttle poll interval from 500ms to 250ms only when we hit
the warning threshold temp (throttle temp - hysteresis). This is
important since temps can raise quickly under high load, however we
don't want to rob the system resources by polling too often when temps
are under control.
USB: Allow skipping device resume during system resume
Some buses would like to keep their devices in suspend state during
system resume.  For example HSIC controller driver prevent system
suspend when HSIC device is active.  If this device is resumed, during
system resume HSIC controller acquire wake lock and prevent the
subsequent suspend till HSIC device is auto suspended.
USB: Prevent system suspend when HSIC device is active
Some buses like HSIC would like to keep device in suspend state
after system resume.  The remote wakeup or interface activity
later will auto resume the device.  This will work only if the
device is auto suspended before system suspend.  If the device
runtime state had been active during system suspend and system
suspend routine put the device in suspend, it will not be resumed
during system resume.  When remote wakeup happen for this device,
the runtime resume will not bring the device to active as runtime
core think it is already active.

The HSIC bus ensure that device is auto suspended prior to system
suspend by holding a wakelock till the bus is suspended.  HSIC bus
is not handling the case where device is auto resumed immediately
after system suspend begins.  HSIC bus simply put the device into
suspend in system suspend routine.

This patch fixes above issue by returning an error code if the device
is not auto suspended during system suspend.  Also add a safe guard
check in HSIC system resume routine to skip device resume only if it
is auto suspended prior to system suspend.
Revert "drivers:usb  decrease PHY_SUSPEND_TIMEOUT_USEC to 200 (from 500) to hopefully reduce the msm_hsic_host wakelock duration and yield more deep sleep."

This reverts commit 54eee051a69fe6885fba29aabbe93f63e4d74d37.
usb host ehci-msm-hsic: Turn off debug stuff again after revert of
older hsic patch.
msm_thermal: added additional enhancements for throttling

1) Add module params so they can be adjusted in userspace (throttle
temp + debug).

2) Removed monitoring on sensor 1 since it is unreliable and appears to
be expensive.

3) Added emergency shutdown interface to gracefully shutdown and reduce
CPU in the process when the cpu temp hits 80C (referenced showp1984 git
and reused some code)

4) Added cool temp poll mechanism so we don't poll quite as often when
cpu is lower than 40C.

5) Enhanced debugging
arm: added -funsafe-math-optimizations to ARM7 compiler flags.
auto_hotplug: enhancements

1) added module params so tuning an be adjusted in userspace and
debugging can easliy be enabled/disabled

/sys/module/auto_hotplug/parameters/debug 
(N/Y - turn off/on debugging)

/sys/module/auto_hotplug/parameters/disable_load_threshold
(integer - load at which a CPU is disabled)

/sys/module/auto_hotplug/parameters/enable_load_threshold (integer -
load at which an extra CPU is enabled)

/sys/module/auto_hotplug/parameters/enable_all_load_threshold (integer -
load at wich all CPU's are enabled)

/sys/module/auto_hotplug/parameters/min_sampling_rate 
(milliseconds, converted to jiffies at runtime)

2) lowered enable_load_threshold from 225 to 200 for a little more pep.

To-do: add get/set routines to keep values safe and in acceptable ranges