Tuna: add option to reclaim ~73 MB of reserved RAM (HUGEMEM)

Reclaim 69M of RAM from HEAP_TILER and 4M from the OMAP
framebuffer. This will break 1080p video recording and
some camera functionalities, unless 1080p modes are
disabled from within /system/etc/media_profiles.xml.

Credits go to mpokwsths.

Conflicts:
	arch/arm/mach-omap2/board-tuna-display.c
	arch/arm/mach-omap2/board-tuna.c

Conflicts:
	arch/arm/mach-omap2/Kconfig
	arch/arm/mach-omap2/board-tuna-display.c
new hugemem config
remove asram stuff
fix video playback
tweak regulator voltages
fastchg: change fast charge to override the high current GPIO, not the USB cable mode

Conflicts:
	arch/arm/mach-omap2/board-tuna-connector.c
fastchg: Only enable fast charge GPIO as long as we actually have some charging to do.
OTG Host Mode On Charge: Version 3 - Thanks Caioketo

- Auto detects if its a charger in the OTG cable,
  if it is, charges, if it isnt, uses default OTG

https://github.com/caioketo/journeymanmod/
  commit/56c8eb7ba0b72dcb1a85982cb8bc8442c2ce2e33

Conflicts:
	arch/arm/mach-omap2/board-tuna-connector.c
cleanup for the new fastcharge.
board-tuna-vibrator.c: Low vibrator dmesg log Spam
Reduce the RAM used by the GPU as Frame Buffer.
1280x720x32bitsx3buffers (tripple buffering) equals to less than 11MBytes.
So, some more MBs of RAM are back to the user.

Conflicts:
	arch/arm/configs/tuna-fish_defconfig
	arch/arm/mach-omap2/board-tuna-display.c
Clock rate for dpll_core_m6x2_ck for OPP100 should be exactly 266666666
= 1600000000 / 6 (266600000 is rounded down to 228571428 = 1600000000 / 7).
SR: Custom SR Tuning v1 - supports MPU, IVA, and CORE

Override kernel default VDDMIN via sysfs (debug fs).
/sys/kernel/debug/smartreflex/sr_*/vmin

Signed-off-by: Dan Trifan <jimsth@gmail.com>
backport rwsem from Linux 3.11

Change-Id: I00a04b8b11b184803a1a6a3aeb8a066769bf09c4

Conflicts:
	include/linux/rwsem.h
	kernel/rwsem.c
	lib/rwsem-spinlock.c
gpu: pvr: we have cortex a9

Signed-off-by: Willi Ye <williye97@gmail.com>

Conflicts:
	drivers/gpu/pvr/Makefile
drivers/gpu/pvr/pvr_governor: add a simple PVR GPU governor

this simple PVR GPU governor will scale between 3 speeds:
  idle -- GPU not active
  nominal -- GPU active with low graphical load
  turbo -- GPU active and boosted to max frequency

This should further save battery by intelligently selecting GPU frequency
based on GPU loading.

Signed-off-by: Paul Reioux <reioux@gmail.com>
drivers/gpu/pvr/pvr_governor: add sysfs entry to switch governor type

0 - "performance" ==> always return system turbo speed
1 - "ondemand" ==> return based on GPU loading (by default "ondemand"
governor is active)

Signed-off-by: Paul Reioux <reioux@gmail.com>
drivers/gpu/pvr/pvr_governor: add "powersave" governor as another option

    0 - "performance" ==> always return system turbo speed
    1 - "ondemand" ==> return based on GPU loading (by default "ondemand"
                       governor is active)
    2 - "powersave" ==> run alway at nominal speed

Signed-off-by: Paul Reioux <reioux@gmail.com>
drivers/gpu/pvr/pvr_governor: fix sysfs to show "powersave" governor

Signed-off-by: Paul Reioux <reioux@gmail.com>
drivers/gpu/pvr/pvr_governor: add sysfs interface for current GPU freqeuncy

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