linux-clk.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Rahul Tanwar <rtanwar@maxlinear.com>
To: Stephen Boyd <sboyd@kernel.org>,
	"linux-clk@vger.kernel.org" <linux-clk@vger.kernel.org>,
	"mturquette@baylibre.com" <mturquette@baylibre.com>
Cc: "linux-kernel@" <"vger.kernel.org linux-kernel"@vger.kernel.org>,
	linux-lgm-soc <linux-lgm-soc@maxlinear.com>,
	Yi xin Zhu <yzhu@maxlinear.com>
Subject: Re: [PATCH RESEND v2 3/5] clk: mxl: Avoid disabling gate clocks from clk driver
Date: Wed, 5 Oct 2022 09:36:00 +0000	[thread overview]
Message-ID: <MN2PR19MB369301BFE8DFB56C348CD6C0B15D9@MN2PR19MB3693.namprd19.prod.outlook.com> (raw)
In-Reply-To: 20220930010123.38984C4347C@smtp.kernel.org

Hi Stephen,

On 30/9/2022 9:01 am, Stephen Boyd wrote:
> This email was sent from outside of MaxLinear.
> 
> 
> Quoting Rahul Tanwar (2022-09-28 22:45:59)
>> On 29/9/2022 8:17 am, Stephen Boyd wrote:
>>> This email was sent from outside of MaxLinear.
>>>
>>>
>>> Quoting Rahul Tanwar (2022-09-21 23:24:26)
>>>> In MxL's LGM SoC, gate clocks are supposed to be enabled or disabled
>>>> from EPU (power management IP) in certain power saving modes. If gate
>>>> clocks are allowed to be enabled/disabled from CGU clk driver, then
>>>> there arises a conflict where in case clk driver disables a gate clk,
>>>> and then EPU tries to disable the same gate clk, then it will hang
>>>> polling for the clk gated successful status.
>>>
>>> Is there any point in registering these clks when they're not supposed
>>> to be controlled from Linux?
>>
>>
>> As mentioned in the full commit log, only reason to register these clks
>> is to be backward compatible with older versions of similar SoC's which
>> reuse the same clk CGU IP but do not use same power management IP. Such
>> older SoCs also use the same clk driver and for them these clks are
>> required to be controlled by clk ops from Linux.
>>
> 
> Why is the clk driver probing on the new SoCs? Is it providing
> something? Can we detect that the power management IP exists and not
> register these clks?
> 

We discussed in the team about not registering gate clks at all as you 
mentioned. But if we do that, all peripheral drivers that use these clks 
would need modifications so their probe does not fail due to failure 
returns of clk related standard calls for e.g devm_clk_get(), 
clk_prepare_enable(). These are standard calls in probe for all the 
drivers and a lot of them use gate clks. So this would need a lot of 
changes with possibility of breaking working functionalities.

Also, i incorrectly mentioned about the reason being backward 
compatibility with older SoCs. Main reason is to support different power 
profiles use cases as per end product requirements some of which might 
control it from clk framework i.e. this driver. We keep a internal 
driver flag just for this purpose to provide this flexibility depending 
on the use case which is what we have used here.

I am sending v3 with more clear & correct description about it to 
justify the need for these changes.

Thanks,
Rahul


> 




  parent reply	other threads:[~2022-10-05  9:36 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-22  6:24 [PATCH RESEND v2 0/5] Modify MxL's CGU clk driver to make it secure boot compatible Rahul Tanwar
2022-09-22  6:24 ` [PATCH RESEND v2 1/5] clk: mxl: Switch from direct readl/writel based IO to regmap based IO Rahul Tanwar
2022-09-29  0:14   ` Stephen Boyd
2022-09-29  5:29     ` Rahul Tanwar
2022-09-22  6:24 ` [PATCH RESEND v2 2/5] clk: mxl: Remove unnecessary spinlocks Rahul Tanwar
2022-09-29  0:16   ` Stephen Boyd
2022-09-29  5:37     ` Rahul Tanwar
2022-09-22  6:24 ` [PATCH RESEND v2 3/5] clk: mxl: Avoid disabling gate clocks from clk driver Rahul Tanwar
2022-09-29  0:17   ` Stephen Boyd
2022-09-29  5:45     ` Rahul Tanwar
     [not found]       ` <20220930010123.38984C4347C@smtp.kernel.org>
2022-10-05  9:36         ` Rahul Tanwar [this message]
     [not found]           ` <20221005202037.E7B43C433C1@smtp.kernel.org>
2022-10-11  7:28             ` Rahul Tanwar
     [not found]               ` <20221011174345.906BAC433D7@smtp.kernel.org>
2022-10-12  9:34                 ` Rahul Tanwar
2022-10-11  7:33             ` Rahul Tanwar
2022-10-05 10:52         ` Rahul Tanwar
2022-09-22  6:24 ` [PATCH RESEND v2 4/5] clk: mxl: Add validation for register reads/writes Rahul Tanwar
2022-09-29  0:20   ` Stephen Boyd
2022-09-29  6:10     ` Rahul Tanwar
     [not found]       ` <20220930010212.7860DC433C1@smtp.kernel.org>
2022-10-05  9:36         ` Rahul Tanwar
2022-10-05 10:52         ` Rahul Tanwar
2022-09-22  6:24 ` [PATCH RESEND v2 5/5] clk: mxl: Add a missing flag to allow parent clock rate change Rahul Tanwar
2022-09-29  0:18   ` Stephen Boyd
2022-09-29  5:46     ` Rahul Tanwar

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=MN2PR19MB369301BFE8DFB56C348CD6C0B15D9@MN2PR19MB3693.namprd19.prod.outlook.com \
    --to=rtanwar@maxlinear.com \
    --cc="vger.kernel.org linux-kernel"@vger.kernel.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-lgm-soc@maxlinear.com \
    --cc=mturquette@baylibre.com \
    --cc=sboyd@kernel.org \
    --cc=yzhu@maxlinear.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).