Thread (14 messages) 14 messages, 4 authors, 2011-09-27

[PATCH 4/5] ispccdc: Configure CCDC_SYN_MODE register for UYVY8_2X8 and YUYV8_2X8 formats

From: Ravi, Deepthy <hidden>
Date: 2011-09-21 05:35:51
Also in: linux-media, linux-omap, lkml

Hi Laurent,
________________________________________
From: Laurent Pinchart [laurent.pinchart at ideasonboard.com]
Sent: Wednesday, September 21, 2011 4:56 AM
To: Ravi, Deepthy
Cc: mchehab at infradead.org; tony at atomide.com; Hiremath, Vaibhav;
linux-media at vger.kernel.org; linux at arm.linux.org.uk;
linux-arm-kernel at lists.infradead.org; kyungmin.park at samsung.com;
hverkuil at xs4all.nl; m.szyprowski at samsung.com; g.liakhovetski at gmx.de;
Shilimkar, Santosh; khilman at deeprootsystems.com; david.woodhouse at intel.com;
akpm at linux-foundation.org; linux-kernel at vger.kernel.org;
linux-omap at vger.kernel.org; Sakari Ailus
Subject: Re: [PATCH 4/5] ispccdc: Configure CCDC_SYN_MODE register for
UYVY8_2X8 and YUYV8_2X8 formats

Hi Deepthy,

Thanks for the patch.

On Tuesday 20 September 2011 16:56:51 Deepthy Ravi wrote:
quoted
Configure INPMOD and PACK8 fileds of CCDC_SYN_MODE
register for UYVY8_2X8 and YUYV8_2X8 formats.

Signed-off-by: Deepthy Ravi <redacted>
---
 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))
I'm not sure to follow you. This will clear the PACK8 bit for the YUYV8_2X8
formats. Those formats are 8 bits wide, shouldn't PACK8 be set to store
samples on 8 bits instead of 16 bits ?

Is this patch intended to support YUYV8_2X8 sensors in non BT.656 mode with
the bridge enabled ? In that case, what would you think about setting the
CCDC
input format to YUYV8_1X16 instead ? This would better reflect the reality,
as
the bridge converts YUYV8_2X8 to YUYV8_1X16, and the CCDC is then fed with
YUYV8_1X16.
[Deepthy Ravi] Yes this is intended for  YUYV8_2X8 sensors in non BT.656 with 8 to 16 bit bridge enabled. So the data has to be stored as 16 bits per sample. Thats why PACK8 is cleared . I am not sure about using YUYV8_1X16. 
quoted
              syn_mode |= ISPCCDC_SYN_MODE_PACK8;
      else
              syn_mode &= ~ISPCCDC_SYN_MODE_PACK8;
--
Regards,

Laurent Pinchart

-- 
Thanks,
Deepthy Ravi
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help