Ensure there is a valid initial resolution and pixel format set
at the FIMC-IS-ISP subdev pads.

Signed-off-by: Sylwester Nawrocki <s.nawro...@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.p...@samsung.com>
---
 drivers/media/platform/exynos4-is/fimc-isp.c |   18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/drivers/media/platform/exynos4-is/fimc-isp.c 
b/drivers/media/platform/exynos4-is/fimc-isp.c
index 30aa46f..de9eed5 100644
--- a/drivers/media/platform/exynos4-is/fimc-isp.c
+++ b/drivers/media/platform/exynos4-is/fimc-isp.c
@@ -672,6 +672,22 @@ static const struct v4l2_ctrl_ops fimc_isp_ctrl_ops = {
        .s_ctrl = fimc_is_s_ctrl,
 };
 
+static void __isp_subdev_set_default_format(struct fimc_isp *isp)
+{
+       struct fimc_is *is = fimc_isp_to_is(isp);
+
+       isp->sink_fmt.width = DEFAULT_PREVIEW_STILL_WIDTH +
+                               FIMC_ISP_CAC_MARGIN_WIDTH;
+       isp->sink_fmt.height = DEFAULT_PREVIEW_STILL_HEIGHT +
+                               FIMC_ISP_CAC_MARGIN_HEIGHT;
+       isp->sink_fmt.code = V4L2_MBUS_FMT_SGRBG10_1X10;
+
+       isp->src_fmt.width = DEFAULT_PREVIEW_STILL_WIDTH;
+       isp->src_fmt.height = DEFAULT_PREVIEW_STILL_HEIGHT;
+       isp->src_fmt.code = V4L2_MBUS_FMT_SGRBG10_1X10;
+       __is_set_frame_size(is, &isp->src_fmt);
+}
+
 int fimc_isp_subdev_create(struct fimc_isp *isp)
 {
        const struct v4l2_ctrl_ops *ops = &fimc_isp_ctrl_ops;
@@ -752,6 +768,8 @@ int fimc_isp_subdev_create(struct fimc_isp *isp)
        sd->entity.ops = &fimc_is_subdev_media_ops;
        v4l2_set_subdevdata(sd, isp);
 
+       __isp_subdev_set_default_format(isp);
+
        return 0;
 }
 
-- 
1.7.9.5

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to