msm: vidc: remove non fatal error messages

V4L2 core fails reqbufs ioctl if file IO is in
progress. This message is non fatal, so avoid
logging it as a error message in the video driver.

Change-Id: Ie5ea22925f9c698c82cfaeb6e77b66cf77e5e866
Signed-off-by: Arun Menon <avmenon@codeaurora.org>
Revert "add SONY specific camera driver"

This reverts commit 2e9c67d8f017783a8f19835a7dc67e7a02577404.
msm: camera: Make ISP and camera kernel not interruptible

Change wait_event_interruptible_timeout to wait_completion_timeout
in camera kernel and change wait_completion_timeout_interruptible
to wait_event_timeout to avoid getting interrupts from kernel.

Change-Id: Ibf17d0f11ed705e68294257a90f7770676e63cbb
Signed-off-by: Yiduo Wang <yiduow@codeaurora.org>

Conflicts:
	drivers/media/platform/msm/camera_v2/msm.c
msm: camera: sensor: Change wait func to wait_for_completion_timeout

change wait function from wait_for_completion_interruptible_timeout
to wait_for_completion_timeout

Change-Id: I7d8e306e4d5a965c8ab884aa8345f0c118dd2ef5
Signed-off-by: Rajesh Bondugula <rajeshb@codeaurora.org>
msm: camera2: cpp: Add support to enable turbo mode dynamically

The input stream can have varying properties. Based on the input
the clock can be set to turbo mode. This change adds support
for necessary IOCTL.

Change-Id: If5e0b9392b03cf037009442eb9935a96823cb1e5
Signed-off-by: Iliya Varadzhakov <ivarad@codeaurora.org>
msm:cpp: Validate data lenght in Set Clock command

The lenght of the data packet recived in case of
VIDIOC_MSM_CPP_SET_CLOCK command must be validated.
It have to be equal or smaller than the size of the
variable used to hold the data. If this condition
is not met stack-based buffer overflow will occur.

Change-Id: I68002e088aaca1ca740985d9e26e9161f130b499
Signed-off-by: Iliya Varadzhakov <ivarad@codeaurora.org>
msm: cpp: Add dynamic clock setup

The CPP load depends on the frame resolution, which is
processed. CPP clock can vary depending on the load. Thus
the system can be relaxed when smaller resolutions are
processed.

Change-Id: I03dd8e8e6c5e76c6eecccea15f1308f096e3fb7c
Signed-off-by: Iliya Varadzhakov <ivarad@codeaurora.org>
ARM:dts:msm: update generic cam entries

remove kernel sensors drivers for imx135
and s5k3l1yx.

Change-Id: Ie72fcfaccc4aa0a7fa0e1e1f18a4ab1cb9b05b8c
Signed-off-by: Rajesh Bondugula <rajeshb@codeaurora.org>
ARM:dts:msm:8974 update generic cam entries

Update generic camera DT entires and
remove kernel sensor drivers and sensor
dt macro entries for imx135 s5k3l1yx and
OV2720 sensors on MSM8974 platform for
cdp liquid mtp targets These entries are
redundant as the sensor identification
and powerup will be taken care by userspace
sensor drivers.

Change-Id: I6dfbfa5f0ecf090e87c13b51de9b4506a3a10b36
Signed-off-by: Rajesh Bondugula <rajeshb@codeaurora.org>

Conflicts:
	arch/arm/mach-msm/clock-8974.c
msm: camera: sensor: Update to use wait_for_completion.

Use wait_for_completion in place of wait_for_completion_interruptible

Change-Id: I960b334128e2b811b27c64721a65f7c7e773b085
Signed-off-by: Rajesh Bondugula <rajeshb@codeaurora.org>
msm: camera: Fix race condition between camera driver and camera daemon

Delete checking command list before calling
wait_for_competion_timeout which could cause race condtion
if camera daemon may respond fast and there is one context swtich
between msm_enqueue and completion.

Change-Id: I28bdc4e344d2365acf49d422ba75dc64308a96aa
Signed-off-by: Yiduo Wang <yiduow@codeaurora.org>
msm-camera: Avoid adding top up to calulated ab/ib for single stream.

Avoiding topup for ab/ib for single stream

Change-Id: Ie6fb6716ea1b30604d801936bea3da5a96d8a6fc
Signed-off-by: Chandan Gera <cgera@codeaurora.org>
msm-camera: Dividing unified buffer in proportion to the image size

Write masters writing large images require large latency buffers in
unified buffer whereas write masters writing smaller images don't,
Allocating latency buffer in proportion to image size will reduce
buf overflows

Change-Id: I54d3b4389eb616b9684d5b62caaed029c83299ab
Signed-off-by: Mohit Setia <msetia@codeaurora.org>

Conflicts:
	drivers/media/platform/msm/camera_v2/isp/msm_isp32.c
msm-camera: Enable proportional slicing of unified buffer

To enable proportional slicing

Change-Id: I8a21c8808085f527b9536edc51ccdcfa1de4e179
Signed-off-by: Mohit Setia <msetia@codeaurora.org>
msm: camera2: cpp: Change bus scale vector call sequence

The cpp driver can set the bus scale vector when cpp module is
actually included. This will avoid unnecessary power consumption
due to setting the bus scale vector.

Change-Id: I898bb33f4433d8b70f63c07facd6e22d58196211
Signed-off-by: Rajakumar Govindaram <rajakuma@codeaurora.org>
camera: isp: create debug fs entry to log vfe overflows

Added entry in fs to log occurence of overflow from vfe

CRs-Fixed: 661343

Change-Id: Id398d11aaa84fca4ea63ea523c78c564c7eb6999
Signed-off-by: Katta Santhisindhu <kattas@codeaurora.org>

Conflicts:
	drivers/media/platform/msm/camera_v2/isp/msm_isp.h
msm: camera: Free queue data during camera close

CPP hardware is singleton, only one hardware used for processing
frames of different camera if more than one camera is running at
the same time. When camera is closed ensure that processing frame
queue and event data queue is empty.

Change-Id: Ie8e41431dd9b7acd29bac0f59fe2d4afa243ec2c
Signed-off-by: Sreesudhan Ramakrish Ramkumar <srramku@codeaurora.org>
Signed-off-by: Rajakumar Govindaram <rajakuma@codeaurora.org>
msm: camera2: cpp: Support queue and timer clean up.

The timer callback is triggered after the node shutdown under
some error conditions. The timer callback should be avoided
in such cases. If in some race condition the timer callback is
triggered then it needs to check the state before timeout
processing.

Change-Id: Ic5663c69f556f30592ff6eb20f99c7c4a5ac859d
Signed-off-by: Rajakumar Govindaram <rajakuma@codeaurora.org>
msm-camera: Reset ISPIF h/w

Reseting ISPIF hardware after ISPIF is stopped without frame
boundaries.Enabling all clocks for same.

Change-Id: I3712a2af9a3011769e14fab14ddaa5a32f6bcb90
Signed-off-by: Megha Tak <mtak@codeaurora.org>
msm: cpp: Provide cpp clock frequency table to user-space

CPP clock frequency table varies form platform to platform.
It have to be read and sent to user-space for cpp dynamic
clock calculation. It is done during GET_HW_INFO IOCTL
call. In result user-space sends current cpp clock rate
and bandwidth to be set up.

Change-Id: Iaacfd4c3a93db0e5142d6df01888e9d98e9a4775
CRs-fixed: 645604
Signed-off-by: Krupal Divvela <kdivvela@codeaurora.org>