linux-clk.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andreas Kemnade <andreas@kemnade.info>
To: Tero Kristo <t-kristo@ti.com>
Cc: Stephen Boyd <sboyd@kernel.org>, <bcousson@baylibre.com>,
	<letux-kernel@openphoenux.org>, <linux-clk@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>, <linux-omap@vger.kernel.org>,
	<mturquette@baylibre.com>, <paul@pwsan.com>, <tony@atomide.com>
Subject: Re: [PATCH v2 2/3] clk: ti: check clock type before doing autoidle ops
Date: Fri, 30 Nov 2018 13:17:35 +0100	[thread overview]
Message-ID: <20181130131605.3cfea95d@kemnade.info> (raw)
In-Reply-To: <eca27a46-2ca3-1a02-c0c8-c1c00b3b2f46@ti.com>

[-- Attachment #1: Type: text/plain, Size: 3430 bytes --]

Hi Tero,

On Fri, 30 Nov 2018 11:20:49 +0200
Tero Kristo <t-kristo@ti.com> wrote:

> On 30/11/2018 09:57, Stephen Boyd wrote:
> > Quoting Tero Kristo (2018-11-29 23:35:35)  
> >> On 30/11/2018 09:20, Stephen Boyd wrote:  
> >>> Quoting Andreas Kemnade (2018-11-29 22:15:34)  
> >>>> Hi Stephen,
> >>>>
> >>>> On Thu, 29 Nov 2018 16:25:05 -0800
> >>>> Stephen Boyd <sboyd@kernel.org> wrote:
> >>>>  
> >>>>> Quoting Andreas Kemnade (2018-11-10 12:31:14)  
> >>>>>> Code might use autoidle api with clocks not being omap2 clocks,
> >>>>>> so check if clock type is not basic
> >>>>>>
> >>>>>> Signed-off-by: Andreas Kemnade <andreas@kemnade.info>
> >>>>>> ---
> >>>>>> New in v2
> >>>>>> ---
> >>>>>>    drivers/clk/ti/autoidle.c | 12 ++++++++++--
> >>>>>>    1 file changed, 10 insertions(+), 2 deletions(-)
> >>>>>>
> >>>>>> diff --git a/drivers/clk/ti/autoidle.c b/drivers/clk/ti/autoidle.c
> >>>>>> index 161f67850393..5bdae5552d38 100644
> >>>>>> --- a/drivers/clk/ti/autoidle.c
> >>>>>> +++ b/drivers/clk/ti/autoidle.c
> >>>>>> @@ -54,8 +54,12 @@ static DEFINE_SPINLOCK(autoidle_spinlock);
> >>>>>>    int omap2_clk_deny_idle(struct clk *clk)
> >>>>>>    {
> >>>>>>           struct clk_hw_omap *c;
> >>>>>> +       struct clk_hw *hw = __clk_get_hw(clk);
> >>>>>>    
> >>>>>> -       c = to_clk_hw_omap(__clk_get_hw(clk));
> >>>>>> +       if (clk_hw_get_flags(hw) & CLK_IS_BASIC)  
> >>>>>
> >>>>> Please try to avoid using CLK_IS_BASIC if at all possible. Can you?
> >>>>> Maybe add some flag in clk_hw_omap() instead?
> >>>>>  
> >>>> hmm, Tero suggested that.
> >>>> But to check flags in clk_hw_omap I first need to know that there is a
> >>>> clk_hw_omap behind clk_hw. And for that I either need to check flags in
> >>>> clk_hw or do more changes in the omap_hwmod code.  
> >>>
> >>> Can you do it? The omap code is the only user of CLK_IS_BASIC. All the
> >>> other users are marking clks with this but there is no reason to do so.
> >>> I'll go make another pass over the tree and nuke those ones from orbit.  
> >>
> >> The reason for using this flag is because OMAP uses two clock types
> >> around, the basic clocks like fixed-factor-clock/fixed-clock, and then
> >> all the omap derivatives, which can be cast to clk_hw_omap. If we want
> >> to avoid usage of CLK_IS_BASIC, we need to copy paste the remaining
> >> basic code under drivers/clk/ti/ and convert them to use clk_hw_omap as
> >> internal datatype. Is this preferred?
> >>  
> > 
> > No that is not preferred. Can the omap2_clk_deny_idle() function be
> > integrated closer into the clk framework in some way that allows it to
> > be part of the clk_ops structure? And then have that take a clk_hw
> > structure instead of a struct clk? I haven't looked at this in any
> > detail whatsoever so I may be way off right now.  
> 
> It could be added under the main clk_ops struct, however this would 
> introduce two new func pointers to it which are not used by anything 
> else but OMAP. Are you aware of any other platforms requiring similar 
> feature?

The question here is also how we organize the procedure here. One patchset
fixing nasty problems and another mainly reorganize things? Where do we draw
the line between these two? If we have the autoidle code in main clk_ops,
we could also think whether other autoidle code should go into main code.

Regards,
Andreas

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  reply	other threads:[~2018-11-30 12:17 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-10 20:31 [PATCH v2 0/3] mach-omap2: handle autoidle denial Andreas Kemnade
2018-11-10 20:31 ` [PATCH v2 1/3] clk: ti: add a usecount for autoidle Andreas Kemnade
2018-11-10 20:31 ` [PATCH v2 2/3] clk: ti: check clock type before doing autoidle ops Andreas Kemnade
2018-11-30  0:25   ` Stephen Boyd
2018-11-30  6:15     ` Andreas Kemnade
2018-11-30  7:20       ` Stephen Boyd
2018-11-30  7:35         ` Tero Kristo
2018-11-30  7:57           ` Stephen Boyd
2018-11-30  9:20             ` Tero Kristo
2018-11-30 12:17               ` Andreas Kemnade [this message]
2018-11-30 15:37               ` Tony Lindgren
2018-11-30 23:51                 ` Stephen Boyd
2018-12-03 15:39                   ` Tony Lindgren
2018-12-03 16:22                     ` Andreas Kemnade
2018-12-04 16:45                       ` Tony Lindgren
2018-12-27 20:12                         ` Andreas Kemnade
2018-12-28 20:02                           ` Tony Lindgren
2018-12-31  7:23                             ` Tero Kristo
2018-12-31  8:30                               ` Andreas Kemnade
2019-01-03 23:39                                 ` Stephen Boyd
2019-01-04  7:28                                   ` Tero Kristo
2019-01-11 22:49                                     ` Stephen Boyd
2019-01-14  8:25                                       ` Tero Kristo
2018-12-03 17:06                     ` Stephen Boyd
2018-11-10 20:31 ` [PATCH v2 3/3] arm: omap_hwmod disable ick autoidling when a hwmod requires that Andreas Kemnade
2018-11-30  0:26 ` [PATCH v2 0/3] mach-omap2: handle autoidle denial Stephen Boyd
2018-11-30  7:37   ` Tero Kristo
2018-11-30  7:57     ` Stephen Boyd
2018-11-30  9:21       ` Tero Kristo

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=20181130131605.3cfea95d@kemnade.info \
    --to=andreas@kemnade.info \
    --cc=bcousson@baylibre.com \
    --cc=letux-kernel@openphoenux.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=mturquette@baylibre.com \
    --cc=paul@pwsan.com \
    --cc=sboyd@kernel.org \
    --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 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).