linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Cc: Hans Verkuil <hverkuil@xs4all.nl>,
	Sylwester Nawrocki <s.nawrocki@samsung.com>,
	Sylwester Nawrocki <sylvester.nawrocki@gmail.com>,
	linux-media@vger.kernel.org, devicetree-discuss@lists.ozlabs.org,
	Magnus Damm <magnus.damm@gmail.com>,
	linux-sh@vger.kernel.org,
	Mark Brown <broonie@opensource.wolfsonmicro.com>,
	Stephen Warren <swarren@wwwdotorg.org>,
	Arnd Bergmann <arnd@arndb.de>,
	Grant Likely <grant.likely@secretlab.ca>
Subject: Re: [PATCH 05/14] media: add a V4L2 OF parser
Date: Mon, 08 Oct 2012 23:30:58 +0200	[thread overview]
Message-ID: <12735748.ZBbT3nyMls@avalon> (raw)
In-Reply-To: <Pine.LNX.4.64.1210051250210.13761@axis700.grange>

On Friday 05 October 2012 12:58:21 Guennadi Liakhovetski wrote:
> On Fri, 5 Oct 2012, Hans Verkuil wrote:
> > On Tue October 2 2012 12:13:20 Sylwester Nawrocki wrote:
> > > On 10/02/2012 11:49 AM, Guennadi Liakhovetski wrote:
> > > >>> +	if (!of_property_read_u32_array(node, "data-lanes", data_lanes,
> > > >>> +					ARRAY_SIZE(data_lanes))) {
> > > >>> +		int i;
> > > >>> +		for (i = 0; i<  ARRAY_SIZE(data_lanes); i++)
> > > >>> +			link->mipi_csi_2.data_lanes[i] = data_lanes[i];
> > > >> 
> > > >> It doesn't look like what we aimed for. The data-lanes array is
> > > >> supposed to be of variable length, thus I don't think it can be
> > > >> parsed like that. Or am I missing something ? I think we need more
> > > >> something like below
> > > > 
> > > >> (based on of_property_read_u32_array(), not tested):
> > > > Ok, you're right, that my version only was suitable for fixed-size
> > > > arrays, which wasn't our goal. But I don't think we should go down to
> > > > manually parsing property data. How about (tested;-))
> > > > 
> > > > 	data = of_find_property(node, "data-lanes", NULL);
> > > > 	if (data) {
> > > > 	
> > > > 		int i = 0;
> > > > 		const __be32 *lane = NULL;
> > > > 		do {
> > > > 		
> > > > 			lane = of_prop_next_u32(data, lane, &data_lanes[i]);
> > > > 		
> > > > 		} while (lane && i++ < ARRAY_SIZE(data_lanes));
> > > > 		link->mipi_csi_2.num_data_lanes = i;
> > > > 		while (i--)
> > > > 		
> > > > 			link->mipi_csi_2.data_lanes[i] = data_lanes[i];
> > > > 	
> > > > 	}
> > > 
> > > Yes, that looks neat and does what it is supposed to do. :) Thanks!
> > > For now, I'll trust you it works ;)
> > > 
> > > With regards to the remaining patches, it looks a bit scary to me how
> > > complicated it got, perhaps mostly because of requirement to reference
> > > host devices from subdevs. And it seems to rely on the existing SoC
> > > camera infrastructure, which might imply lot's of work need to be done
> > > for non soc-camera drivers. But I'm going to take a closer look and
> > > comment more on the details at the corresponding patches.
> > 
> > I have to say that I agree with Sylwester here. It seems awfully
> > complicated, but I can't really put my finger on the actual cause.
> 
> Well, which exactly part? The V4L2 OF part is quite simple.
> 
> > It would be really interesting to see this implemented for a non-SoC
> > device and to compare the two.
> 
> Sure, volunteers? ;-) In principle, if I find time, I could try to convert
> sh_vou, which is also interesting, because it's an output driver.

The OMAP3 ISP is on my to-do list, but that depends on the generic clock 
availability on the OMAP3, so I have to wait.

> > One area that I do not yet completely understand is the i2c bus
> > notifications (or asynchronous loading or i2c modules).
> > 
> > I would have expected that using OF the i2c devices are still initialized
> > before the host/bridge driver is initialized. But I gather that's not the
> > case?
> 
> No, it's not. I'm not sure, whether it depends on the order of devices in
> the .dts, but, I think, it's better to not have to mandate a certain order
> and I also seem to have seen devices being registered in different order
> with the same DT, but I'm not 100% sure about that.
>
> > If this deferred probing is a general problem, then I think we need a
> > general solution as well that's part of the v4l2 core.
> 
> That can be done, perhaps. But we can do it as a next step. As soon as
> we're happy with the OF implementation as such, we can commit that,
> possibly leaving soc-camera patches out for now, then we can think where
> to put async I2C handling.

I agree that async I2C handling should have V4L2 core helpers, otherwise it's 
going to be pretty complex for ISP drivers.

-- 
Regards,

Laurent Pinchart


  parent reply	other threads:[~2012-10-08 21:30 UTC|newest]

Thread overview: 80+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1348754853-28619-1-git-send-email-g.liakhovetski@gmx.de>
2012-10-05 12:32 ` [PATCH 00/14] V4L2 DT support Sylwester Nawrocki
2012-10-05 14:41   ` Guennadi Liakhovetski
     [not found] ` <1348754853-28619-5-git-send-email-g.liakhovetski@gmx.de>
2012-10-01 20:45   ` [PATCH 04/14] media: add V4L2 DT binding documentation Sylwester Nawrocki
2012-10-02 14:15   ` Rob Herring
2012-10-02 14:33     ` Guennadi Liakhovetski
2012-10-03 20:54       ` Rob Herring
2012-10-05  9:43         ` Guennadi Liakhovetski
2012-10-05 11:31           ` Hans Verkuil
2012-10-05 11:37             ` Guennadi Liakhovetski
2012-10-08 20:00       ` Stephen Warren
2012-10-08 21:00         ` Laurent Pinchart
2012-10-08 21:14           ` Guennadi Liakhovetski
2012-10-09  9:21             ` Hans Verkuil
2012-10-09  9:29               ` Guennadi Liakhovetski
2012-10-05 15:10   ` Sascha Hauer
2012-10-05 15:41     ` Guennadi Liakhovetski
2012-10-05 16:02       ` Sascha Hauer
2012-10-08  7:58         ` Guennadi Liakhovetski
2012-10-10  8:40           ` Sascha Hauer
2012-10-10  8:51             ` Mark Brown
2012-10-10  9:21               ` Sascha Hauer
2012-10-10 10:46                 ` Mark Brown
2012-10-08 20:12   ` Stephen Warren
     [not found] ` <1348754853-28619-11-git-send-email-g.liakhovetski@gmx.de>
2012-10-05 19:11   ` [PATCH 10/14] media: soc-camera: support OF cameras Sylwester Nawrocki
2012-10-08  8:37     ` Guennadi Liakhovetski
2012-10-08  9:28       ` Sylwester Nawrocki
2013-04-08  9:19   ` Barry Song
2013-04-08 11:21     ` Guennadi Liakhovetski
2013-04-08 11:49       ` Barry Song
     [not found] ` <1348754853-28619-6-git-send-email-g.liakhovetski@gmx.de>
2012-10-01 21:37   ` [PATCH 05/14] media: add a V4L2 OF parser Sylwester Nawrocki
2012-10-02  9:49     ` Guennadi Liakhovetski
2012-10-02 10:13       ` Sylwester Nawrocki
2012-10-02 11:04         ` Guennadi Liakhovetski
2012-10-05 10:41         ` Hans Verkuil
2012-10-05 10:58           ` Guennadi Liakhovetski
2012-10-05 11:23             ` Hans Verkuil
2012-10-05 11:35               ` Guennadi Liakhovetski
2012-10-08 12:23               ` Guennadi Liakhovetski
2012-10-08 13:48                 ` Hans Verkuil
2012-10-08 14:30                   ` Guennadi Liakhovetski
2012-10-08 14:53                     ` Hans Verkuil
2012-10-08 15:15                       ` Guennadi Liakhovetski
2012-10-08 15:41                         ` Hans Verkuil
2012-10-08 15:53                           ` Guennadi Liakhovetski
2012-10-08 16:00                             ` Guennadi Liakhovetski
2012-10-10 13:22                           ` Laurent Pinchart
2012-10-10 13:18                         ` Laurent Pinchart
2012-10-10 16:50                           ` Stephen Warren
2012-10-10 22:51                             ` Laurent Pinchart
2012-10-11 16:15                               ` Stephen Warren
2012-10-10 13:12                       ` Laurent Pinchart
2012-10-10 12:54                 ` Laurent Pinchart
2012-10-10 13:45                   ` Mauro Carvalho Chehab
2012-10-10 14:48                     ` Laurent Pinchart
2012-10-10 14:57                       ` Mauro Carvalho Chehab
2012-10-10 15:15                         ` Laurent Pinchart
2012-10-11 19:48                 ` Sakari Ailus
2012-10-13  0:16                   ` Guennadi Liakhovetski
2012-10-05 18:30             ` Sylwester Nawrocki
2012-10-05 18:45               ` Mark Brown
2012-10-08  9:40               ` Guennadi Liakhovetski
2012-10-09 10:34                 ` Sylwester Nawrocki
2012-10-09 11:00                   ` Hans Verkuil
2012-10-10 13:25                     ` Laurent Pinchart
2012-10-10 20:23                       ` Sylwester Nawrocki
2012-10-10 20:32                         ` Guennadi Liakhovetski
2012-10-10 21:12                           ` Sylwester Nawrocki
2012-10-10 23:05                           ` Laurent Pinchart
2012-10-10 22:58                         ` Laurent Pinchart
2012-10-08 21:30             ` Laurent Pinchart [this message]
2012-10-08 10:03   ` Sylwester Nawrocki
     [not found] ` <1348754853-28619-8-git-send-email-g.liakhovetski@gmx.de>
2013-04-10 10:38   ` [PATCH 07/14] media: soc-camera: support deferred probing of clients Barry Song
2013-04-10 12:06     ` Guennadi Liakhovetski
2013-04-10 13:53       ` Barry Song
2013-04-10 13:56         ` Mark Brown
2013-04-10 14:00           ` Barry Song
2013-04-10 14:03         ` Guennadi Liakhovetski
2013-04-10 14:30           ` Barry Song
2013-04-10 14:43             ` Guennadi Liakhovetski
2013-04-10 15:02               ` Barry Song

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=12735748.ZBbT3nyMls@avalon \
    --to=laurent.pinchart@ideasonboard.com \
    --cc=arnd@arndb.de \
    --cc=broonie@opensource.wolfsonmicro.com \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=g.liakhovetski@gmx.de \
    --cc=grant.likely@secretlab.ca \
    --cc=hverkuil@xs4all.nl \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-sh@vger.kernel.org \
    --cc=magnus.damm@gmail.com \
    --cc=s.nawrocki@samsung.com \
    --cc=swarren@wwwdotorg.org \
    --cc=sylvester.nawrocki@gmail.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).