msm: ispif: Protect shared resource

Add a spinlock and a boolen wait_timeout to protect shared resource
between IRQ handle and userspace IOCTL access. There should have no
complete if timed out or interrupted.

Change-Id: Ibf28da252fb665e997c89344a85a817ed14c5b81
CRs-Fixed: 452849
Signed-off-by: Mingcheng Zhu <mingchen@codeaurora.org>
(cherry picked from commit aaa8a4dd3d1fe3ceb4211464cbabbd7ebb86e145)
msm: camera: Add support for runtime framedrop config

For thermal mitigation, the ISP needs to reduce the
throughput to the bus by dropping frames output from
the ISP. This change add the configuration to update
the skip pattern when the ISP is running.

Change-Id: Icfd79300ecbdc15297d5b0d948380ed1d2961719
Signed-off-by: Kevin Chan <ktchan@codeaurora.org>
(cherry picked from commit 88f27c5b1b1ac3f3266a747c64daaa7d58c3dc48)
msm: camera: protect list operations around a mutex.

The list in the generic buf manager may be operated upon
bu multiple user space processes. This calls for all list
operations, namely add and delete, to be atomic operations.

Change-Id: Ie6caf3e3a3704d0beabb41702e0d165deec73ff7
Signed-off-by: Ankit Premrajka <ankitp@codeaurora.org>
(cherry picked from commit 03333205d31d04565c5fe20b2f1fce503a0bee7f)
Merge "msm: ispif: Protect shared resource"
Merge "msm: camera: Add support for runtime framedrop config"
Merge "msm: camera: protect list operations around a mutex."
msm: camera: Fix random no SOT issue for CSID

We keep a counter in csid interrupt handler to track
SOT. But when we try to disable SOT bit after a number
of frames, we overwrite some bits which are being used.
This change works around the issue.

Change-Id: Ie988b2689ee7ab11034ea30951b6292410eb95b5
Signed-off-by: Shuzhen Wang <shuzhenw@codeaurora.org>
(cherry picked from commit d38c342dcf1b522763a29b2b3ba51fcf5c34f729)
msm: camera2: Fix ION memory release in cpp driver

The ION handles were not properly released. This change releases
the ION handle after hardware acknowledgement.

Change-Id: Ie3a86e23837a94a1b15d6e2cf2029da3e1c4e1ec
Signed-off-by: Rajakumar Govindaram <rajakuma@codeaurora.org>
(cherry picked from commit 0b6b245a068e495c4180dd7e1dc06bf6c9cef7aa)
arm/dt: msm8974: Specify revision specific overrides for venus

Define 8974 revision specific overrides for venus which include
different bus bandwidths, register presets and clock frequencies, etc.

Change-Id: I02a64c8f5a75149e1cd9ebdfcdc76f07b0144f99
Signed-off-by: Vinay Kalia <vkalia@codeaurora.org>
(cherry picked from commit b35a018f65f70a3a1f89b7522fe9a4c7cc769e48)
Merge "msm: camera: Fix random no SOT issue for CSID"
Merge "msm: camera2: Fix ION memory release in cpp driver"
Merge "arm/dt: msm8974: Specify revision specific overrides for venus"