lkml.org 
[lkml]   [2011]   [Sep]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRE: [PATCH 4/5] ispccdc: Configure CCDC_SYN_MODE register for UYVY8_2X8 and YUYV8_2X8 formats

> ________________________________________
> From: Laurent Pinchart [laurent.pinchart@ideasonboard.com]
> Sent: Wednesday, September 21, 2011 2:36 PM
> To: Ravi, Deepthy
> Cc: mchehab@infradead.org; tony@atomide.com; Hiremath, Vaibhav; linux-media@vger.kernel.org; linux@arm.linux.org.uk; linux-arm-kernel@lists.infradead.org; kyungmin.park@samsung.com; hverkuil@xs4all.nl; m.szyprowski@samsung.com; g.liakhovetski@gmx.de; Shilimkar, Santosh; khilman@deeprootsystems.com; david.woodhouse@intel.com; akpm@linux-foundation.org; linux-kernel@vger.kernel.org; linux-omap@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,
>
> On Wednesday 21 September 2011 07:32:44 Ravi, Deepthy wrote:
>> On Wednesday, September 21, 2011 4:56 AM Laurent Pinchart wrote:
>> > 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@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.
>>
>> 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.
>
> My original idea when I wrote the YV support patches was to implement this use
> case with YUYV8_2X8 at the sensor output and YUYV8_1X16 at the CCDC input. The
> ISP driver could then enable the bridge automatically. I'm not sure if that's
> the best solution though, it might be confusing for the users. What I would
> like to keep, however, is the idea of enabling the bridge automatically.
>
[Deepthy Ravi] But for streaming to start, the formats on both ends of the link should match. I believe setting different formats at sensor output and ccdc input will give a broken pipe error. Is my understanding correct ? If so, how do you propose to handle the situation ?

> Sakari, any opinion on this ?
>
>> >> syn_mode |= ISPCCDC_SYN_MODE_PACK8;
>> >> else
>> >> syn_mode &= ~ISPCCDC_SYN_MODE_PACK8;
>
> --
> Regards,
>
> Laurent Pinchart
>



\
 
 \ /
  Last update: 2011-09-23 14:01    [W:0.059 / U:3.144 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site