asoc: msm: Check headset insertion for consistency

 * It's possible to get a noisy reading during polling when
   transitioning to PLUG_TYPE_HEADSET. Poll again to double
   check that it's really a headset.
 * This helps when music is at full volume and a headphone
   is inserted. Double-checking the reading vastly improves
   the case where a noisy reading causes a mic to be detected.

Change-Id: I6e0863a46cdfd5316d798bc9b8348927fa403890
asoc: msm: Enable spammy MBHC debugging

 * Accidentally got removed from previous patch. Enable spammy debugging
   so we can collect data about more types of headsets.

Change-Id: If65168e2fbb470562433f9738886025c51096ff6
asoc: msm: More MBHC tunings!

 * All day every day!
 * It seems that certain OEM handset makers who are also in the
   accessory biz have chosen resistence values which lie directly
   on the threshold of the reference design. I can only think of
   a few reasons why someone would do this.
 * Nice trolling, Xiaomi :)

Change-Id: I0ff08b0f2253f10422f16f00ef5a8911455c5348
asoc: msm: MBHC tunings forever!

 * Franco's Apple headset is right on the boundary for HIGH_HPH.
 * Move the threshold down to 180.

Change-Id: I487af13663cb74d55ff8a270bda917537284966f
sched: Rollback upstream backport

 * There are some stability issues under certain loads with this
   patchset. Rollback until we can revisit.

Revert "[backport] sched_rt: Upstream fixes"

This reverts commit 3aef4fdd36c3db6f5df88629ab0a9d6c42bae26c.

Revert "[backport] sched: Misc upstream scheduler improvements"

This reverts commit fa16d20f1c90bb0d7955b194d450891de680494e.

Revert "[backport]: sched: Load-based CPU boosting"

This reverts commit 54d5731ffe5a109691de3f61eeda14bd42942325.

Revert "sched: Remove get_online_cpus() usage"

This reverts commit 86b047357013e1d5c5547fd6d466dd75b90afc81.

Change-Id: I8bb638023a95df7ae7a44b06017c0190985e3f22
sched: fix race between try_to_wake_up() and move_task()

Until a task's state has been seen as interruptible/uninterruptible
and it is no longer on_cpu, it is possible that the task may move
to another CPU (load balancing may cause this). Here is an example
where the race condition results in incorrect operation:

- cpu 0 calls put_prev_task on task A, task A's state is TASK_RUNNING
- cpu 0 runs task B, which attempts to wake up A
- cpu 0 begins try_to_wake_up(), recording src_cpu for task A as cpu 0
- cpu 1 then pulls task A (perhaps due to idle balance)
- cpu 1 runs task A, which then sleeps, becoming INTERRUPTIBLE
- cpu 0 continues in try_to_wake_up(), thinking task A's previous
  cpu is 0, where it is actually 1
- if select_task_rq returns cpu 0, task A will be woken up on cpu 0
  without properly updating its cpu to 0 in set_task_cpu()

Change-Id: I870f7ffefe30ba2aae1114fd5e66d1a73e6a54fb
CRs-Fixed: 665958
Signed-off-by: Steve Muckle <smuckle@codeaurora.org>
video: mdss: Sunlight readability enhancement support

 * This hardware supports a postprocessing mode which improves
   readbility in bright sunlight. Add support for enabling
   this mode when the backlight value crosses a threshold.
 * Enable the feature using /sys/class/graphics/fb0/sre
 * Also add a max backlight level for using CABC. It's not
   effective at full brightness and causes too much visible
   distortion with many images.

Change-Id: I213eb5d91e526c80a0dc88e6e05e6d6f35841fdf
4.8/4.9 compatability update

Change-Id: I6593acb2b357af395a1e016811368955e2a96655
Merge branch 'cm-11.0' of git://github.com/CyanogenMod/android_kernel_oneplus_msm8974 into HEAD