lcdc_ld9040: add additional mutex protection

Change-Id: Ifa7be9a321e4b63fc1a5dda968db177ffb73be1c
qt602240_ts: add additional mutex protection

Change-Id: I174920431e0eaba2b59dda78e478af228affb9d7
video: ld9040: Turn panel off after stop_drawing

 * Don't turn the panel off so early that we don't see the screen-off
   animation.

Change-Id: If6a511ec312b2356672d4950980a76de71ff8362
skyrocket: enable additional kernel debugging

Change-Id: I43d09b4e8689c88a36ba0ff4021142dc44794d86
defconfig: hercules: Enable more debugging options

Change-Id: Ic1828a621262b2836cf303627c7b1645493231d8
Add T769 and I577 support

These patches add (mostly) working support for the Samsung SGH-T769 (TMOUS
Blaze 4G) and SGH-I577 (AT&T Exhilarate) to the JellyBean branch of the
msm8660-common kernel. They are largely just ifdefs, in many cases added onto
the T989 (hercules) definitions. There are a few hardware specific ifdefs to
define platform specific values. There are also two files that I took
completely from the T769 and I577 sources for drivers that only exist on
those two platforms within cyanogenmod (therefore I assumed they were the
right ones).

This patch set does NOT fix the cypress-touchkey.c driver. I'm still working
on that.

arch/arm/configs/cyanogenmod_*_defconfig
 * Added device configurations for T769 and I577

arch/arm/mach-msm/qdsp6v2/board-msm8x60-audio-APEX40.c
arch/arm/mach-msm/qdsp6v2/timpani_profile_apex40_tmo.h
 * Added these T769 specific files from the T769 ICS Kernel Sources (3.0.8)

arch/arm/mach-msm/qdsp6v2/q6voice.c
 * Added T769/I577 ifdef's
 * Initialize dev_rx_info within functions where CONFIG_VPCM_INTERFACE_ON_CSFB
   is set, but nothing is done in the big ugly ifdef (see line 1705 for
   example), for I577

drivers/i2c/chips/taos.c
drivers/media/video/msm/sec_isx012*
 * These drivers are only used by T769/I577, use their versions from their
   sources

drivers/video/msm/lcdc_ld9040.c
 * includes were borked...

Everything else... (based on ICS sources from both devices)
 * Added T769 and I577 to existing ifdefs where it made sense
 * Created some ifdefs for device specific hardware values
 * Added cases to exclude I577 in a few cases

Change-Id: I62245d4371e51c4d8ec63d63daf92b85abed5373
Temporary cypress-touchkey support for T769.

This is an older version of the driver, and should be reverted once
support is properly integrated into the main cypress-touchkey driver.

Change-Id: I9509ca7b770efa80826245322e3a7cf3ed5ddb27
Revert "video: msm: Add support for VSYNC notify via sysfs"

This reverts commit 9891f29907d879cb7fa6ec19fcca10b999fb2279.

Change-Id: If80727376351b77149b7edccd7afd3442aaa2a8c
msm_fb: display: Send vsync events using sysfs for MDP4 targets

Replace sending of vsync timestamp using uevents with sysfs entry
as uevent result in increase in power numbers due to broadcast in
nature. Also, for smart panel, wait4vsync is removed.

(cherry picked from commit ca47ab601b9d36b2a96685a6e93042318ebbba8b)

Change-Id: I96577a3408fa0e2e1b54cf97434ddcf75bee589c
Signed-off-by: Mayank Chopra <makchopra@codeaurora.org>
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
Signed-off-by: Jessica Gonzalez <jgaona@codeaurora.org>
msm_fb: display: turn vsync irq off at suspend

Turn off vsycn irq at suspend to prevent vsync irq firing
before vsycn enabled ioctl called at resume.

Change-Id: I2428cdeb5cf7008e50f6d8dabfad52416db2fff7
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
msm_fb : display : Block RGB downscale in MDP 4.0 and 4.1

Downscale is not allowed on RGB pipes in MDP 4.0 and 4.1. Hence,
fail the OVERLAY_SET ioctl for such configurations.

Signed-off-by: Pradeep Jilagam <pjilagam@codeaurora.org>
(cherry picked from commit 3545573720822ce97ec37586f10fdf74a6d4f090)

Change-Id: I8445c18ac21cb7322eb9eb4c802623df5da07eb7
Signed-off-by: Gopal Goberu <ggober@codeaurora.org>
msm: rotator: Add pseudo-planar 422 H1V2 dst format for MDP4

For interleaved 422 inputs, rotator outputs MDP_Y_CRCB_H1V2
format on 90 degree rotation. Add support as destination format
for MDP4.

CRs-Fixed: 371303
Change-Id: Ie0f98d40f58bf2cb9bc3298a94cae9c4e89b2f7a
Signed-off-by: Mayank Chopra <makchopra@codeaurora.org>
msm_fb: display: Add pseudo-planar 422 H1V2 support in the MDP4

Rotator outputs pseudo-planar 422 H1V2 for interleaved inputs
on 90 degree rotation. Add changes to support MDP_Y_CRCB_H1V2
in MDP4.

CRs-Fixed: 371303
Change-Id: I8083bf44f9e2addf9e8732268147c1c3f6c0e2af
Signed-off-by: Mayank Chopra <makchopra@codeaurora.org>
msm_fb: display: remove extra dmap irq disable

Both irq enable and disable need to be called symmetrically.
Remove an extra dmap irq disable call.

Change-Id: Ic51003c50431ebe46a9fc540163cda77a1c91797
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
msm_fb: display: add pipe commit ioctl

currently, pan display serves as pipe commit. However it
may spend long time pending on cosole_lock() which cause
flickering on HDMI. Add pipe commit ioctl to allow commit
from overlay in addition to pan_display.

CRs-fixed: 391564
Change-Id: I163b5d96f727b70b4d5693e9a414b59339818998
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
msm_fb: display: empty pending queue during suspend

Overlay_play() adds a pipe into pending queue and pan_display()
will commit those pipes to hardware and empty queue. This patch
will make sure queue is empty at suspend so that no unexpected
pipes will be commited to hardware by pan_display() at resume.
Otherwise, iommu page fault may happen.

Change-Id: Iafdf469c6cdbf5d469c9dee114555a8d1adb9c66
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
msm_fb: display: remove background invert alpha option for alpha drop pipe

When the blended background pipe has dropped alpha and it is going to
be blended with foreground pipe on the next stage,
MDP4_BLEND_BG_ALPHA_FG_CONST is taken. Foreground alpha constant is
0xFF, so we need to use this alpha value to show background, instead
of its inverted value.

Change-Id: I1fe0572f9bb54db6280bcc44117a21b8c0d8b07a
Signed-off-by: Huaibin Yang <huaibiny@codeaurora.org>
msm_fb: display: add fput_light to frame buffer

Frame buffer's (fb0) ref_count need to be balanced. overlay_play()
increase fb0's ref_count (fget_light). This patch will decrease fb0's
ref_count by calling fput_light after commit.

Change-Id: I34ea738bf21d0858b7361ec8e289464a217a1231
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
msm_fb: display: check base layer pipe at irq handler

There is a corner case when overlay and dmap interrupts
are fired before base layer pipe is allocated. Therefore
Check for base layer pipe before performing any operations.

Change-Id: Ib188d575044f5479672503508042c8c1e9c759c4
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
msm_fb: Use background alpha for all destination alpha enable cases

Use background alpha for modulation in all the cases where source alpha
is not available.

CRs-fixed: 366834
Change-Id: I300c04181ee3fa4f305a26a3e17e7eac2572564c
Signed-off-by: Kalyan Thota <kalyant@codeaurora.org>