msm: camera: Add support for diverting RDI frames.
Add provision for RDI frames to be diverted to userspace. This may be
used if there is a need for some kind of processing to be done on the
sensor output.
Signed-off-by: Jeyaprakash Soundrapandian <jsoundra@codeaurora.org>
Conflicts:
include/media/msm_camera.h
Change-Id: I069e9b9ca642e69fef4db0f31e6cc3138c5f2987
Signed-off-by: Praveen Ac <praveenac@codeaurora.org>
Conflicts:
include/media/msm_camera.h
Signed-off-by: Praveen Ac <praveenac@codeaurora.org>
diff --git a/drivers/media/video/msm/msm_mctl_pp.c b/drivers/media/video/msm/msm_mctl_pp.c
old mode 100644
new mode 100755
index 246dcef..4734f03
--- a/drivers/media/video/msm/msm_mctl_pp.c
+++ b/drivers/media/video/msm/msm_mctl_pp.c
@@ -108,7 +108,8 @@
*pp_type = OUTPUT_TYPE_R;
break;
case MSM_V4L2_EXT_CAPTURE_MODE_RDI2:
- *pp_divert_type = OUTPUT_TYPE_R2;
+ if (p_mctl->pp_info.pp_key & PP_RDI)
+ *pp_divert_type = OUTPUT_TYPE_R2;
break;
default:
break;
@@ -577,6 +578,8 @@
__func__);
return -EINVAL;
}
+ memset(&p_mctl->pp_info.div_frame[image_mode],
+ 0, sizeof(struct msm_free_buf));
rc = msm_mctl_release_free_buf(p_mctl, pcam_inst, &free_buf);
D("%s: release free buf, rc = %d, phy = 0x%x",
diff --git a/include/media/msm_camera.h b/include/media/msm_camera.h
index de97be7..121d8de 100644
--- a/include/media/msm_camera.h
+++ b/include/media/msm_camera.h
@@ -308,10 +308,11 @@
#define MSM_MAX_CAMERA_CONFIGS 2
-#define PP_SNAP 0x01
-#define PP_RAW_SNAP ((0x01)<<1)
-#define PP_PREV ((0x01)<<2)
-#define PP_THUMB ((0x01)<<3)
+#define PP_SNAP BIT(0)
+#define PP_RAW_SNAP BIT(1)
+#define PP_PREV BIT(2)
+#define PP_THUMB BIT(3)
+#define PP_RDI BIT(4)
#define PP_MASK (PP_SNAP|PP_RAW_SNAP|PP_PREV|PP_THUMB)
#define MSM_CAM_CTRL_CMD_DONE 0