From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v8 1/7] media: V4L2: add temporary clock helpers
Date: Thu, 11 Apr 2013 22:35:38 +0000 [thread overview]
Message-ID: <13951098.tvATHWRRmI@avalon> (raw)
In-Reply-To: <20130411185258.7915.67263@quantum>
Hi Mike,
On Thursday 11 April 2013 11:52:58 Mike Turquette wrote:
> Quoting Barry Song (2013-04-11 01:59:28)
> > 2013/4/11 Guennadi Liakhovetski <g.liakhovetski@gmx.de>:
> > > On Thu, 11 Apr 2013, Barry Song wrote:
> > >> 2013/4/11 Guennadi Liakhovetski <g.liakhovetski@gmx.de>:
> > >> > On Thu, 11 Apr 2013, Barry Song wrote:
> > >> >> Hi Guennadi,
> > >> >>
> > >> >> > Typical video devices like camera sensors require an external
> > >> >> > clock source. Many such devices cannot even access their hardware
> > >> >> > registers without a running clock. These clock sources should be
> > >> >> > controlled by their consumers. This should be performed, using the
> > >> >> > generic clock framework. Unfortunately so far only very few
> > >> >> > systems have been ported to that framework. This patch adds a set
> > >> >> > of temporary helpers, mimicking the generic clock API, to V4L2.
> > >> >> > Platforms, adopting the clock API, should switch to using it.
> > >> >> > Eventually this temporary API should be removed.
> > >> >> >
> > >> >> > Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx>
> > >> >> > ---
> > >> >>
> > >> >> for your patch 1/8 and 3/8, i think it makes a lot of senses to let
> > >> >> the object manages its own clock by itself.
> > >> >> is it possible for us to implement v4l2-clk.c directly as an
> > >> >> instance of standard clk driver for those systems which don't have
> > >> >> generic clock, and remove the V4L2 clock APIs like v4l2_clk_get,
> > >> >> v4l2_clk_enable from the first day? i mean v4l2-clk.c becomes a temp
> > >> >> and fake clock controller driver. finally, after people have
> > >> >> generically clk, remove it.
> > >> >
> > >> > I don't think you can force-enable the CFF on systems, that don't
> > >> > support it, e.g. PXA.
> > >>
> > >> yes. we can. clock is only a framework, has it any limitation to
> > >> implement a driver instance on any platform?
> > >
> > > So, you enable CFF, it provides its own clk_* implementation like
> > > clk_get_rate() etc. Now, PXA already has it defined in
> > > arch/arm/mach-pxa/clock.c. Don't think this is going to fly.
> >
> > agree.
>
> I came into this thread late and don't have the actual patches in my inbox
> for review. That said, I don't understand why V4L2 cares about the clk
> framework *implementation*? The clk.h api is the same for platforms using
> the common struct clk and those still using the legacy method of defining
> their own struct clk. If drivers are only consumers of the clk.h api then
> the implementation underneath should not matter.
The issue on non-CCF systems is that devices usually can't register clocks
dynamically. (Most of) those systems provide system clocks only through their
clock API, without a way for the camera IP core to hook up the clock(s) it can
provide to the camera sensor. On the consumer side we don't care much about
the clock framework implementation, but on the provider side we need a
framework that allows registering non-system clocks at runtime.
--
Regards,
Laurent Pinchart
WARNING: multiple messages have this Message-ID (diff)
From: laurent.pinchart@ideasonboard.com (Laurent Pinchart)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v8 1/7] media: V4L2: add temporary clock helpers
Date: Fri, 12 Apr 2013 00:35:38 +0200 [thread overview]
Message-ID: <13951098.tvATHWRRmI@avalon> (raw)
In-Reply-To: <20130411185258.7915.67263@quantum>
Hi Mike,
On Thursday 11 April 2013 11:52:58 Mike Turquette wrote:
> Quoting Barry Song (2013-04-11 01:59:28)
> > 2013/4/11 Guennadi Liakhovetski <g.liakhovetski@gmx.de>:
> > > On Thu, 11 Apr 2013, Barry Song wrote:
> > >> 2013/4/11 Guennadi Liakhovetski <g.liakhovetski@gmx.de>:
> > >> > On Thu, 11 Apr 2013, Barry Song wrote:
> > >> >> Hi Guennadi,
> > >> >>
> > >> >> > Typical video devices like camera sensors require an external
> > >> >> > clock source. Many such devices cannot even access their hardware
> > >> >> > registers without a running clock. These clock sources should be
> > >> >> > controlled by their consumers. This should be performed, using the
> > >> >> > generic clock framework. Unfortunately so far only very few
> > >> >> > systems have been ported to that framework. This patch adds a set
> > >> >> > of temporary helpers, mimicking the generic clock API, to V4L2.
> > >> >> > Platforms, adopting the clock API, should switch to using it.
> > >> >> > Eventually this temporary API should be removed.
> > >> >> >
> > >> >> > Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx>
> > >> >> > ---
> > >> >>
> > >> >> for your patch 1/8 and 3/8, i think it makes a lot of senses to let
> > >> >> the object manages its own clock by itself.
> > >> >> is it possible for us to implement v4l2-clk.c directly as an
> > >> >> instance of standard clk driver for those systems which don't have
> > >> >> generic clock, and remove the V4L2 clock APIs like v4l2_clk_get,
> > >> >> v4l2_clk_enable from the first day? i mean v4l2-clk.c becomes a temp
> > >> >> and fake clock controller driver. finally, after people have
> > >> >> generically clk, remove it.
> > >> >
> > >> > I don't think you can force-enable the CFF on systems, that don't
> > >> > support it, e.g. PXA.
> > >>
> > >> yes. we can. clock is only a framework, has it any limitation to
> > >> implement a driver instance on any platform?
> > >
> > > So, you enable CFF, it provides its own clk_* implementation like
> > > clk_get_rate() etc. Now, PXA already has it defined in
> > > arch/arm/mach-pxa/clock.c. Don't think this is going to fly.
> >
> > agree.
>
> I came into this thread late and don't have the actual patches in my inbox
> for review. That said, I don't understand why V4L2 cares about the clk
> framework *implementation*? The clk.h api is the same for platforms using
> the common struct clk and those still using the legacy method of defining
> their own struct clk. If drivers are only consumers of the clk.h api then
> the implementation underneath should not matter.
The issue on non-CCF systems is that devices usually can't register clocks
dynamically. (Most of) those systems provide system clocks only through their
clock API, without a way for the camera IP core to hook up the clock(s) it can
provide to the camera sensor. On the consumer side we don't care much about
the clock framework implementation, but on the provider side we need a
framework that allows registering non-system clocks at runtime.
--
Regards,
Laurent Pinchart
WARNING: multiple messages have this Message-ID (diff)
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Mike Turquette <mturquette@linaro.org>
Cc: Barry Song <21cnbao@gmail.com>,
Guennadi Liakhovetski <g.liakhovetski@gmx.de>,
linux-arm-kernel@lists.infradead.org,
"renwei.wu" <renwei.wu@csr.com>,
linux-sh@vger.kernel.org,
Mark Brown <broonie@opensource.wolfsonmicro.com>,
Magnus Damm <magnus.damm@gmail.com>,
DL-SHA-WorkGroupLinux <workgroup.linux@csr.com>,
Hans Verkuil <hverkuil@xs4all.nl>,
Russell King <rmk+kernel@arm.linux.org.uk>,
Sylwester Nawrocki <sylvester.nawrocki@gmail.com>,
zilong.wu@csr.com, xiaomeng.hou@csr.com,
linux-media@vger.kernel.org
Subject: Re: [PATCH v8 1/7] media: V4L2: add temporary clock helpers
Date: Fri, 12 Apr 2013 00:35:38 +0200 [thread overview]
Message-ID: <13951098.tvATHWRRmI@avalon> (raw)
In-Reply-To: <20130411185258.7915.67263@quantum>
Hi Mike,
On Thursday 11 April 2013 11:52:58 Mike Turquette wrote:
> Quoting Barry Song (2013-04-11 01:59:28)
> > 2013/4/11 Guennadi Liakhovetski <g.liakhovetski@gmx.de>:
> > > On Thu, 11 Apr 2013, Barry Song wrote:
> > >> 2013/4/11 Guennadi Liakhovetski <g.liakhovetski@gmx.de>:
> > >> > On Thu, 11 Apr 2013, Barry Song wrote:
> > >> >> Hi Guennadi,
> > >> >>
> > >> >> > Typical video devices like camera sensors require an external
> > >> >> > clock source. Many such devices cannot even access their hardware
> > >> >> > registers without a running clock. These clock sources should be
> > >> >> > controlled by their consumers. This should be performed, using the
> > >> >> > generic clock framework. Unfortunately so far only very few
> > >> >> > systems have been ported to that framework. This patch adds a set
> > >> >> > of temporary helpers, mimicking the generic clock API, to V4L2.
> > >> >> > Platforms, adopting the clock API, should switch to using it.
> > >> >> > Eventually this temporary API should be removed.
> > >> >> >
> > >> >> > Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx>
> > >> >> > ---
> > >> >>
> > >> >> for your patch 1/8 and 3/8, i think it makes a lot of senses to let
> > >> >> the object manages its own clock by itself.
> > >> >> is it possible for us to implement v4l2-clk.c directly as an
> > >> >> instance of standard clk driver for those systems which don't have
> > >> >> generic clock, and remove the V4L2 clock APIs like v4l2_clk_get,
> > >> >> v4l2_clk_enable from the first day? i mean v4l2-clk.c becomes a temp
> > >> >> and fake clock controller driver. finally, after people have
> > >> >> generically clk, remove it.
> > >> >
> > >> > I don't think you can force-enable the CFF on systems, that don't
> > >> > support it, e.g. PXA.
> > >>
> > >> yes. we can. clock is only a framework, has it any limitation to
> > >> implement a driver instance on any platform?
> > >
> > > So, you enable CFF, it provides its own clk_* implementation like
> > > clk_get_rate() etc. Now, PXA already has it defined in
> > > arch/arm/mach-pxa/clock.c. Don't think this is going to fly.
> >
> > agree.
>
> I came into this thread late and don't have the actual patches in my inbox
> for review. That said, I don't understand why V4L2 cares about the clk
> framework *implementation*? The clk.h api is the same for platforms using
> the common struct clk and those still using the legacy method of defining
> their own struct clk. If drivers are only consumers of the clk.h api then
> the implementation underneath should not matter.
The issue on non-CCF systems is that devices usually can't register clocks
dynamically. (Most of) those systems provide system clocks only through their
clock API, without a way for the camera IP core to hook up the clock(s) it can
provide to the camera sensor. On the consumer side we don't care much about
the clock framework implementation, but on the provider side we need a
framework that allows registering non-system clocks at runtime.
--
Regards,
Laurent Pinchart
next prev parent reply other threads:[~2013-04-11 22:35 UTC|newest]
Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-08 15:05 [PATCH v8 0/7] V4L2 clock and async patches and soc-camera example Guennadi Liakhovetski
2013-04-08 15:05 ` Guennadi Liakhovetski
2013-04-08 15:05 ` [PATCH v8 1/7] media: V4L2: add temporary clock helpers Guennadi Liakhovetski
2013-04-08 15:05 ` Guennadi Liakhovetski
2013-04-11 3:40 ` Barry Song
2013-04-11 3:40 ` Barry Song
2013-04-11 7:22 ` Guennadi Liakhovetski
2013-04-11 7:22 ` Guennadi Liakhovetski
2013-04-11 8:22 ` Barry Song
2013-04-11 8:22 ` Barry Song
2013-04-11 8:22 ` Barry Song
2013-04-11 8:36 ` Guennadi Liakhovetski
2013-04-11 8:36 ` Guennadi Liakhovetski
2013-04-11 8:36 ` Guennadi Liakhovetski
2013-04-11 8:59 ` Barry Song
2013-04-11 8:59 ` Barry Song
2013-04-11 8:59 ` Barry Song
2013-04-11 18:52 ` Mike Turquette
2013-04-11 18:52 ` Mike Turquette
2013-04-11 18:52 ` Mike Turquette
2013-04-11 20:14 ` Sylwester Nawrocki
2013-04-11 20:14 ` Sylwester Nawrocki
2013-04-11 20:14 ` Sylwester Nawrocki
2013-04-11 22:35 ` Laurent Pinchart [this message]
2013-04-11 22:35 ` Laurent Pinchart
2013-04-11 22:35 ` Laurent Pinchart
2013-04-11 23:19 ` Mike Turquette
2013-04-12 8:22 ` Laurent Pinchart
2013-04-12 8:22 ` Laurent Pinchart
2013-04-12 8:22 ` Laurent Pinchart
2013-04-08 15:05 ` [PATCH v8 2/7] media: V4L2: support asynchronous subdevice registration Guennadi Liakhovetski
2013-04-08 15:05 ` Guennadi Liakhovetski
2013-04-12 12:09 ` Laurent Pinchart
2013-04-12 12:09 ` Laurent Pinchart
2013-04-12 14:29 ` Guennadi Liakhovetski
2013-04-12 14:29 ` Guennadi Liakhovetski
2013-04-08 15:05 ` [PATCH v8 3/7] media: soc-camera: switch I2C subdevice drivers to use v4l2-clk Guennadi Liakhovetski
2013-04-08 15:05 ` Guennadi Liakhovetski
2013-04-08 15:05 ` [PATCH v8 4/7] soc-camera: add V4L2-async support Guennadi Liakhovetski
2013-04-08 15:05 ` Guennadi Liakhovetski
2013-04-08 15:05 ` [PATCH v8 5/7] sh_mobile_ceu_camera: add asynchronous subdevice probing support Guennadi Liakhovetski
2013-04-08 15:05 ` Guennadi Liakhovetski
2013-04-08 15:05 ` [PATCH v8 6/7] imx074: support asynchronous probing Guennadi Liakhovetski
2013-04-08 15:05 ` Guennadi Liakhovetski
2013-04-08 15:05 ` [PATCH v8 7/7] ARM: shmobile: convert ap4evb to asynchronously register camera subdevices Guennadi Liakhovetski
2013-04-08 15:05 ` Guennadi Liakhovetski
2013-04-09 8:07 ` [PATCH v8 0/7] V4L2 clock and async patches and soc-camera example Simon Horman
2013-04-09 8:07 ` Simon Horman
2013-04-09 8:14 ` Guennadi Liakhovetski
2013-04-09 8:14 ` Guennadi Liakhovetski
2013-04-09 9:01 ` Simon Horman
2013-04-09 9:01 ` Simon Horman
2013-04-11 9:59 ` Guennadi Liakhovetski
2013-04-11 9:59 ` Guennadi Liakhovetski
2013-04-11 19:58 ` Sylwester Nawrocki
2013-04-11 19:58 ` Sylwester Nawrocki
2013-04-12 6:13 ` Guennadi Liakhovetski
2013-04-12 6:13 ` Guennadi Liakhovetski
2013-04-12 12:48 ` Sylwester Nawrocki
2013-04-12 12:48 ` Sylwester Nawrocki
2013-04-15 10:32 ` Laurent Pinchart
2013-04-15 10:32 ` Laurent Pinchart
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=13951098.tvATHWRRmI@avalon \
--to=laurent.pinchart@ideasonboard.com \
--cc=linux-arm-kernel@lists.infradead.org \
/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.