arm/dt: hammerhead: Enable partial frame update

This is the default setting for smart panels.

Change-Id: Id0fcca094759a4b4bcbecae88d674fafbaa6e104
msm: mdss: Update pp LUT preset on overlay start

We must update our post processor LUT to apply color calibration
presets whenever overlay is started.

Change-Id: I312afcb6a5e7cc814c201088c4a93bb8060c3a22
touch_synaptics_ds5: i2c_read: auto retry 10 times before erroring out The i2c devices we are connecting to may not be ready yet, or just busy. Retry with a 10ms pause in order to still obtain touch data. This improves overall touch data robustness, but the main thing it does: WE CAN FINALLY GET TOUCH DATA IN SUSPEND ALL THE TIME.

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
sweep2wake: disabled as default, enable it over apps/sysfs

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
sweep2wake: cleanup header file

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
touch_synaptics_ds5: remove wakeup procedure for i2c device

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
touch_synaptics_ds5: don't wait for irq events to be handled, just disable the irq

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
touch_synaptics: remove wakeup procedure for i2c device

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
touch_synaptics: don't wait for irq events to be handled, just disable the irq

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
Sweep2wake: add vertical sweep capability and expose tunables to userspace

HUGE thanks to Dennis Rassmann <showp1984@gmail.com> for his original
sweep2wake contribution!

Signed-off-by: Paul Reioux <reioux@gmail.com>
s2w: rename version file so we don't conflict with dt2w, driver versions, etc

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
weep2wake/doubletap2wake/touchscreen: Prepare for dt2w

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

Signed-off-by: Paul Reioux <reioux@gmail.com>
sweep2wake: update header information

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
sweep2wake: remove distinction between S2W and DT2W defines

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

Signed-off-by: Paul Reioux <reioux@gmail.com>
add doubletap2wake, completely rewritten on the s2w template

This is as easy to port as s2w, if not easier since no touchscreen
coords are necessary for it to work.

Just throw it in your tree, force the touchscreen to stay online and
you are done.

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
s2w: abort on multitouch events early

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
dt2w: fix triple tap to wake occuring sometimes

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
s2w: add s2s only override

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
Defconfig: enable S2W and DT2W

Change-Id: I92c3728d0ad8abf96c476b5cf57b39da1af7b0a2
Implement kexec-hardboot

"Allows hard booting (i.e., with a full hardware reboot) to a kernel
previously loaded in memory by kexec.  This works around the problem of
soft-booted kernel hangs due to improper device shutdown and/or
reinitialization."
More info in /arch/arm/Kconfig.

Original author: Mike Kasick <mike@kasick.org>

Vojtech Bocek <vbocek@gmail.com>:
  I've ported it to hammerhead, it is based of my mako/grouper port, which is
  based of Asus TF201 patch ported by Jens Andersen <jens.andersen@gmail.com>

  Hammerhead is the first device I've ported this patch to which uses
  device tree binary instead of atags. It is also rather picky - its
  bootloader erases first 128MB of RAM on reboot, so following hacks had
  to be applied:
  * Copy dtb to location passed in r2 before jumping to kexecd' kernel,
    the kernel would just freeze when I left dtb above 128MB of RAM.
  * Copy kexecd' kernel to location in the first 128MB before jumping to it,
    the decompressor operates very slowly if the kernel is above the cached
    area, copying it lower and decompressing it afterwards is much faster.

  Same as my mako/flo patches, the guest kernel does not require any
  modifications, kexec-hardboot is equivalent to standard kexec.

  To support dtb, following commit was backported from the mainline:
    commit 4cabd1d9625c7d88acd143f4021fbef75394f154
    Author: Matthew Leach <matthew.leach@arm.com>
    Date:   Fri Sep 21 18:56:02 2012 +0100

      ARM: 7539/1: kexec: scan for dtb magic in segments

      This patch allows a dtb to be passed to a new kernel using the kexec
      mechinism.

      When loading segments from userspace, scan each segment's first four
      bytes for the dtb magic. If this is found set the kexec_boot_atags
      parameter to the relocate_kernel code to the phyical address of this
      segment.

  and fixes of this commit:
    c564df4db85aac8d1d65a56176a0a25f46138064
    2456f44dd7a9aaffc2cd21a13f78198b3d94da08

ayysir <dresadd09691@gmail.com>:
  kexec: use mem_text_write_kernel_word to set reboot_code_buffer args
  in order to avoid protection faults (writes to read-only
  kernel memory) when CONFIG_STRICT_MEMORY_RWX is enabled.

Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
Signed-off-by: Dennis Rassmann <showp1984@gmail.com>