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

From: Laurent Pinchart
Date: Tue Sep 20 2011 - 19:26:20 EST


Hi Deepthy,

Thanks for the patch.

On Tuesday 20 September 2011 16:56:51 Deepthy Ravi wrote:
> Configure INPMOD and PACK8 fileds of CCDC_SYN_MODE
> register for UYVY8_2X8 and YUYV8_2X8 formats.
>
> Signed-off-by: Deepthy Ravi <deepthy.ravi@xxxxxx>
> ---
> 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.

> syn_mode |= ISPCCDC_SYN_MODE_PACK8;
> else
> syn_mode &= ~ISPCCDC_SYN_MODE_PACK8;

--
Regards,

Laurent Pinchart
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/