x3: config: enabled TCP Westwood congestion control
Kexec-hardboot patch credits go to Adam77Root for it
sync.c: add fsync() toggle module

Conflicts:
	fs/sync.c
cpu-tegra.c: we have several changes in here. The first and most notable is the removal of the early_suspend functions that were connected to the governors. What was NVIDIAs idea to have several functions to change governors based on screen on/off? No gain comes from it and it only wastes processing time because the path goes something like this: turn screen off -> save previous governor and its settings in an auxiliary function -> change to low power cpu cluster -> change to interactive/conservative governors based on the config choice. Then the other way around when screen is on... This path is pretty much dumbed down, theres much more going on, so why waste it in this procedure? So this is removed and replaced by two simple early_suspend functions that are tied to the Tegra cpu_driver struct that caps the policy->max to 475Mhz on screen off, and returns max to 1,5Ghz on screen on. This is way cleaner and screams much less problems. I also cleaned up some procedures that didn't make any sense like messing with threads/process priorities. Also did a little policy->max and policy->min settings on cpufreq_init to make sure the device boots with the correct frequencies.

Conflicts:
	arch/arm/mach-tegra/Kconfig
	arch/arm/mach-tegra/common.c
	arch/arm/mach-tegra/cpu-tegra.c
ARM: tegra: emc: Reduce DDR3 min rate to 25.5MHz. - from NVIDIA

Conflicts:
	arch/arm/mach-tegra/tegra3_emc.c
tegra3_clocks.c: refactor CPU frequency tables and ajust EMC clock ratios

Conflicts:
	arch/arm/mach-tegra/tegra3_clocks.c

Conflicts:
	arch/arm/mach-tegra/tegra3_clocks.c
edp.c: make all cores to go 1,5Ghz max

Conflicts:
	arch/arm/mach-tegra/edp.c
cpufreq.c: add userspace voltage control. Original implementation from faux123 (which was based on Michael Huang's OMAP4460 work). Interface cleaned up, made more robust and secure

Conflicts:
	drivers/cpufreq/cpufreq.c

Conflicts:
	drivers/cpufreq/cpufreq.c
tegra3_dvfs.c: reduce minimum voltage allowed for the CPU from 850mV to 600mV

Conflicts:
	arch/arm/mach-tegra/tegra3_dvfs.c

Conflicts:
	arch/arm/mach-tegra/tegra3_dvfs.c
cpufreq: fix wrong report of the frequency table in the UV interface.

Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>

Conflicts:
	drivers/cpufreq/cpufreq.c
tegra: includes fixup.
tegra: add GPU clocks interface.

Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>

Conflicts:
	arch/arm/mach-tegra/common.c
	drivers/cpufreq/cpufreq.c

Conflicts:
	arch/arm/mach-tegra/common.c
tegra: set new voltage tables for certain gpu clock ranges for stability purposes.

Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>
tegra: remove some safety mechanisms to facilitate  GPU overclocking from userspace.

Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>

Conflicts:
	arch/arm/mach-tegra/dvfs.c
	drivers/video/tegra/host/nvhost_acm.c
tegra: decrease GPU clocks to nearly stock values. Also refactor most code to make it simpler. We get rid of the voltages arrays and update the millivolts table dynamically. For that we had to get rid of the const variable type or the compiler wouldn't let it build for obvious reasons. Also changes how to change the frequency of the GPU as it only outputs one value instead of the whole array of frequencies. Makes it much easier for users to use and much easy on the code complexity. Thanks @morfic for the pll_c tables.

Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>

Conflicts:
	arch/arm/mach-tegra/common.c
	arch/arm/mach-tegra/dvfs.h
	arch/arm/mach-tegra/tegra3_clocks.c
	arch/arm/mach-tegra/tegra3_dvfs.c

Conflicts:
	arch/arm/mach-tegra/dvfs.h
	arch/arm/mach-tegra/tegra3_clocks.c