msm: camera: return -EIO if daemon hasn't fully launched

Media server depends on camera daemon to be fully launched
to be able to get camera info. Return -EIO if daemon hasn't
subscribed to v4l2 device node. This gives HAL opportunity
to try again.

Bug: 10577806
Signed-off-by: Shuzhen Wang <shuzhenw@codeaurora.org>
(cherry picked from commit d562b2f9774d9251068dbded5ad15a1c7407824f)

Change-Id: Iebc51c8e56352e02ef5f0554c9eb5ac2bf629595
msm: camera: Do not ignore ERESTARTSYS return from wait function

By ignoring ERESTARTSYS return from wait function, the thread
could potentially hold up the freezing of the task for a long
time, causing battery drain.

Bug: 10577806
Signed-off-by: Shuzhen Wang <shuzhenw@codeaurora.org>
Change-Id: I653c06c6bf41b07c811d6bab33e3c839460f45b6
(cherry picked from commit db69933cd572bb7f6fc6ede66175dc4adfdd8217)
msm: camera_v2: Handle vfe camif irq before axi irq

For each irq status, axi bits (image/stats) could be set as well
as camif sof bit. In this case, axi bits should be handled first
to better reflect the order of events: buf done of frame N before
SOF of frame N+1.

Bug: 11614033
Signed-off-by: Shuzhen Wang <shuzhenw@codeaurora.org>

Conflicts:
	drivers/media/platform/msm/camera_v2/isp/msm_isp_util.c

Change-Id: I9506766cf8b332ca97ec0d9744f2081864f4a1dc
msm: Fix high load average from uninterruptible waits

 * The load average on all MSMs is currently hovering at around 14
   due to uninterruptible waits in various places.
 * Convert these waits to interruptible waits to bring the load
   back down to zero at idle.

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>

Conflicts:
	drivers/thermal/msm_thermal.c
	drivers/video/msm/mdss/mdss_fb.c

Change-Id: Iae7a440be1e7ce94f7606f607c3d398d456ab7b6