sched: disable gentle fair sleepers

Thanks mrg666
https://github.com/mrg666/android_kernel_shooter/commit/63420339067144b3ba76ac203bfa24b013a179d2
msm: smd_tty: Reset the open flag in close operation

Thanks mrg666
https://github.com/mrg666/android_kernel_shooter/commit/b4c5d8b746c532ede17bba98e13a0c76f0f499b5
msm: smd_tty: Check the device is open before scheduling tasklets

Thanks mrg666
https://github.com/mrg666/android_kernel_shooter/commit/6cf3328c26b450410f01d18d99b45827450a1ccd
fix "HTC FIXME" that HTC didn't fix
backport mach-msm/idle_stats_device.c from codeaurora msm-3.4
drm: fix a use-after-free when GPU acceleration disabled

commit b7ea85a4fed37835eec78a7be3039c8dc22b8178 upstream.

When GPU acceleration is disabled, drm_vblank_cleanup() will free the
vblank-related data, such as vblank_refcount, vblank_inmodeset, etc.
But we found that drm_vblank_post_modeset() may be called after the
cleanup, which use vblank_refcount and vblank_inmodeset. And this will
cause a kernel panic.

Fix this by return immediately if dev->num_crtcs is zero. This is the
same thing that drm_vblank_pre_modeset() does.

Call trace of a drm_vblank_post_modeset() after drm_vblank_cleanup():
[   62.628906] [<ffffffff804868d0>] drm_vblank_post_modeset+0x34/0xb4
[   62.628906] [<ffffffff804c7008>] atombios_crtc_dpms+0xb4/0x174
[   62.628906] [<ffffffff804c70e0>] atombios_crtc_commit+0x18/0x38
[   62.628906] [<ffffffff8047f038>] drm_crtc_helper_set_mode+0x304/0x3cc
[   62.628906] [<ffffffff8047f92c>] drm_crtc_helper_set_config+0x6d8/0x988
[   62.628906] [<ffffffff8047dd40>] drm_fb_helper_set_par+0x94/0x104
[   62.628906] [<ffffffff80439d14>] fbcon_init+0x424/0x57c
[   62.628906] [<ffffffff8046a638>] visual_init+0xb8/0x118
[   62.628906] [<ffffffff8046b9f8>] take_over_console+0x238/0x384
[   62.628906] [<ffffffff80436df8>] fbcon_takeover+0x7c/0xdc
[   62.628906] [<ffffffff8024fa20>] notifier_call_chain+0x44/0x94
[   62.628906] [<ffffffff8024fcbc>] __blocking_notifier_call_chain+0x48/0x68
[   62.628906] [<ffffffff8042d990>] register_framebuffer+0x228/0x260
[   62.628906] [<ffffffff8047e010>] drm_fb_helper_single_fb_probe+0x260/0x314
[   62.628906] [<ffffffff8047e2c4>] drm_fb_helper_initial_config+0x200/0x234
[   62.628906] [<ffffffff804e5560>] radeon_fbdev_init+0xd4/0xf4
[   62.628906] [<ffffffff804e0e08>] radeon_modeset_init+0x9bc/0xa18
[   62.628906] [<ffffffff804bfc14>] radeon_driver_load_kms+0xdc/0x12c
[   62.628906] [<ffffffff8048b548>] drm_get_pci_dev+0x148/0x238
[   62.628906] [<ffffffff80423564>] local_pci_probe+0x5c/0xd0
[   62.628906] [<ffffffff80241ac4>] work_for_cpu_fn+0x1c/0x30
[   62.628906] [<ffffffff802427c8>] process_one_work+0x274/0x3bc
[   62.628906] [<ffffffff80242934>] process_scheduled_works+0x24/0x44
[   62.628906] [<ffffffff8024515c>] worker_thread+0x31c/0x3f4
[   62.628906] [<ffffffff802497a8>] kthread+0x88/0x90
[   62.628906] [<ffffffff80206794>] kernel_thread_helper+0x10/0x18

Signed-off-by: Huacai Chen <chenhc@lemote.com>
Signed-off-by: Binbin Zhou <zhoubb@lemote.com>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
Acked-by: Paul Menzel <paulepanter@users.sourceforge.net>
Signed-off-by: Dave Airlie <airlied@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Added back Stock “Sound” patched up to 3.0.80
msm: camera: Free buffers from frame queue at open

Credit mrg666
https://github.com/mrg666/android_kernel_shooter/commit/03c7e738aa111b459c3166c0b1c7ae79481404d8
cpufreq: interactive: backport interactive governor from AOSP android-3.4 kernel
block: row-iosched: backport latest code from CAF msm-3.4 kernel
CONFIG CPU DEFAULT GOV INTERACTIVE
Update Kernel Thermal Management

Credit mrg666
https://github.com/mrg666/android_kernel_shooter/commit/d4c82c2a8da5866f5634c124cf9e14ba715da3d8

https://github.com/mrg666/android_kernel_shooter/commit/877be63921e76fc8aba26b6304ac73b663e6e749

https://github.com/mrg666/android_kernel_shooter/commit/1d9d08c31a4d71454ece8c8d77298ccd5f6d589f

https://github.com/mrg666/android_kernel_shooter/commit/0042440fb336c075cc50203deef4d2bd184c8dbc
simplify cpu scaling

Removed half of the current frequencies for now. In testing found most are rarly used if at all. Most likely could scale back even further but will do more testing before removing any further.

Set max frequency to 1728 MHz, found no noticeable difference going any higher. In testing honestly found no noticeable difference going above 1512 MHz but left higher frequencies in for those who like to overclock.
Set default Max CPU frequency at 1296 MHz

Find performance to be just fine using the lower max frequency.  Users still have the ability to overclock up to 1728 MHz if they so desire.