All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mauro Carvalho Chehab <mchehab@redhat.com>
To: David Cohen <dacohen@gmail.com>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	"linux-media@vger.kernel.org" <linux-media@vger.kernel.org>,
	alsa-devel@alsa-project.org,
	Sakari Ailus <sakari.ailus@retiisi.org.uk>
Subject: Re: [GIT PULL FOR 2.6.39] Media controller and OMAP3 ISP driver
Date: Fri, 04 Mar 2011 19:43:33 -0300	[thread overview]
Message-ID: <4D716B15.6090609@redhat.com> (raw)
In-Reply-To: <AANLkTi=p6S0CYv6=E51LHJprp1AZpd+ZymiVywaaUWOy@mail.gmail.com>

Em 04-03-2011 19:33, David Cohen escreveu:
> Hi Mauro,
> 
> On Sat, Mar 5, 2011 at 12:16 AM, Mauro Carvalho Chehab
> <mchehab@redhat.com> wrote:
>> Hi Laurent,
>>
>> Em 17-02-2011 13:06, Laurent Pinchart escreveu:
>>> Hi Mauro,
>>>
>>> The following changes since commit 85e2efbb1db9a18d218006706d6e4fbeb0216213:
>>>
>>>   Linux 2.6.38-rc5 (2011-02-15 19:23:45 -0800)
>>>
>>> are available in the git repository at:
>>>   git://linuxtv.org/pinchartl/media.git media-0005-omap3isp
>>
>> I've added the patches that looked ok on my eyes at:
>>
>> http://git.linuxtv.org/mchehab/experimental.git?a=shortlog;h=refs/heads/media_controller
>>
>> There are just a few small adjustments on a few of them, as I've commented.
>> I prefer if you do them on separate patches, to save my work of not needing
>> to review the entire series again.
>>
>> The ones still pending on my quilt tree are:
>>
>> 0030-v4l-subdev-Generic-ioctl-support.patch
>> 0040-omap3isp-OMAP3-ISP-core.patch
>> 0041-omap3isp-Video-devices-and-buffers-queue.patch
>> 0042-omap3isp-CCP2-CSI2-receivers.patch
>> 0043-omap3isp-CCDC-preview-engine-and-resizer.patch
>> 0044-omap3isp-Statistics.patch
>> 0045-omap3isp-Kconfig-and-Makefile.patch
>> 0046-omap3isp-Add-set-performance-callback-in-isp-platfor.patch
>>
>> with the following diffstat:
>>
>>  Documentation/video4linux/v4l2-framework.txt       |    5 +
>>  MAINTAINERS                                        |    6 +
>>  drivers/media/video/Kconfig                        |   13 +
>>  drivers/media/video/Makefile                       |    2 +
>>  drivers/media/video/omap3-isp/Makefile             |   13 +
>>  drivers/media/video/omap3-isp/cfa_coef_table.h     |   61 +
>>  drivers/media/video/omap3-isp/gamma_table.h        |   90 +
>>  drivers/media/video/omap3-isp/isp.c                | 2220 +++++++++++++++++++
>>  drivers/media/video/omap3-isp/isp.h                |  428 ++++
>>  drivers/media/video/omap3-isp/ispccdc.c            | 2268 ++++++++++++++++++++
>>  drivers/media/video/omap3-isp/ispccdc.h            |  219 ++
>>  drivers/media/video/omap3-isp/ispccp2.c            | 1173 ++++++++++
>>  drivers/media/video/omap3-isp/ispccp2.h            |   98 +
>>  drivers/media/video/omap3-isp/ispcsi2.c            | 1317 ++++++++++++
>>  drivers/media/video/omap3-isp/ispcsi2.h            |  166 ++
>>  drivers/media/video/omap3-isp/ispcsiphy.c          |  247 +++
>>  drivers/media/video/omap3-isp/ispcsiphy.h          |   74 +
>>  drivers/media/video/omap3-isp/isph3a.h             |  117 +
>>  drivers/media/video/omap3-isp/isph3a_aewb.c        |  374 ++++
>>  drivers/media/video/omap3-isp/isph3a_af.c          |  429 ++++
>>  drivers/media/video/omap3-isp/isphist.c            |  520 +++++
>>  drivers/media/video/omap3-isp/isphist.h            |   40 +
>>  drivers/media/video/omap3-isp/isppreview.c         | 2113 ++++++++++++++++++
>>  drivers/media/video/omap3-isp/isppreview.h         |  214 ++
>>  drivers/media/video/omap3-isp/ispqueue.c           | 1153 ++++++++++
>>  drivers/media/video/omap3-isp/ispqueue.h           |  187 ++
>>  drivers/media/video/omap3-isp/ispreg.h             | 1589 ++++++++++++++
>>  drivers/media/video/omap3-isp/ispresizer.c         | 1693 +++++++++++++++
>>  drivers/media/video/omap3-isp/ispresizer.h         |  147 ++
>>  drivers/media/video/omap3-isp/ispstat.c            | 1092 ++++++++++
>>  drivers/media/video/omap3-isp/ispstat.h            |  169 ++
>>  drivers/media/video/omap3-isp/ispvideo.c           | 1255 +++++++++++
>>  drivers/media/video/omap3-isp/ispvideo.h           |  202 ++
>>  drivers/media/video/omap3-isp/luma_enhance_table.h |   42 +
>>  drivers/media/video/omap3-isp/noise_filter_table.h |   30 +
>>  drivers/media/video/v4l2-subdev.c                  |    2 +-
>>  drivers/media/video/videobuf-dma-contig.c          |    2 +-
>>  include/linux/Kbuild                               |    1 +
>>  38 files changed, 19769 insertions(+), 2 deletions(-)
>>
>> I used quilt for all patches, except for the one patch with some gifs, where I did a
>> git cherry-pick. So, the imported patches should be ok. Of course, it doesn't hurt
>> do double check.
>>
>> The main issue with the omap3isp is due to the presence of private ioctl's that
>> I don't have a clear idea about what they are really doing.
>>
>> I couldn't see any documentation about them on a very quick look. While I suspect
>> that they are used only for 3A, I have no means of being sure about that.
>>
>> Also, as I've said several times, while I don't like, I have nothing against
>> having some ioctls that would be used by a vendor to implement their own 3A software
>> algorithms that he may need to hide for some reason or have any patents applied to
>> the algorithm, but only if:
>>        1) such algorithms are implemented on userspace;
> 
> Yes.
> 
>>        2) the userspace API used by them is fully documented, in order
>> to allow that someone else with enough motivation and spare time may
>> want to implement his own algorithm (including an open-source one);
> 
> The API is pretty close to what is found on public OMAP3 TRM. I'd say
> it's almost to fill registers through a userspace API.

Ok, so a simple patch adding a txt file documenting those private ioctls
to Documentation/video4linux explaining how to use them and pointing to 
OMAP3 TRM documentation is enough.

>>        3) there are no patents denying or charging for the usage and/or
>> distribution/redistribution of the Kernel with the provided kernel driver;
> 
> I'd say there's no patent / charge for usage or redistribution. But
> that's lawyer stuff. :/
> 
>>        4) if the device works with a reasonable quality without them
>> (by reasonable I mean like a cheap webcam, where libv4l could use his
>> set of 3A algorithms to provide a good quality).
> 
> It depends on the sensor as well, but in general should work with a
> reasonable quality without using statistic modules.
> 
>>
>> Assuming that all those private ioctl's are really for 3A, it is ok for me
>> to accept such ioctls after being sure that the above applies. I'm not sure
>> how to check (4), as, while I have 2 omap boards here (a Beagleboard and a
>> gumstix), none of them have any sensor.
> 
> The private ioctl are used mostly on statistic modules (3A and
> Histogram). But it's used for CCDC and Preview modules configuration
> too.

The issue here is: what if no CCDC and no Preview initialization ever happen?

Cheers,
Mauro

  reply	other threads:[~2011-03-04 22:43 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-17 15:06 [GIT PULL FOR 2.6.39] Media controller and OMAP3 ISP driver Laurent Pinchart
2011-03-02 20:13 ` Mauro Carvalho Chehab
2011-03-03  9:29   ` Laurent Pinchart
2011-03-03  9:29     ` Laurent Pinchart
2011-03-03 10:25   ` Laurent Pinchart
2011-03-04 19:25     ` Mauro Carvalho Chehab
2011-03-05 13:02       ` Laurent Pinchart
2011-03-05 18:22         ` Mauro Carvalho Chehab
2011-03-05 20:48           ` Laurent Pinchart
2011-03-07 11:57             ` Mauro Carvalho Chehab
2011-03-07 12:06               ` David Cohen
2011-03-07 13:38               ` Laurent Pinchart
2011-03-07 22:04               ` Laurent Pinchart
2011-03-11 15:40               ` Mauro Carvalho Chehab
2011-03-11 15:48                 ` Laurent Pinchart
2011-03-11 15:48                   ` Laurent Pinchart
2011-03-04 20:10     ` Mauro Carvalho Chehab
2011-03-04 20:14       ` David Cohen
2011-03-05 11:52       ` Hans Verkuil
2011-03-05 13:04         ` David Cohen
2011-03-05 14:02           ` Hans Verkuil
2011-03-05 14:29           ` Sylwester Nawrocki
2011-03-05 18:14             ` Mauro Carvalho Chehab
2011-03-05 23:23               ` Sylwester Nawrocki
2011-03-06 10:56                 ` Mauro Carvalho Chehab
2011-03-06 11:38                   ` Laurent Pinchart
2011-03-06 13:32                     ` Mauro Carvalho Chehab
2011-03-06 17:21                       ` Laurent Pinchart
2011-03-06 17:21                         ` Laurent Pinchart
2011-03-07 11:50                         ` Mauro Carvalho Chehab
2011-03-07 12:02                           ` Hans Verkuil
2011-03-07 13:00                             ` Mauro Carvalho Chehab
2011-03-07 13:04                               ` Mauro Carvalho Chehab
2011-03-07 13:46                               ` Laurent Pinchart
2011-03-04 20:49     ` Mauro Carvalho Chehab
2011-03-04 21:31       ` Mauro Carvalho Chehab
2011-03-05 12:03       ` Hans Verkuil
2011-03-04 22:16 ` Mauro Carvalho Chehab
2011-03-04 22:33   ` David Cohen
2011-03-04 22:43     ` Mauro Carvalho Chehab [this message]
2011-03-04 22:49       ` David Cohen
2011-03-04 23:49         ` Mauro Carvalho Chehab
2011-03-05  0:40           ` David Cohen
2011-03-06  8:34 ` Sakari Ailus
2011-03-06 10:17   ` Laurent Pinchart
2011-03-06 10:17     ` Laurent Pinchart
2011-03-07 11:56     ` Mauro Carvalho Chehab
2011-03-07 12:08       ` Sakari Ailus

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4D716B15.6090609@redhat.com \
    --to=mchehab@redhat.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=dacohen@gmail.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-media@vger.kernel.org \
    --cc=sakari.ailus@retiisi.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.