The MIPI-CSI2 data alignment parameter can be derived from media bus
pixel code, so it can be now dropped from the platform data structure.
This is a prerequisite for adding the device tree support. Once this
patch is merged the corresponding fields will be removed from the
driver public headers and corresponding board files.

Signed-off-by: Sylwester Nawrocki <s.nawro...@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.p...@samsung.com>
---
 drivers/media/video/s5p-fimc/fimc-reg.c  |    3 ++-
 drivers/media/video/s5p-fimc/mipi-csis.c |    6 +++++-
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/media/video/s5p-fimc/fimc-reg.c 
b/drivers/media/video/s5p-fimc/fimc-reg.c
index 15466d0..ff11f10 100644
--- a/drivers/media/video/s5p-fimc/fimc-reg.c
+++ b/drivers/media/video/s5p-fimc/fimc-reg.c
@@ -674,6 +674,7 @@ int fimc_hw_set_camera_type(struct fimc_dev *fimc,
 {
        u32 cfg, tmp;
        struct fimc_vid_cap *vid_cap = &fimc->vid_cap;
+       u32 csis_data_alignment = 32;
 
        cfg = readl(fimc->regs + S5P_CIGCTRL);
 
@@ -703,7 +704,7 @@ int fimc_hw_set_camera_type(struct fimc_dev *fimc,
                                 vid_cap->mf.code);
                        return -EINVAL;
                }
-               tmp |= (cam->csi_data_align == 32) << 8;
+               tmp |= (csis_data_alignment == 32) << 8;
 
                writel(tmp, fimc->regs + S5P_CSIIMGFMT);
 
diff --git a/drivers/media/video/s5p-fimc/mipi-csis.c 
b/drivers/media/video/s5p-fimc/mipi-csis.c
index f44f690..1cd6b6b 100644
--- a/drivers/media/video/s5p-fimc/mipi-csis.c
+++ b/drivers/media/video/s5p-fimc/mipi-csis.c
@@ -127,20 +127,24 @@ struct csis_state {
  *                       multiple of 2^pix_width_alignment
  * @code: corresponding media bus code
  * @fmt_reg: S5PCSIS_CONFIG register value
+ * @data_alignment: MIPI-CSI data alignment in bits
  */
 struct csis_pix_format {
        unsigned int pix_width_alignment;
        enum v4l2_mbus_pixelcode code;
        u32 fmt_reg;
+       u8 data_alignment;
 };
 
 static const struct csis_pix_format s5pcsis_formats[] = {
        {
                .code = V4L2_MBUS_FMT_VYUY8_2X8,
                .fmt_reg = S5PCSIS_CFG_FMT_YCBCR422_8BIT,
+               .data_alignment = 32,
        }, {
                .code = V4L2_MBUS_FMT_JPEG_1X8,
                .fmt_reg = S5PCSIS_CFG_FMT_USER(1),
+               .data_alignment = 32,
        },
 };
 
@@ -239,7 +243,7 @@ static void s5pcsis_set_params(struct csis_state *state)
        s5pcsis_set_hsync_settle(state, pdata->hs_settle);
 
        val = s5pcsis_read(state, S5PCSIS_CTRL);
-       if (pdata->alignment == 32)
+       if (state->csis_fmt->data_alignment == 32)
                val |= S5PCSIS_CTRL_ALIGN_32BIT;
        else /* 24-bits */
                val &= ~S5PCSIS_CTRL_ALIGN_32BIT;
-- 
1.7.9.2

--
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