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

Ravi, Deepthy deepthy.ravi at ti.com
Wed Sep 21 01:32:44 EDT 2011


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:
>> Configure INPMOD and PACK8 fileds of CCDC_SYN_MODE
>> register for UYVY8_2X8 and YUYV8_2X8 formats.
>>
>> Signed-off-by: Deepthy Ravi <deepthy.ravi at 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))
>
> 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. 

>>               syn_mode |= ISPCCDC_SYN_MODE_PACK8;
>>       else
>>               syn_mode &= ~ISPCCDC_SYN_MODE_PACK8;
>
> --
> Regards,
>
> Laurent Pinchart
>


-- 
Thanks,
Deepthy Ravi




More information about the linux-arm-kernel mailing list