summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAbhishek Kondaveeti <akondave@codeaurora.org>2015-12-13 18:47:22 +0530
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 21:15:07 -0700
commit3b5427bdee70b334c39543ef4c2885e27af7bde6 (patch)
tree2fbd474000a004350e6602473f6d046d68474f9c
parent588f3266ebffb526f0f77a249b3785e6204855ad (diff)
msm: isp: Add output format support for camif
Add output format support for camif raw path in isp. Change-Id: If8e633175a5488b8da740654c8204b0247d3c408 Signed-off-by: Abhishek Kondaveeti <akondave@codeaurora.org>
-rw-r--r--drivers/media/platform/msm/camera_v2/isp/msm_isp40.c15
-rw-r--r--include/media/msmb_isp.h9
2 files changed, 23 insertions, 1 deletions
diff --git a/drivers/media/platform/msm/camera_v2/isp/msm_isp40.c b/drivers/media/platform/msm/camera_v2/isp/msm_isp40.c
index 37fea517f01e..fb360501f42a 100644
--- a/drivers/media/platform/msm/camera_v2/isp/msm_isp40.c
+++ b/drivers/media/platform/msm/camera_v2/isp/msm_isp40.c
@@ -1383,7 +1383,20 @@ static void msm_vfe40_cfg_camif(struct vfe_device *vfe_dev,
if (vfe_dev->is_camif_raw_crop_supported) {
/* Pdaf output will be sent in PLAIN16 format*/
val = msm_camera_io_r(vfe_dev->vfe_base + 0x54);
- val |= 5 << 9;
+ switch (subsample_cfg->output_format) {
+ case CAMIF_PLAIN_8:
+ val |= 4 << 9;
+ break;
+ case CAMIF_PLAIN_16:
+ val |= 5 << 9;
+ break;
+ case CAMIF_MIPI_RAW:
+ val |= 1 << 9;
+ break;
+ case CAMIF_QCOM_RAW:
+ default:
+ break;
+ }
msm_camera_io_w(val, vfe_dev->vfe_base + 0x54);
if (subsample_cfg->first_pixel ||
subsample_cfg->last_pixel ||
diff --git a/include/media/msmb_isp.h b/include/media/msmb_isp.h
index a9f08941374a..628f41ab4d5d 100644
--- a/include/media/msmb_isp.h
+++ b/include/media/msmb_isp.h
@@ -162,6 +162,14 @@ struct msm_vfe_fetch_engine_cfg {
uint32_t buf_stride;
};
+enum msm_vfe_camif_output_format {
+ CAMIF_QCOM_RAW,
+ CAMIF_MIPI_RAW,
+ CAMIF_PLAIN_8,
+ CAMIF_PLAIN_16,
+ CAMIF_MAX_FORMAT,
+};
+
/*
* Camif output general configuration
*/
@@ -175,6 +183,7 @@ struct msm_vfe_camif_subsample_cfg {
uint32_t last_line;
uint32_t first_pixel;
uint32_t last_pixel;
+ enum msm_vfe_camif_output_format output_format;
};
/*