msm: camera: move camera files to older branch snapshot.

This change rewinds the camera files to an older state. On top
of that, it applies the kernel 3.4 upgrade related changes that
are rquired to conform with the new APIs.

Change-Id: I6843bb4e79a6516ab24f88e24bc7fe3c3913193c
Signed-off-by: Ankit Premrajka <ankitp@codeaurora.org>
msm: camera: add ion dev fd field to frame structure.

The ion dev fd field is required to represent the client
that allocated the buffer represented by the frame.

Change-Id: I58dc3078083335965aeceb69f52fdb5a8d81643b
Signed-off-by: Ankit Premrajka <ankitp@codeaurora.org>
msm: camera: Check ping, pong mapping buffers validity while unmappping them.

why: without validating the ping, pong mapping buffers
address we are unmapping the buffers here, which is causing
a crash in msm_isp_release()

Change-Id: I72a2c8d499b4ab5daa7f705eeec8e96715545c4d
Signed-off-by: Roja Rani Yarubandi <rojay@codeaurora.org>
msm: bam_dmux: update SSR handling to reflect disconnect ack on by default

When subsystem restart of the modem is triggered, the SSR handling function
disables the disconnect ack feature.  Later, when the modem reboots, it
expects the disconnect ack feature to be enabled by default as it was when
the modem first booted.  This causes a problem when the modem times out
waiting for the disconnect ack and asserts.

Fix the issue by changing the SSR code in bam_dmux to reenable the
disconnect ack feature instead of disabling it.

(cherry picked from commit f62029d1c902342470816ad4920b08ea805a52d6)

Change-Id: I639695939f76a97ecc4d5d2bf44f05cb18fb1e41
CRs-Fixed: 377493
Signed-off-by: Jeffrey Hugo <jhugo@codeaurora.org>
Merge "msm: camera: Check ping, pong mapping buffers validity while unmappping them." into jb_rel
qseecom: Support multiple clients.

When multiple clients request qseecom to load an application, an app
id is assigned. If the request is to load an app that already exists
in qsee, the app id should return to the qseecom library.
Returning the app id was done in the qseecom_load_app() but not done
in the qseecom_query_app_loaded(). This change fixes the issue when
multiple clients request to load the same app in qsee.

Change-Id: Icaa5053906b61ace1d257ff1c96308cc89e3a9cc
Signed-off-by: Ramesh Masavarapu <rameshm@codeaurora.org>
video: msm: Fix corner cases of "read twice" error

Fix several cases where histogram's completion structure is completed
multiple times which causes the next histogram read to force the histogram
software state machine into believing that the histogram is always being
read by someone.

When the timeout in mdp_do_histogram times out and then soon after the work
that was being waited on completes, the next do_histogram call that is
processed will not wait (and thus will not have its hist field set to
NULL). This will cause all subsequent do_histograms to think that the
histogram is currently being read, and will cause the "read twice" message
to flood the kernel logs.

This error is fixed by always initializing the completion structure before
waiting for the histogram to complete. That way if the completion happens
after the timeout, instead of causing the error, the completion's internal
counter is reset to zero, which prevents the next histogram read from
completing without waiting.

Change-Id: Ic1bc4b8688cd191d226de1df15d389de09996106
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
net: rmnet_usb: Enable autosuspend

The call to enable autosuspend was recently removed from the
qcserial driver. Re-add it here in the RmNet driver as we know
this device will support it.

Change-Id: Iee1d1dbece01eaab99b03c64ebea0fd5ed87eafa
Signed-off-by: Jack Pham <jackp@codeaurora.org>
(cherry picked from commit bf42e6044dc84b0dd341ecf9f38a04605cc257aa)
Merge "qseecom: Support multiple clients." into jb_rel
msm: kgsl: Remove the use of asid

Remove the use of asid(application space ID) from the kgsl driver
for IOMMU since it's known to cause to stability issues on the
2D core

Change-Id: I92f82ebb0941296c7ad625dd833822dd918fe386
CRs-fixed: 379439
Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org>
(cherry picked from commit 0b3ec8c0990975331e9a28ad4e7d55fb48815262)
msm_fb: display: Configure MDP clock table based on DSI Video pixel clk

To avoid display underrun issues, configure the MDP clock table's rate
according to DSI Video mode panel's pixel clock frequency by 1.15 times.

Change-Id: I9bc864a754c2d51c9d86ece79863820eb72cdae8
Signed-off-by: Nagamalleswararao Ganji <nganji@codeaurora.org>
Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>
msm_fb: display: add out of range check for display sizes

MDP pipe or mixer size registers have 12-bit number, so boundary
checks are needed for those parameters. If not, input req sizes could
be very large 32 bit unsigned numbers, e.g. 0xffffffff, unsigned
operations may have overflow to pass all later checks, causing MDP
underruns or hang issues.

CRs-fixed: 380469
Change-Id: I096d7022ede21d54266b46a140782ab0348dd54b
Signed-off-by: Huaibin Yang <huaibiny@codeaurora.org>
Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>
msm_fb: display: add CONFIG_FB_MSM_NO_MDP_PIPE_CTRL

Enable CONFIG_FB_MSM_NO_MDP_PIPE_CTRL to bypass
mdp_pipe_ctrl().

Change-Id: I90d294e045b84eef909703f20d649dda15272a5f
Signed-off-by: kuogee hsieh <khsieh@codeaurora.org>
Signed-off-by: Siddhartha <agrawals@codeaurora.org>
msm_fb: display: vsync driven screen update

This patch will queue multiple surfaces and commit those
surfaces into mdp at same instance so that surfaces will
be blended and displayed at same time. Hardware vsync event
is delivered to the user space frame work via uevent. Both
queue and commit are controlled by frame work and synchonized
with vsync event. Therefore frame rate will match with vsync rate.

Change-Id: If630a6d94fd38483ee313f575b1a71ed8bd65a52
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
Signed-off-by: Siddhartha <agrawals@codeaurora.org>
Merge "msm: kgsl: Remove the use of asid" into jb_rel
Revert "Bluetooth: Voting UART clocks in non atomic context."

This reverts commit 2fed6b6f759ebeb4a678f399a192815c5ab136e5.
Bluetooth sleep mechanism is not stable with the new design.

Change-Id: I9fa7e3af5b2668764f5fb335d93a54451568f857
Signed-off-by: Ram Mohan Korukonda <rkorukon@codeaurora.org>
Merge "net: rmnet_usb: Enable autosuspend" into jb_rel
msm_fb: display:  free writeback buffer at correct time

When mdp pipe is freed at end of video play back, Writeback
buffer is freed while mdp still fetchs data from it. This cause
system crashed and blue screen shows on screen. This patch
will free writeback buffer at correct time.

Change-Id: I46a5031c13d86f943d6604713e1841b482dffe96
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
Merge "msm_fb: display:  free writeback buffer at correct time" into jb_rel
msm: board-7627a: Make ION heaps use outer cache

7627a/8625 has outer cache and display and camera uses
outer cache support. So, enable outer_cache_ops for ION
heaps. Enabling ops for individual heaps will be taken
care by msm_ion framework while creating these heaps.

Signed-off-by: Chintan Pandya <cpandya@codeaurora.org>
(cherry picked from commit 8ce738d5c0a15ba76601ec5874dc742aa3e97245)

Change-Id: Ibf3c80837a38478414c124ebb322d9fb84651b06
Signed-off-by: Sunil Joseph <sunilj@codeaurora.org>