Configure INPMOD and PACK8 fileds of CCDC_SYN_MODE
register for UYVY8_2X8 and YUYV8_2X8 formats.

Signed-off-by: Deepthy Ravi <deepthy.r...@ti.com>
---
 drivers/media/video/omap3isp/ispccdc.c |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/drivers/media/video/omap3isp/ispccdc.c 
b/drivers/media/video/omap3isp/ispccdc.c
index 418ba65..1dcf180 100644
--- a/drivers/media/video/omap3isp/ispccdc.c
+++ b/drivers/media/video/omap3isp/ispccdc.c
@@ -985,8 +985,12 @@ static void ccdc_config_sync_if(struct isp_ccdc_device 
*ccdc,
 
        syn_mode &= ~ISPCCDC_SYN_MODE_INPMOD_MASK;
        if (format->code == V4L2_MBUS_FMT_YUYV8_2X8 ||
-           format->code == V4L2_MBUS_FMT_UYVY8_2X8)
-               syn_mode |= ISPCCDC_SYN_MODE_INPMOD_YCBCR8;
+           format->code == V4L2_MBUS_FMT_UYVY8_2X8){
+               if (pdata && pdata->bt656)
+                       syn_mode |= ISPCCDC_SYN_MODE_INPMOD_YCBCR8;
+               else
+                       syn_mode |= ISPCCDC_SYN_MODE_INPMOD_YCBCR16;
+       }
        else if (format->code == V4L2_MBUS_FMT_YUYV8_1X16 ||
                 format->code == V4L2_MBUS_FMT_UYVY8_1X16)
                syn_mode |= ISPCCDC_SYN_MODE_INPMOD_YCBCR16;
@@ -1172,7 +1176,8 @@ static void ccdc_configure(struct isp_ccdc_device *ccdc)
                syn_mode &= ~ISPCCDC_SYN_MODE_SDR2RSZ;
 
        /* Use PACK8 mode for 1byte per pixel formats. */
-       if (omap3isp_video_format_info(format->code)->width <= 8)
+       if ((omap3isp_video_format_info(format->code)->width <= 8) &&
+                       (omap3isp_video_format_info(format->code)->bpp <= 8))
                syn_mode |= ISPCCDC_SYN_MODE_PACK8;
        else
                syn_mode &= ~ISPCCDC_SYN_MODE_PACK8;
-- 
1.7.0.4

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" 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