mach-tegra: add tegra mpdecision with better hotplug management (needs a lot of work)

Currently done:
Copied over from my pyramid kernel.
Renamed everything according to it's new function.
updated the header.
changed get_rate function to tegra specific one (untested).

What needs to be done:
make it quadcore compatible (or cpu number independent)
lp cluster switching
finetuning
etc...

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
mach-tegra: tegra_mpdecision: remove scroff_single_core and add TODOs to screen on/off

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
mach-tegra: tegra_mpdecision: fix some last compile errors/warnings

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
mach-tegra: don't allow tegra_auto_hotplug & tegra_mpdecision at the same time

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
mach-tegra: tegra_mpdecision: add debug output

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
mach-tegra: tegra_mpdecision: make mpdecision independent of the number of available cores (dual/quad)

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
mach-tegra: tegra_mpdecision: rename cpu locks

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
mach-tegra: tegra_mpdecision: make tegra_mpdec_work_thread independent of the number of available cores (dual/quad)

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
mach-tegra: tegra_mpdecision: adjust startdelay and fixup a latenight-error

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
mach-tegra: tegra_sleep_stats: fix runqueue stats info

Replace tegra_sleep_stats.c with the qualcom original (which it was
derived from anyway) and fix the tick-sched hooks which were not
present at all.

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

Conflicts:

	arch/arm/mach-tegra/tegra_rq_stats.c
	kernel/time/tick-sched.c

Conflicts:

	arch/arm/mach-tegra/tegra_rq_stats.c
	kernel/time/tick-sched.c
mach-tegra: compile tegra_rq_stats.o

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
include: linux: add missing rq_stats.h

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
mach-tegra: tegra_mpdecision: make debug output more compact

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
mach-tegra: tegra_mpdecision: fix some late-night-errors

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
mach-tegra: tegra_mpdecision: decrease decision delay

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
mach-tegra: tegra_mpdecision: fix debug #if

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
mach-tegra: tegra_mpdecision: update core data on first call

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
mach-tegra: tegra_mpdecision: don't let the workthread run if we are still paused

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
mach-tegra: tegra_mpdecision: restore rudimentary screen on/off function. (!watch the TODOs!)

This send all cpus that are online & mpdecision to sleep when the
screen is deactivated and wakes mpdecision when the screen is activated
again.

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
mach-tegra: tegra_mpdecision: get tegra cpu clocks during init (cpu, g, lp)

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