From: Mike Turquette <mturquette@linaro.org>
Cc: devicetree@vger.kernel.org, Russell King <linux@arm.linux.org.uk>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Nicolas Ferre <nicolas.ferre@atmel.com>,
linux-kernel@vger.kernel.org,
Rob Herring <rob.herring@calxeda.com>,
Boris BREZILLON <b.brezillon@overkiz.com>,
Josh Wu <josh.wu@atmel.com>,
Ludovic Desroches <ludovic.desroches@atmel.com>,
Felipe Balbi <balbi@ti.com>, Rob Landley <rob@landley.net>,
Grant Likely <grant.likely@linaro.org>,
Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>,
Andrew Victor <linux@maxim.org.za>,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v3 00/19] ARM: at91: move to common clk framework
Date: Mon, 07 Oct 2013 13:06:00 -0700 [thread overview]
Message-ID: <20131007200600.7445.23876@quantum> (raw)
In-Reply-To: <52134321.8000806@overkiz.com>
Quoting boris brezillon (2013-08-20 03:21:21)
> Hello Mike,
>
> Could you take a look at this patch series ?
>
> I'd like to have your opinion on some key points:
>
> - at91 clk dt bindings
> - in some clk_prepare (pll clks, main clk) callbacks I make use of
> wait_event to wait for an interrupt.
> Should I do it this way or instead use the cpu_relax function ?
wait_event requires a workqueue, which is fine if your work fits
naturally into that model. Otherwise cpu_relax can be used with your own
loop if you prefer, which seems to be a common busy-wait mechanism.
How long do you expect to wait for your condition to change in hardware?
How quickly do you want to respond to that condition once the interrupt
has been handled?
I don't really care but I guess others might have strong opinions.
> - some clks define clk_prepare but not clk_enable (enabling work is done
> in clk_prepare).
That's great, just make sure to provide .is_prepared for those clocks.
Likewise if you populate .enable & .disable callbacks then also provide
a .is_enabled callback.
> Is it okay to leave this callback empty and rely on the default
> behaviour (enable count increment) ?
Yes.
The rest of my comments I'll put in replies to the patches.
Thanks,
Mike
> - at91 clk implemetation in its whole
>
>
> Best Regards,
>
> Boris
>
> On 08/08/2013 06:53, Boris BREZILLON wrote:
> > Hello,
> >
> > This patch series is the 3rd version of the new at91 clock implementation
> > (using common clk framework).
> >
> > Most of the clock provided by the PMC (Power Management Controller) are
> > implemented :
> > - main clock (main oscillator)
> > - pll clocks
> > - master clock
> > - programmable clocks
> > - utmi clock
> > - peripheral clocks
> > - system clocks
> >
> > This implementation is only compatible with device tree definition.
> > The goal is to define the whole clock tree in the device tree.
> >
> > Please feel free to comment the dt bindinds.
> >
> > This patch series is based on linux-next and has been tested on sama5d31ek
> > board using device tree. It compiles for other SoCs and both with and
> > but it has not been tested (Richard, I did not add your Tested-by because
> > a lot of things have changed since v2).
> >
> > BTW could other people test it on other boards (I only have a kizbox and
> > a sama5d31ek dev kit).
> >
> > Best Regards,
> > Boris
> >
> > Changes since v2:
> > - fix several bugs in clk implementations
> > - drop non-dt boards support
> > - split the series to ease review and tests:
> > * 1 patch series for new clk implementations (this series)
> > * 1 patch series to move each at91 SoC to common clk framework (coming soon)
> > - modify dt-bindings (add atmel,clk- prefix to atmel specific properties)
> > - add clk macros for dt-bindings
> > - add pmc framework (helper function to access pmc registers)
> > - add interrupt support to enable passive wait in clk_prepare functions
> >
> > Changes since v1:
> > - fix bugs in pll, programmable and system clock implementations
> > (wrong bit position).
> > - add usb clock configuration support (ohci and udc drivers +
> > clk_lookup for non dt boards)
> > - rework of the system clock interfaces (no need to define a parent clock,
> > system clock is a gate with no rate info)
> > - change system, peripheral and programmable clk dt bindings (1 master node
> > and multiple child nodes each defining a system/peripheral or prog clock)
> > - fix bugs in sama5 dt definition
> >
> > Boris BREZILLON (19):
> > ARM: at91: move at91_pmc.h to include/linux/clk/at91_pmc.h
> > ARM: at91: add Kconfig options for common clk support
> > clk: at91: add PMC base support
> > clk: at91: add PMC macro file for dt definitions
> > clk: at91: add PMC main clock
> > clk: at91: add PMC pll clocks
> > clk: at91: add pll id macros for pll dt bindings
> > clk: at91: add PMC master clock
> > clk: at91: add PMC system clocks
> > ARM: at91/dt: add system clk id definitions in dt-bindings include
> > dir
> > clk: at91: add PMC peripheral clocks
> > clk: at91: add peripheral clk macros for peripheral clk dt bindings
> > clk: at91: add PMC programmable clocks
> > clk: at91: add PMC utmi clock
> > clk: at91: add PMC usb clock
> > clk: at91: add PMC smd clock
> > clk: at91: add PMC clk device tree binding doc.
> > ARM: at91: move pit timer to common clk framework
> > ARM: at91: add new compatible strings for pmc driver
> >
> > .../devicetree/bindings/clock/at91-clock.txt | 312 ++++++++++++
> > arch/arm/mach-at91/Kconfig | 44 ++
> > arch/arm/mach-at91/Kconfig.non_dt | 6 +
> > arch/arm/mach-at91/Makefile | 2 +-
> > arch/arm/mach-at91/at91rm9200.c | 2 +-
> > arch/arm/mach-at91/at91sam9260.c | 2 +-
> > arch/arm/mach-at91/at91sam9261.c | 2 +-
> > arch/arm/mach-at91/at91sam9263.c | 2 +-
> > arch/arm/mach-at91/at91sam926x_time.c | 14 +-
> > arch/arm/mach-at91/at91sam9g45.c | 2 +-
> > arch/arm/mach-at91/at91sam9n12.c | 2 +-
> > arch/arm/mach-at91/at91sam9rl.c | 2 +-
> > arch/arm/mach-at91/at91sam9x5.c | 2 +-
> > arch/arm/mach-at91/clock.c | 8 +-
> > arch/arm/mach-at91/generic.h | 3 +-
> > arch/arm/mach-at91/pm.c | 2 +-
> > arch/arm/mach-at91/pm_slowclock.S | 2 +-
> > arch/arm/mach-at91/sama5d3.c | 2 +-
> > arch/arm/mach-at91/setup.c | 8 +-
> > drivers/clk/Makefile | 1 +
> > drivers/clk/at91/Makefile | 12 +
> > drivers/clk/at91/clk-main.c | 171 +++++++
> > drivers/clk/at91/clk-master.c | 386 +++++++++++++++
> > drivers/clk/at91/clk-peripheral.c | 401 ++++++++++++++++
> > drivers/clk/at91/clk-pll.c | 506 ++++++++++++++++++++
> > drivers/clk/at91/clk-plldiv.c | 137 ++++++
> > drivers/clk/at91/clk-programmable.c | 419 ++++++++++++++++
> > drivers/clk/at91/clk-smd.c | 171 +++++++
> > drivers/clk/at91/clk-system.c | 191 ++++++++
> > drivers/clk/at91/clk-usb.c | 323 +++++++++++++
> > drivers/clk/at91/clk-utmi.c | 161 +++++++
> > drivers/clk/at91/pmc.c | 387 +++++++++++++++
> > drivers/clk/at91/pmc.h | 111 +++++
> > drivers/usb/gadget/atmel_usba_udc.c | 2 +-
> > .../dt-bindings/clk/at91/at91rm9200/clk-system.h | 16 +
> > .../dt-bindings/clk/at91/at91sam9261/clk-system.h | 15 +
> > .../clk/at91/at91sam9x5/clk-peripheral.h | 15 +
> > include/dt-bindings/clk/at91/common/clk-pll.h | 13 +
> > include/dt-bindings/clk/at91/common/clk-system.h | 21 +
> > include/dt-bindings/clk/at91/common/pmc.h | 20 +
> > .../include/mach => include/linux/clk}/at91_pmc.h | 4 +-
> > 41 files changed, 3882 insertions(+), 20 deletions(-)
> > create mode 100644 Documentation/devicetree/bindings/clock/at91-clock.txt
> > create mode 100644 drivers/clk/at91/Makefile
> > create mode 100644 drivers/clk/at91/clk-main.c
> > create mode 100644 drivers/clk/at91/clk-master.c
> > create mode 100644 drivers/clk/at91/clk-peripheral.c
> > create mode 100644 drivers/clk/at91/clk-pll.c
> > create mode 100644 drivers/clk/at91/clk-plldiv.c
> > create mode 100644 drivers/clk/at91/clk-programmable.c
> > create mode 100644 drivers/clk/at91/clk-smd.c
> > create mode 100644 drivers/clk/at91/clk-system.c
> > create mode 100644 drivers/clk/at91/clk-usb.c
> > create mode 100644 drivers/clk/at91/clk-utmi.c
> > create mode 100644 drivers/clk/at91/pmc.c
> > create mode 100644 drivers/clk/at91/pmc.h
> > create mode 100644 include/dt-bindings/clk/at91/at91rm9200/clk-system.h
> > create mode 100644 include/dt-bindings/clk/at91/at91sam9261/clk-system.h
> > create mode 100644 include/dt-bindings/clk/at91/at91sam9x5/clk-peripheral.h
> > create mode 100644 include/dt-bindings/clk/at91/common/clk-pll.h
> > create mode 100644 include/dt-bindings/clk/at91/common/clk-system.h
> > create mode 100644 include/dt-bindings/clk/at91/common/pmc.h
> > rename {arch/arm/mach-at91/include/mach => include/linux/clk}/at91_pmc.h (98%)
> >
next prev parent reply other threads:[~2013-10-07 20:06 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1375937608-3773-1-git-send-email-b.brezillon@overkiz.com>
[not found] ` <1375938066-3889-1-git-send-email-b.brezillon@overkiz.com>
2013-10-07 15:07 ` [PATCH v3 03/19] clk: at91: add PMC base support Nicolas Ferre
2013-10-07 15:57 ` boris brezillon
[not found] ` <1375938174-3926-1-git-send-email-b.brezillon@overkiz.com>
2013-10-07 15:12 ` [PATCH v3 02/19] ARM: at91: add Kconfig options for common clk support Nicolas Ferre
2013-10-07 16:05 ` boris brezillon
2013-10-09 9:56 ` boris brezillon
2013-10-09 10:05 ` Nicolas Ferre
[not found] ` <1375938270-3965-1-git-send-email-b.brezillon@overkiz.com>
[not found] ` <1375938270-3965-1-git-send-email-b.brezillon-ZNYIgs0QAGpBDgjK7y7TUQ@public.gmane.org>
2013-10-07 15:17 ` [PATCH v3 04/19] clk: at91: add PMC macro file for dt definitions Nicolas Ferre
[not found] ` <5252D0A5.60304-AIFe0yeh4nAAvxtiuMwx3w@public.gmane.org>
2013-10-07 16:06 ` boris brezillon
[not found] ` <1375938369-4002-1-git-send-email-b.brezillon@overkiz.com>
[not found] ` <1375938369-4002-1-git-send-email-b.brezillon-ZNYIgs0QAGpBDgjK7y7TUQ@public.gmane.org>
2013-10-07 16:51 ` [PATCH v3 05/19] clk: at91: add PMC main clock Nicolas Ferre
2013-10-07 19:11 ` boris brezillon
[not found] ` <52530744.60701-ZNYIgs0QAGpBDgjK7y7TUQ@public.gmane.org>
2013-10-08 8:24 ` Nicolas Ferre
[not found] ` <5253C142.2080808-AIFe0yeh4nAAvxtiuMwx3w@public.gmane.org>
2013-10-08 9:00 ` boris brezillon
[not found] ` <52134321.8000806@overkiz.com>
2013-10-07 20:06 ` Mike Turquette [this message]
[not found] ` <1375946357-9775-1-git-send-email-b.brezillon@overkiz.com>
[not found] ` <1375946357-9775-1-git-send-email-b.brezillon-ZNYIgs0QAGpBDgjK7y7TUQ@public.gmane.org>
2013-10-08 9:44 ` [PATCH v3 17/19] clk: at91: add PMC clk device tree binding doc Nicolas Ferre
[not found] ` <5253D3FA.5060602-AIFe0yeh4nAAvxtiuMwx3w@public.gmane.org>
2013-10-08 12:37 ` boris brezillon
[not found] ` <5253FC90.1000808-ZNYIgs0QAGpBDgjK7y7TUQ@public.gmane.org>
2013-10-08 12:42 ` Nicolas Ferre
[not found] ` <1375942041-8843-1-git-send-email-b.brezillon@overkiz.com>
[not found] ` <1375942041-8843-1-git-send-email-b.brezillon-ZNYIgs0QAGpBDgjK7y7TUQ@public.gmane.org>
2013-10-08 10:28 ` [PATCH v3 06/19] clk: at91: add PMC pll clocks Nicolas Ferre
[not found] ` <5253DE3A.5090503-AIFe0yeh4nAAvxtiuMwx3w@public.gmane.org>
2013-10-08 11:45 ` boris brezillon
[not found] ` <1375942160-8881-1-git-send-email-b.brezillon@overkiz.com>
[not found] ` <1375942160-8881-1-git-send-email-b.brezillon-ZNYIgs0QAGpBDgjK7y7TUQ@public.gmane.org>
2013-10-08 10:30 ` [PATCH v3 07/19] clk: at91: add pll id macros for pll dt bindings Nicolas Ferre
2013-10-08 12:03 ` boris brezillon
[not found] ` <1375942346-8966-1-git-send-email-b.brezillon@overkiz.com>
[not found] ` <1375942346-8966-1-git-send-email-b.brezillon-ZNYIgs0QAGpBDgjK7y7TUQ@public.gmane.org>
2013-10-08 15:32 ` [PATCH v3 09/19] clk: at91: add PMC system clocks Nicolas Ferre
[not found] ` <1375942504-9010-1-git-send-email-b.brezillon@overkiz.com>
2013-10-08 15:36 ` [PATCH v3 10/19] ARM: at91/dt: add system clk id definitions in dt-bindings include dir Nicolas Ferre
[not found] ` <1375942611-9048-1-git-send-email-b.brezillon@overkiz.com>
[not found] ` <1375942611-9048-1-git-send-email-b.brezillon-ZNYIgs0QAGpBDgjK7y7TUQ@public.gmane.org>
2013-10-08 15:43 ` [PATCH v3 11/19] clk: at91: add PMC peripheral clocks Nicolas Ferre
[not found] ` <1375945839-9573-1-git-send-email-b.brezillon@overkiz.com>
[not found] ` <1375945839-9573-1-git-send-email-b.brezillon-ZNYIgs0QAGpBDgjK7y7TUQ@public.gmane.org>
2013-10-08 15:44 ` [PATCH v3 12/19] clk: at91: add peripheral clk macros for peripheral clk dt bindings Nicolas Ferre
2013-10-08 16:01 ` boris brezillon
[not found] ` <52542C4C.5080409-ZNYIgs0QAGpBDgjK7y7TUQ@public.gmane.org>
2013-10-08 16:15 ` Nicolas Ferre
2013-10-08 16:19 ` boris brezillon
[not found] ` <1375945938-9614-1-git-send-email-b.brezillon@overkiz.com>
[not found] ` <1375945938-9614-1-git-send-email-b.brezillon-ZNYIgs0QAGpBDgjK7y7TUQ@public.gmane.org>
2013-10-08 16:02 ` [PATCH v3 13/19] clk: at91: add PMC programmable clocks Nicolas Ferre
[not found] ` <52542CA9.2000105-AIFe0yeh4nAAvxtiuMwx3w@public.gmane.org>
2013-10-08 16:06 ` Nicolas Ferre
[not found] ` <1375946057-9651-1-git-send-email-b.brezillon@overkiz.com>
2013-10-08 16:08 ` [PATCH v3 14/19] clk: at91: add PMC utmi clock Nicolas Ferre
[not found] ` <1375946153-9694-1-git-send-email-b.brezillon@overkiz.com>
[not found] ` <1375946153-9694-1-git-send-email-b.brezillon-ZNYIgs0QAGpBDgjK7y7TUQ@public.gmane.org>
2013-10-08 16:20 ` [PATCH v3 15/19] clk: at91: add PMC usb clock Nicolas Ferre
[not found] ` <1375946243-9736-1-git-send-email-b.brezillon@overkiz.com>
[not found] ` <1375946243-9736-1-git-send-email-b.brezillon-ZNYIgs0QAGpBDgjK7y7TUQ@public.gmane.org>
2013-10-08 16:22 ` [PATCH v3 16/19] clk: at91: add PMC smd clock Nicolas Ferre
[not found] ` <1375949844-10545-1-git-send-email-b.brezillon@overkiz.com>
2013-10-08 16:28 ` [PATCH v3 18/19] ARM: at91: move pit timer to common clk framework Nicolas Ferre
[not found] ` <1375949965-10586-1-git-send-email-b.brezillon@overkiz.com>
[not found] ` <1375949965-10586-1-git-send-email-b.brezillon-ZNYIgs0QAGpBDgjK7y7TUQ@public.gmane.org>
2013-10-08 16:29 ` [PATCH v3 19/19] ARM: at91: add new compatible strings for pmc driver Nicolas Ferre
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=20131007200600.7445.23876@quantum \
--to=mturquette@linaro.org \
--cc=b.brezillon@overkiz.com \
--cc=balbi@ti.com \
--cc=devicetree@vger.kernel.org \
--cc=grant.likely@linaro.org \
--cc=gregkh@linuxfoundation.org \
--cc=josh.wu@atmel.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=linux@maxim.org.za \
--cc=ludovic.desroches@atmel.com \
--cc=nicolas.ferre@atmel.com \
--cc=plagnioj@jcrosoft.com \
--cc=rob.herring@calxeda.com \
--cc=rob@landley.net \
/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).