mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Sekhar Nori <nsekhar@ti.com>
To: Bartosz Golaszewski <brgl@bgdev.pl>
Cc: Rob Herring <robh+dt@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Kevin Hilman <khilman@kernel.org>,
	Russell King <linux@armlinux.org.uk>,
	David Lechner <david@lechnology.com>,
	devicetree <devicetree@vger.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Linux ARM <linux-arm-kernel@lists.infradead.org>,
	Bartosz Golaszewski <bgolaszewski@baylibre.com>
Subject: Re: [PATCH 2/7] soc: davinci: new genpd driver
Date: Thu, 8 Feb 2018 20:13:06 +0530	[thread overview]
Message-ID: <a7133585-aaa0-e361-2e88-4ab0a263837e@ti.com> (raw)
In-Reply-To: <CAMRc=MeQUdzWfAgUCX5k5iwmyyVeCvjhw0CKauSY_1F0+SBPBQ@mail.gmail.com>

On Thursday 08 February 2018 06:57 PM, Bartosz Golaszewski wrote:
> 2018-02-08 13:56 GMT+01:00 Sekhar Nori <nsekhar@ti.com>:
>> On Thursday 08 February 2018 03:24 PM, Bartosz Golaszewski wrote:
>>> 2018-02-08 10:30 GMT+01:00 Sekhar Nori <nsekhar@ti.com>:
>>>> On Wednesday 07 February 2018 07:15 PM, Bartosz Golaszewski wrote:
>>>>> +     /*
>>>>> +      * DaVinci always uses a single clock for power-management. We assume
>>>>> +      * it's the first one in the clocks property.
>>>>> +      */
>>>>> +     clk = of_clk_get(dev->of_node, 0);
>>>>> +     if (IS_ERR(clk))
>>>>> +             return PTR_ERR(clk);
>>>>
>>>> We already get this today with drivers/base/power/clock_ops.c once
>>>> .con_ids list is dropped from pm_clk_notifier_block (which I think it
>>>> should).
>>>>
>>>> If there is no reason to introduce thus functionality at this stage,
>>>> perhaps we should wait till such a time when its clearly needed?
>>>>
>>>> Thanks,
>>>> Sekhar
>>>
>>> If I understand correctly: once we drop the con_ids list, we end up
>>> calling clk_get(dev, NULL) from pm_clk_acquire(), which matches
>>> against the clock with NULL con_id, which may not necessarily be the
>>> first clock in the list.
>>
>> Hmm, not sure of this. In __of_clk_get_by_name() called by clk_get():
>>
>> int index = 0;
>>
>> /*
>>  * For named clocks, first look up the name in the
>>  * "clock-names" property.  If it cannot be found, then
>>  * index will be an error code, and of_clk_get() will fail.
>>  */
>> if (name)
>>         index = of_property_match_string(np, "clock-names", name);
>>
>> So, if no con_id is provided (name == NULL), then index is set to 0
>> which will always get the first clock in clocks = list.
>>
> 
> But we're talking here about device tree mode. In legacy mode the
> device_node pointer will be NULL, __of_clk_get_by_name() will return
> -ENOENT and we'll end up calling clk_get_sys() -> clk_find(). We'll
> then iterate over the clock entries and check the following:
> 
> (...)
> 152                 if (p->con_id) {
> 153                         if (!con_id || strcmp(p->con_id, con_id))
> 154                                 continue;
> 155                         match += 1;
> 156                 }
> (...)
> 
> So we'll skip the first clock if it has a con_id and we passed an
> empty con_id to clk_get().

You are right. I missed taking the effect on legacy boot into
consideration. Please send v2 then, and consider this objection withdrawn.

Thanks,
Sekhar

  reply	other threads:[~2018-02-08 14:44 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-07 13:45 [PATCH 0/7] ARM: davinci: add genpd support Bartosz Golaszewski
2018-02-07 13:45 ` [PATCH 1/7] dt-bindings: soc: new driver for DaVinci genpd Bartosz Golaszewski
2018-02-07 21:47   ` David Lechner
2018-02-08  8:56     ` Bartosz Golaszewski
2018-02-09  0:40       ` Kevin Hilman
2018-02-07 13:45 ` [PATCH 2/7] soc: davinci: new genpd driver Bartosz Golaszewski
2018-02-07 21:49   ` David Lechner
2018-02-08  9:30   ` Sekhar Nori
2018-02-08  9:54     ` Bartosz Golaszewski
2018-02-08 12:56       ` Sekhar Nori
2018-02-08 13:27         ` Bartosz Golaszewski
2018-02-08 14:43           ` Sekhar Nori [this message]
2018-02-07 13:45 ` [PATCH 3/7] ARM: davinci: don't setup pm_clk if we're using genpd Bartosz Golaszewski
2018-02-07 13:45 ` [PATCH 4/7] ARM: dts: da850: add power controller nodes Bartosz Golaszewski
2018-02-07 21:58   ` David Lechner
2018-02-07 13:45 ` [PATCH 5/7] ARM: dts: da850: add power-domains properties to device nodes Bartosz Golaszewski
2018-02-07 22:21   ` David Lechner
2018-02-07 13:45 ` [PATCH 6/7] ARM: davinci: select generic power domains for DaVinci in DT mode Bartosz Golaszewski
2018-02-07 13:45 ` [PATCH 7/7] ARM: davinci_all_defconfig: select the DaVinci genpd driver " Bartosz Golaszewski
2018-02-07 22:43 ` [PATCH 0/7] ARM: davinci: add genpd support David Lechner
2018-02-09 12:42   ` Sekhar Nori
2018-02-18  3:41     ` David Lechner
2018-02-19 10:49       ` Bartosz Golaszewski

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=a7133585-aaa0-e361-2e88-4ab0a263837e@ti.com \
    --to=nsekhar@ti.com \
    --cc=bgolaszewski@baylibre.com \
    --cc=brgl@bgdev.pl \
    --cc=david@lechnology.com \
    --cc=devicetree@vger.kernel.org \
    --cc=khilman@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=mark.rutland@arm.com \
    --cc=robh+dt@kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®