cpufreq: update lpj only if frequency has changed

During scaling up of cpu frequency, loops_per_jiffy
is updated upon invoking PRECHANGE notifier.
If setting to new frequency fails in cpufreq driver,
lpj is left at incorrect value.

Hence update lpj only if cpu frequency is changed,
i.e. upon invoking POSTCHANGE notifier.

Penalty would be that during time period between
changing cpu frequency & invocation of POSTCHANGE
notifier, udelay(x) may not gurantee minimal delay
of 'x' us for frequency scaling up operation.

Perhaps a better solution would be to define
CPUFREQ_ABORTCHANGE & handle accordingly, but then
it would be more intrusive (using ABORTCHANGE may
help drivers also; if any has registered notifier
and expect POST for a PRECHANGE, their needs can
be taken care using ABORT)

Signed-off-by: Afzal Mohammed <afzal@ti.com>
tegra: custom user voltage control

initial implementation inspired by coolbho3k's custom voltage control for
galaxy nexus (OMAP4460)

also added some Processor ID debugging code to properly identify tegra3
variants

Conflicts:

	arch/arm/mach-tegra/tegra3_dvfs.c
cpufreq: intelliactive: initial coding and introduction!

intelliactive is based on Latest Google Interactive cpufreq governor from
Google.  The original Interactive provides smooth UI operations but suffers
slight battery drain due to its aggressive policies.  Intelliactive is an
improvement built on top of it.

It has the following enhancements added:
1. self-boost capability from input drivers (no need for PowerHAL assist)
2. two phase scheduling (idle/busy phases to prevent from jumping directly to
   max freq
3. Checks for offline cpus and short circuits some unnecessary checks to
   improve code execution paths
4. removed trace calls

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

Conflicts:
	drivers/cpufreq/Kconfig
	drivers/cpufreq/Makefile
	include/linux/cpufreq.h
intelliactive: backport to Linux 3.0.x / Linux 3.1.x kernels

Signed-off-by: Paul Reioux <reioux@gmail.com>
intelliactive: tune for Tegra 3 platforms

Signed-off-by: Paul Reioux <reioux@gmail.com>
Intelliplug 2.0: Port to Tegra 3 Platform for Linux 3.1.x

Signed-off-by: Paul Reioux <reioux@gmail.com>
intelli_plug: switch to use dedicated high priority  workqueue

from the shared global workqueue.  This should prevent hang ups while the
global workqueue is busy and cleaned up some logic issues.

give input boost its own workqueue

bump to version 2.2

Signed-off-by: Paul Reioux <reioux@gmail.com>
Overclocking: GPU overclocking from 416MHz to 520Mhz
Enable INTELLIACTIVE GOV.MAke ROW I/O Shed default
Enable user voltage control on cpu

Conflicts:
	arch/arm/configs/cyanogenmod_x3_defconfig
Enable SIO I/O sched
Enable SOC driver
Increase readahead cache
page-writeback: decrease dirty data ratio
cpufreq: force cpuN policy to match cpu0 when changing freq or gov
Revert "cpufreq: force cpuN policy to match cpu0 when changing freq or gov"

This reverts commit b266576aad8cce6fce498232588ae5a4c5268910.
Revert "arm: tegra: xmm: fix for kernel panic on xmm on/off"

This reverts commit 326dce103411a64181802d5f18984b5244aef7c7.
Revert "Merge pull request #4 from iodak/android-4.4"

This reverts commit 30bf81a48ece25c69d78164e5b3aa68c7e84eae3.
Cleanup cpufreq
Add Start/Show dvfs test
Stop nagging me