Update tegra_mpdecision to latest version.
Includes tons of bugfixes/improvements/new sysfs stuff.

This is a combination of 35 commits.

_________________________________________________
mach-tega: cpu-tegra: don't mess with nice

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

Conflicts:

	arch/arm/mach-tegra/cpu-tegra.c

Change-Id: I9c69b96cfc5fe78f9e4dbb81496825264257850b

fix cpudebug

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

Conflicts:

	include/linux/cpu_debug.h

Change-Id: Ib11584f9a6aa6fb8097deae1daadfe7752a76b77

mach-tegra: mpdecision: make sure we are in lpmode range

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

mach-tegra: mpdecision: clean up get_rate()

Actually this could be removed, but I needed some rate
modifiers in the past, hence leave it here for the time being.

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

mach-tegra: tegra_mpdecision: fix return of tegra_lp_cpu_handler() if mutex cannot be locked

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

mach-tegra: tegra_mpdecision: add mutex to suspend worker

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

mach-tegra: tegra_mpdecision: fix an epic bracket fail, which most likely caused the lockups

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

mach-tegra: tegra_mpdecision: export lpcpu_hysteresis to sysfs

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

mach-tegra: tegra_mpdecision: suspended worker: check if we CAN switch to lp now

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

mach-tegra: tegra_mpdecision: lp_cpu_handler: check if we are in lpmode before powering down

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

mach-tegra: tegra_mpdecision: fix a possibibility where the lpcpu up/down would not respect min delays

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

mach-tegra: tegra_mpdecision: remove useless mutex locks/unlocks

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

mach-tegra: tegra_mpdecision: reset lpup hysteresis counter in all other states

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

mach-tegra: tegra_mpdecision: only catch-up with gov target speed if there is no error

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

mach-tegra: tegra_mpdecision: use own workqueues

This will alter mpdecision to alloc it's own wq rather than using
the predefined queue which is a shared resource.
Since we are using a lot of delays in here they could slow down
other users of the workqueue, which should be avoided.
Create 2 workqueues to avoid this, one for normal operations and
one for lpcpu checks while suspended. Both threads are not bound
to the issuer CPU (=> high-priority), have rescue worker tasks
and are freezable.
Also destroy the workqueues on exit, and rename tegra_mpdec to
tegra_mpdec_init.

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

mach-tegra: platsmp: use gmode_notifier

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

Conflicts:

	arch/arm/mach-tegra/cpu-tegra.c
	arch/arm/mach-tegra/platsmp.c

Change-Id: I3b07a01da0bf4863cc9d0ee53599329d5437ef31

drivers: base: cpu: remove NVIDIA cpu-plug workqueue with all it's stuff

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

Conflicts:

	drivers/base/cpu.c

Change-Id: I5baa10c2f399bccc4f389150b4ed9bbcf9bb2dd7

mach-tegra: tegra_mpdecision: fix tegra_mpdec_suspended_work_thread

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

mach-tegra: tegra_mpdecision: add lpcpu_down hysteresis loop+sysfs

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

mach-tegra: tegra_mpdecision: the suspend wq task should be non freezable

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

mach-tegra: tegra_mpdecision: fix sysfs enable/disable

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

mach-tegra: tegra_mpdecision: if lpcpu fails to come up on ES, schedule lpchecks

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

mach-tegra: tegra_mpdecision: cancel/resume main work thread on ES/LR

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

mach-tegra: tegra_mpdecision: lphandler: return error if mutex cannot be locked

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

mach-tegra: tegra_mpdecision: lphandler: add robustness checks for clks

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

mach-tegra: tegra_mpdecision: We were paused, even only for a short time

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

mach-tegra: tegra_mpdecision: adjust delays to fit NVIDIA specifications

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

mach-tegra: tegra_mpdecision: use unique lock names

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

mach-tegra: tegra_mpdecision: redesign locking in gmode_notifier

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

mach-tegra: tegra_mpdecision: add max/min cpu limits to sysfs

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

mach-tegra: platsmp: this is only executed when the cpu is brought online, hence we don't need mpdecision here

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

mach-tegra: cpu-tegra: don't ignore the return value

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

mach-tegra: platsmp: remove speed override

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

mach-tegra: tegra_mpdecision: powerup lp / powerdown cpu1 later

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

mach-tegra: cpu-tegra: change tegra_update_cpu_speed() to non static

Change-Id: Ice0251137503e5fb2ffea25b55ba347ed204c4dc
Signed-off-by: Dennis Rassmann <showp1984@gmail.com>