All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stephen Boyd <sboyd@codeaurora.org>
To: Tero Kristo <t-kristo@ti.com>
Cc: Michael Turquette <mturquette@baylibre.com>,
	Tony Lindgren <tony@atomide.com>,
	linux-omap@vger.kernel.org, linux-clk@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCHv4 00/15] clk: ti: add support for hwmod clocks
Date: Tue, 20 Dec 2016 14:56:27 -0800	[thread overview]
Message-ID: <20161220225627.GF5423@codeaurora.org> (raw)
In-Reply-To: <88baee5e-48c3-f0d3-de5e-8e578fab0aa4@ti.com>

On 12/19, Tero Kristo wrote:
> On 17/12/16 03:46, Stephen Boyd wrote:
> >On 12/13, Tero Kristo wrote:
> >>On 13/12/16 06:40, Michael Turquette wrote:
> >>>>>On 12/12, Michael Turquette wrote:
> >>>
> >>>Is the goal to describe this hardware topology in DT? Is that right
> >>>thing to do? I think it's cool to have this modeled *somehow* in Linux,
> >>>but I'm not sure DT is the right place to model the interconnect and
> >>>every device hanging off of it.
> >>>
> >>>I don't want to put words in Stephen's mouth, but I think the issue over
> >>>whether clockdomains are CCF clock providers or some genpd thing is
> >>>probably less important to him than the fact that the DT bindings are
> >>>super detailed to inner workings of the SoC.
> >>
> >>Ok, so your preference would be to reduce the data under DT, and the
> >>ideal approach would be a single prcm node. I think we still need to
> >>keep the prm / cm1 / cm2 as separate nodes, as they are pretty
> >>individual from hardware point of view, provide quite different
> >>features, and they reside in some cases in quite different address
> >>spaces also. Anyway, here's what I gather we should probably have in
> >>DT:
> >>
> >>- reset provider
> >>  * example: resets = <&prm OMAP4_IVA2_RESET>;
> >>  * only from 'prm' node
> >>
> >>- genpd provider (for the hwmods, clockdomains, powerdomains,
> >>voltage domains)
> >>  * examples: power-domains = <&cm2 OMAP4_DSS_CORE_MOD>;
> >>		power-domains = <&cm2 OMAP4_DSS_CLKDM>;
> >>		power-domains = <&prm OMAP4_DSS_PWRDM>;
> >>		power-domains = <&prm OMAP4_CORE_VOLTDM>;
> >>  * from all 'prm', 'cm1' and 'cm2' nodes, though 'prm' would be the
> >>only one providing _CLKDM, _PWRDM, _VOLTDM genpds.
> >>
> >>- clock provider (for anything that requires clocks)
> >>  * example: clocks = <&cm1 OMAP4_DPLL_MPU_CK>;
> >>  * from all 'prm', 'cm1' and 'cm2' nodes
> >>
> >>This would eventually cause an ABI breakage for the clock handles,
> >>if we transfer the existing clocks to this format, and remove the
> >>existing clock handles from DT. Otherwise, I think we could just
> >>transition the existing hwmod data to this new format only, and add
> >>the clockdomain / powerdomain / voltagedomain support a bit later.
> >>
> >
> >This sounds about right. Is the ABI break because we get rid of
> >clock nodes and just have a few big nodes?
> 
> In the above plan, the ABI breakage is because we get rid of the
> existing clock nodes and replace everything with a single (or few)
> clock provider nodes.

Thanks for confirming.

> 
> >I thought we had
> >already broken DT ABI here but if we didn't then that isn't
> >great. Perhaps to make things keep working we can detect the old
> >style one node per clock design and register a bunch of providers
> >individually from the single driver probe?  It would have to match
> >up the registers with a clk_hw pointer somewhere, but it should
> >be possible. Alternatively, we keep both designs around for some
> >time and have different compatibles and different driver entry
> >points.
> 
> Keeping both around for a while should be okay, the design for this
> series was done with that in mind. I didn't address the scrapping of
> old clock data yet though, but that would be a step taken in the
> future.
> 
> First thing to do here would be to implement the hwmod genpds, rest
> can follow later, but we need an agreement if this is the way we
> want to go.

Ok. I guess we're just waiting on Tony then?

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project

WARNING: multiple messages have this Message-ID (diff)
From: sboyd@codeaurora.org (Stephen Boyd)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCHv4 00/15] clk: ti: add support for hwmod clocks
Date: Tue, 20 Dec 2016 14:56:27 -0800	[thread overview]
Message-ID: <20161220225627.GF5423@codeaurora.org> (raw)
In-Reply-To: <88baee5e-48c3-f0d3-de5e-8e578fab0aa4@ti.com>

On 12/19, Tero Kristo wrote:
> On 17/12/16 03:46, Stephen Boyd wrote:
> >On 12/13, Tero Kristo wrote:
> >>On 13/12/16 06:40, Michael Turquette wrote:
> >>>>>On 12/12, Michael Turquette wrote:
> >>>
> >>>Is the goal to describe this hardware topology in DT? Is that right
> >>>thing to do? I think it's cool to have this modeled *somehow* in Linux,
> >>>but I'm not sure DT is the right place to model the interconnect and
> >>>every device hanging off of it.
> >>>
> >>>I don't want to put words in Stephen's mouth, but I think the issue over
> >>>whether clockdomains are CCF clock providers or some genpd thing is
> >>>probably less important to him than the fact that the DT bindings are
> >>>super detailed to inner workings of the SoC.
> >>
> >>Ok, so your preference would be to reduce the data under DT, and the
> >>ideal approach would be a single prcm node. I think we still need to
> >>keep the prm / cm1 / cm2 as separate nodes, as they are pretty
> >>individual from hardware point of view, provide quite different
> >>features, and they reside in some cases in quite different address
> >>spaces also. Anyway, here's what I gather we should probably have in
> >>DT:
> >>
> >>- reset provider
> >>  * example: resets = <&prm OMAP4_IVA2_RESET>;
> >>  * only from 'prm' node
> >>
> >>- genpd provider (for the hwmods, clockdomains, powerdomains,
> >>voltage domains)
> >>  * examples: power-domains = <&cm2 OMAP4_DSS_CORE_MOD>;
> >>		power-domains = <&cm2 OMAP4_DSS_CLKDM>;
> >>		power-domains = <&prm OMAP4_DSS_PWRDM>;
> >>		power-domains = <&prm OMAP4_CORE_VOLTDM>;
> >>  * from all 'prm', 'cm1' and 'cm2' nodes, though 'prm' would be the
> >>only one providing _CLKDM, _PWRDM, _VOLTDM genpds.
> >>
> >>- clock provider (for anything that requires clocks)
> >>  * example: clocks = <&cm1 OMAP4_DPLL_MPU_CK>;
> >>  * from all 'prm', 'cm1' and 'cm2' nodes
> >>
> >>This would eventually cause an ABI breakage for the clock handles,
> >>if we transfer the existing clocks to this format, and remove the
> >>existing clock handles from DT. Otherwise, I think we could just
> >>transition the existing hwmod data to this new format only, and add
> >>the clockdomain / powerdomain / voltagedomain support a bit later.
> >>
> >
> >This sounds about right. Is the ABI break because we get rid of
> >clock nodes and just have a few big nodes?
> 
> In the above plan, the ABI breakage is because we get rid of the
> existing clock nodes and replace everything with a single (or few)
> clock provider nodes.

Thanks for confirming.

> 
> >I thought we had
> >already broken DT ABI here but if we didn't then that isn't
> >great. Perhaps to make things keep working we can detect the old
> >style one node per clock design and register a bunch of providers
> >individually from the single driver probe?  It would have to match
> >up the registers with a clk_hw pointer somewhere, but it should
> >be possible. Alternatively, we keep both designs around for some
> >time and have different compatibles and different driver entry
> >points.
> 
> Keeping both around for a while should be okay, the design for this
> series was done with that in mind. I didn't address the scrapping of
> old clock data yet though, but that would be a step taken in the
> future.
> 
> First thing to do here would be to implement the hwmod genpds, rest
> can follow later, but we need an agreement if this is the way we
> want to go.

Ok. I guess we're just waiting on Tony then?

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project

  reply	other threads:[~2016-12-20 22:56 UTC|newest]

Thread overview: 142+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-10-18 15:45 [PATCHv4 00/15] clk: ti: add support for hwmod clocks Tero Kristo
2016-10-18 15:45 ` Tero Kristo
2016-10-18 15:45 ` Tero Kristo
2016-10-18 15:45 ` [PATCHv4 01/15] clk: ti: remove un-used definitions from public clk_hw_omap struct Tero Kristo
2016-10-18 15:45   ` Tero Kristo
2016-10-18 15:45   ` Tero Kristo
2016-10-18 15:45 ` [PATCHv4 02/15] clk: ti: mux: export mux clock APIs locally Tero Kristo
2016-10-18 15:45   ` Tero Kristo
2016-10-18 15:45   ` Tero Kristo
2016-10-18 15:45 ` [PATCHv4 03/15] dt-bindings: clock: add omap4 hwmod clock IDs Tero Kristo
2016-10-18 15:45   ` Tero Kristo
2016-10-18 15:45   ` Tero Kristo
2016-10-20 12:47   ` Tony Lindgren
2016-10-20 12:47     ` Tony Lindgren
2016-10-20 12:59     ` Tero Kristo
2016-10-20 12:59       ` Tero Kristo
2016-10-20 12:59       ` Tero Kristo
2016-10-20 13:11       ` Tony Lindgren
2016-10-20 13:11         ` Tony Lindgren
2016-10-18 15:45 ` [PATCHv4 04/15] clk: ti: add support for automatic clock alias generation Tero Kristo
2016-10-18 15:45   ` Tero Kristo
2016-10-18 15:45   ` Tero Kristo
2016-10-18 15:45 ` [PATCHv4 05/15] clk: ti: create clock aliases automatically for simple clock types Tero Kristo
2016-10-18 15:45   ` Tero Kristo
2016-10-18 15:45   ` Tero Kristo
2016-10-18 15:45 ` [PATCHv4 06/15] clk: ti: use automatic clock alias generation framework Tero Kristo
2016-10-18 15:45   ` Tero Kristo
2016-10-18 15:45   ` Tero Kristo
2016-10-18 15:46 ` [PATCHv4 07/15] clk: ti: rename ti_clk_register_legacy_clks API Tero Kristo
2016-10-18 15:46   ` Tero Kristo
2016-10-18 15:46   ` Tero Kristo
2016-10-18 15:46 ` [PATCHv4 08/15] clk: ti: add clkdm_lookup to the exported functions Tero Kristo
2016-10-18 15:46   ` Tero Kristo
2016-10-18 15:46   ` Tero Kristo
2016-10-18 15:46 ` [PATCHv4 09/15] clk: ti: move omap2_init_clk_clkdm under TI clock driver Tero Kristo
2016-10-18 15:46   ` Tero Kristo
2016-10-18 15:46   ` Tero Kristo
2016-10-20 12:59   ` Tony Lindgren
2016-10-20 12:59     ` Tony Lindgren
2016-10-18 15:46 ` [PATCHv4 10/15] clk: ti: add support API for fetching memmap index Tero Kristo
2016-10-18 15:46   ` Tero Kristo
2016-10-18 15:46   ` Tero Kristo
2016-10-18 15:46 ` [PATCHv4 11/15] clk: ti: clockdomain: add clock provider support to clockdomains Tero Kristo
2016-10-18 15:46   ` Tero Kristo
2016-10-18 15:46   ` Tero Kristo
2016-10-20 13:06   ` Tony Lindgren
2016-10-20 13:06     ` Tony Lindgren
2016-10-28  0:50   ` Stephen Boyd
2016-10-28  0:50     ` Stephen Boyd
2016-10-28  0:50     ` Stephen Boyd
2016-10-28  7:41     ` Tero Kristo
2016-10-28  7:41       ` Tero Kristo
2016-10-28  7:41       ` Tero Kristo
2016-10-28 12:51       ` Tony Lindgren
2016-10-28 12:51         ` Tony Lindgren
2016-10-28 12:51         ` Tony Lindgren
2016-10-28 23:36         ` Stephen Boyd
2016-10-28 23:36           ` Stephen Boyd
2016-10-28 23:36           ` Stephen Boyd
2016-10-28 23:54           ` Tony Lindgren
2016-10-28 23:54             ` Tony Lindgren
2016-12-02 22:33             ` Michael Turquette
2016-12-02 22:33               ` Michael Turquette
2016-12-02 22:33               ` Michael Turquette
2016-12-02 23:12               ` Tony Lindgren
2016-12-02 23:12                 ` Tony Lindgren
2016-12-02 23:52                 ` Michael Turquette
2016-12-02 23:52                   ` Michael Turquette
2016-12-02 23:52                   ` Michael Turquette
2016-12-03  0:18                   ` Tony Lindgren
2016-12-03  0:18                     ` Tony Lindgren
2016-12-03  0:18                     ` Tony Lindgren
2016-12-05 10:08                     ` Tero Kristo
2016-12-05 10:08                       ` Tero Kristo
2016-12-05 10:08                       ` Tero Kristo
2016-12-05 15:25                       ` Tony Lindgren
2016-12-05 15:25                         ` Tony Lindgren
2016-12-05 15:25                         ` Tony Lindgren
2016-12-09 20:02                         ` Michael Turquette
2016-12-09 20:02                           ` Michael Turquette
2016-12-09 20:02                           ` Michael Turquette
2016-12-09 20:40                           ` Tony Lindgren
2016-12-09 20:40                             ` Tony Lindgren
2016-12-09 20:40                             ` Tony Lindgren
2016-12-09 21:28                             ` Michael Turquette
2016-12-09 21:28                               ` Michael Turquette
2016-12-09 21:28                               ` Michael Turquette
2016-12-09 21:58                               ` Tony Lindgren
2016-12-09 21:58                                 ` Tony Lindgren
2016-10-18 15:46 ` [PATCHv4 12/15] clk: ti: enforce const types on string arrays Tero Kristo
2016-10-18 15:46   ` Tero Kristo
2016-10-18 15:46   ` Tero Kristo
2016-10-18 15:46 ` [PATCHv4 13/15] clk: ti: add support for omap4 module clocks Tero Kristo
2016-10-18 15:46   ` Tero Kristo
2016-10-18 15:46   ` Tero Kristo
2016-10-18 15:46 ` [PATCHv4 14/15] clk: ti: omap4: add hwmod clock data Tero Kristo
2016-10-18 15:46   ` Tero Kristo
2016-10-18 15:46   ` Tero Kristo
2016-10-18 15:46 ` [PATCHv4 15/15] clk: ti: omap4: cleanup unnecessary clock aliases Tero Kristo
2016-10-18 15:46   ` Tero Kristo
2016-10-18 15:46   ` Tero Kristo
2016-10-28  0:53 ` [PATCHv4 00/15] clk: ti: add support for hwmod clocks Stephen Boyd
2016-10-28  0:53   ` Stephen Boyd
2016-10-28  7:19   ` Tero Kristo
2016-10-28  7:19     ` Tero Kristo
2016-10-28  7:19     ` Tero Kristo
2016-10-28 23:37     ` Stephen Boyd
2016-10-28 23:37       ` Stephen Boyd
2016-12-02  8:15       ` Tero Kristo
2016-12-02  8:15         ` Tero Kristo
2016-12-02  8:15         ` Tero Kristo
2016-12-12 18:25         ` Michael Turquette
2016-12-12 18:25           ` Michael Turquette
2016-12-12 18:25           ` Michael Turquette
2016-12-13  0:49           ` Stephen Boyd
2016-12-13  0:49             ` Stephen Boyd
2016-12-13  1:31             ` Tony Lindgren
2016-12-13  1:31               ` Tony Lindgren
2016-12-13  1:37               ` Tony Lindgren
2016-12-13  1:37                 ` Tony Lindgren
2016-12-13  4:40               ` Michael Turquette
2016-12-13  4:40                 ` Michael Turquette
2016-12-13  4:40                 ` Michael Turquette
2016-12-13  8:31                 ` Tero Kristo
2016-12-13  8:31                   ` Tero Kristo
2016-12-13  8:31                   ` Tero Kristo
2016-12-13 15:37                   ` Tony Lindgren
2016-12-13 15:37                     ` Tony Lindgren
2016-12-13 22:02                     ` Michael Turquette
2016-12-13 22:02                       ` Michael Turquette
2016-12-13 22:02                       ` Michael Turquette
2016-12-14  0:43                       ` Tony Lindgren
2016-12-14  0:43                         ` Tony Lindgren
2016-12-17  1:46                   ` Stephen Boyd
2016-12-17  1:46                     ` Stephen Boyd
2016-12-19  6:22                     ` Tero Kristo
2016-12-19  6:22                       ` Tero Kristo
2016-12-19  6:22                       ` Tero Kristo
2016-12-20 22:56                       ` Stephen Boyd [this message]
2016-12-20 22:56                         ` Stephen Boyd
2016-12-20 23:04                         ` Tony Lindgren
2016-12-20 23:04                           ` Tony Lindgren

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=20161220225627.GF5423@codeaurora.org \
    --to=sboyd@codeaurora.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=mturquette@baylibre.com \
    --cc=t-kristo@ti.com \
    --cc=tony@atomide.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 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.