From: Henry Chen <henryc.chen@mediatek.com>
To: Stephen Boyd <sboyd@kernel.org>
Cc: Matthias Brugger <matthias.bgg@gmail.com>,
Rob Herring <robh+dt@kernel.org>,
Ulf Hansson <ulf.hansson@linaro.org>,
Viresh Kumar <vireshk@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Fan Chen <fan.chen@mediatek.com>,
Weiyi Lu <weiyi.lu@mediatek.com>,
James Liao <jamesjj.liao@mediatek.com>,
Kees Cook <keescook@chromium.org>,
linux-pm@vger.kernel.org, devicetree@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org
Subject: Re: [RFC RESEND PATCH 3/7] soc: mediatek: add support for the performance state
Date: Mon, 7 Jan 2019 19:06:34 +0800 [thread overview]
Message-ID: <1546859194.6818.129.camel@mtksdaap41> (raw)
In-Reply-To: <154655622671.15366.9695869469694306752@swboyd.mtv.corp.google.com>
On Thu, 2019-01-03 at 14:57 -0800, Stephen Boyd wrote:
> Quoting Henry Chen (2019-01-02 06:09:54)
> > @@ -187,6 +190,18 @@ struct scp_soc_data {
> > bool bus_prot_reg_update;
> > };
> >
> > +BLOCKING_NOTIFIER_HEAD(scpsys_notifier_list);
>
> static?
OK
>
> > +
> > +int register_scpsys_notifier(struct notifier_block *nb)
> > +{
> > + return blocking_notifier_chain_register(&scpsys_notifier_list, nb);
> > +}
> > +
> > +int unregister_scpsys_notifier(struct notifier_block *nb)
> > +{
> > + return blocking_notifier_chain_unregister(&scpsys_notifier_list, nb);
> > +}
>
> What is the notifier for?
It used to notifier the DVFSRC driver that performance stat was changed.
>
> > +
> > static int scpsys_domain_is_on(struct scp_domain *scpd)
> > {
> > struct scp *scp = scpd->scp;
> > @@ -536,6 +551,48 @@ static void init_clks(struct platform_device *pdev, struct clk **clk)
> > clk[i] = devm_clk_get(&pdev->dev, clk_names[i]);
> > }
> >
> > +static int mtk_pd_set_performance(struct generic_pm_domain *genpd,
> > + unsigned int state)
> > +{
> > + int i;
> > + struct scp_domain *scpd =
> > + container_of(genpd, struct scp_domain, genpd);
> > + struct scp_event_data scpe;
> > + struct scp *scp = scpd->scp;
> > + struct genpd_onecell_data *pd_data = &scp->pd_data;
> > +
> > + for (i = 0; i < pd_data->num_domains; i++) {
> > + if (genpd == pd_data->domains[i]) {
> > + dev_dbg(scp->dev, "%d. %s = %d\n",
> > + i, genpd->name, state);
> > + break;
> > + }
> > + }
> > +
> > + scpe.event_type = MTK_SCPSYS_PSTATE;
> > + scpe.genpd = genpd;
> > + scpe.domain_id = i;
> > + blocking_notifier_call_chain(&scpsys_notifier_list, state, &scpe);
> > +
> > + return 0;
> > +}
> > +
> > +static unsigned int mtk_pd_get_performance(struct generic_pm_domain *genpd,
> > + struct dev_pm_opp *opp)
> > +{
> > + struct device_node *np;
> > + unsigned int state;
> > +
> > + np = dev_pm_opp_get_of_node(opp);
> > +
> > + if (of_property_read_u32(np, "mtk,level", &state))
> > + return 0;
> > +
> > + of_node_put(np);
>
> The generic API that Rajendra is adding I guess will become even more
> generic by assuming some sort of property like 'opp-level' or
> 'performance-state' that is just some raw number.
ok, I will follow the new property from Rajendra.
> > +
> > + return state;
> > +}
> > +
> > static struct scp *init_scp(struct platform_device *pdev,
> > const struct scp_domain_data *scp_domain_data, int num,
> > const struct scp_ctrl_reg *scp_ctrl_reg,
WARNING: multiple messages have this Message-ID (diff)
From: Henry Chen <henryc.chen@mediatek.com>
To: Stephen Boyd <sboyd@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>,
James Liao <jamesjj.liao@mediatek.com>,
Ulf Hansson <ulf.hansson@linaro.org>,
Kees Cook <keescook@chromium.org>,
Weiyi Lu <weiyi.lu@mediatek.com>,
linux-pm@vger.kernel.org, Viresh Kumar <vireshk@kernel.org>,
linux-kernel@vger.kernel.org, Fan Chen <fan.chen@mediatek.com>,
devicetree@vger.kernel.org, Rob Herring <robh+dt@kernel.org>,
linux-mediatek@lists.infradead.org,
Matthias Brugger <matthias.bgg@gmail.com>,
linux-arm-kernel@lists.infradead.org
Subject: Re: [RFC RESEND PATCH 3/7] soc: mediatek: add support for the performance state
Date: Mon, 7 Jan 2019 19:06:34 +0800 [thread overview]
Message-ID: <1546859194.6818.129.camel@mtksdaap41> (raw)
In-Reply-To: <154655622671.15366.9695869469694306752@swboyd.mtv.corp.google.com>
On Thu, 2019-01-03 at 14:57 -0800, Stephen Boyd wrote:
> Quoting Henry Chen (2019-01-02 06:09:54)
> > @@ -187,6 +190,18 @@ struct scp_soc_data {
> > bool bus_prot_reg_update;
> > };
> >
> > +BLOCKING_NOTIFIER_HEAD(scpsys_notifier_list);
>
> static?
OK
>
> > +
> > +int register_scpsys_notifier(struct notifier_block *nb)
> > +{
> > + return blocking_notifier_chain_register(&scpsys_notifier_list, nb);
> > +}
> > +
> > +int unregister_scpsys_notifier(struct notifier_block *nb)
> > +{
> > + return blocking_notifier_chain_unregister(&scpsys_notifier_list, nb);
> > +}
>
> What is the notifier for?
It used to notifier the DVFSRC driver that performance stat was changed.
>
> > +
> > static int scpsys_domain_is_on(struct scp_domain *scpd)
> > {
> > struct scp *scp = scpd->scp;
> > @@ -536,6 +551,48 @@ static void init_clks(struct platform_device *pdev, struct clk **clk)
> > clk[i] = devm_clk_get(&pdev->dev, clk_names[i]);
> > }
> >
> > +static int mtk_pd_set_performance(struct generic_pm_domain *genpd,
> > + unsigned int state)
> > +{
> > + int i;
> > + struct scp_domain *scpd =
> > + container_of(genpd, struct scp_domain, genpd);
> > + struct scp_event_data scpe;
> > + struct scp *scp = scpd->scp;
> > + struct genpd_onecell_data *pd_data = &scp->pd_data;
> > +
> > + for (i = 0; i < pd_data->num_domains; i++) {
> > + if (genpd == pd_data->domains[i]) {
> > + dev_dbg(scp->dev, "%d. %s = %d\n",
> > + i, genpd->name, state);
> > + break;
> > + }
> > + }
> > +
> > + scpe.event_type = MTK_SCPSYS_PSTATE;
> > + scpe.genpd = genpd;
> > + scpe.domain_id = i;
> > + blocking_notifier_call_chain(&scpsys_notifier_list, state, &scpe);
> > +
> > + return 0;
> > +}
> > +
> > +static unsigned int mtk_pd_get_performance(struct generic_pm_domain *genpd,
> > + struct dev_pm_opp *opp)
> > +{
> > + struct device_node *np;
> > + unsigned int state;
> > +
> > + np = dev_pm_opp_get_of_node(opp);
> > +
> > + if (of_property_read_u32(np, "mtk,level", &state))
> > + return 0;
> > +
> > + of_node_put(np);
>
> The generic API that Rajendra is adding I guess will become even more
> generic by assuming some sort of property like 'opp-level' or
> 'performance-state' that is just some raw number.
ok, I will follow the new property from Rajendra.
> > +
> > + return state;
> > +}
> > +
> > static struct scp *init_scp(struct platform_device *pdev,
> > const struct scp_domain_data *scp_domain_data, int num,
> > const struct scp_ctrl_reg *scp_ctrl_reg,
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
WARNING: multiple messages have this Message-ID (diff)
From: Henry Chen <henryc.chen@mediatek.com>
To: Stephen Boyd <sboyd@kernel.org>
Cc: Matthias Brugger <matthias.bgg@gmail.com>,
Rob Herring <robh+dt@kernel.org>,
Ulf Hansson <ulf.hansson@linaro.org>,
Viresh Kumar <vireshk@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Fan Chen <fan.chen@mediatek.com>,
Weiyi Lu <weiyi.lu@mediatek.com>,
James Liao <jamesjj.liao@mediatek.com>,
Kees Cook <keescook@chromium.org>, <linux-pm@vger.kernel.org>,
<devicetree@vger.kernel.org>,
<linux-arm-kernel@lists.infradead.org>,
<linux-mediatek@lists.infradead.org>,
<linux-kernel@vger.kernel.org>
Subject: Re: [RFC RESEND PATCH 3/7] soc: mediatek: add support for the performance state
Date: Mon, 7 Jan 2019 19:06:34 +0800 [thread overview]
Message-ID: <1546859194.6818.129.camel@mtksdaap41> (raw)
In-Reply-To: <154655622671.15366.9695869469694306752@swboyd.mtv.corp.google.com>
On Thu, 2019-01-03 at 14:57 -0800, Stephen Boyd wrote:
> Quoting Henry Chen (2019-01-02 06:09:54)
> > @@ -187,6 +190,18 @@ struct scp_soc_data {
> > bool bus_prot_reg_update;
> > };
> >
> > +BLOCKING_NOTIFIER_HEAD(scpsys_notifier_list);
>
> static?
OK
>
> > +
> > +int register_scpsys_notifier(struct notifier_block *nb)
> > +{
> > + return blocking_notifier_chain_register(&scpsys_notifier_list, nb);
> > +}
> > +
> > +int unregister_scpsys_notifier(struct notifier_block *nb)
> > +{
> > + return blocking_notifier_chain_unregister(&scpsys_notifier_list, nb);
> > +}
>
> What is the notifier for?
It used to notifier the DVFSRC driver that performance stat was changed.
>
> > +
> > static int scpsys_domain_is_on(struct scp_domain *scpd)
> > {
> > struct scp *scp = scpd->scp;
> > @@ -536,6 +551,48 @@ static void init_clks(struct platform_device *pdev, struct clk **clk)
> > clk[i] = devm_clk_get(&pdev->dev, clk_names[i]);
> > }
> >
> > +static int mtk_pd_set_performance(struct generic_pm_domain *genpd,
> > + unsigned int state)
> > +{
> > + int i;
> > + struct scp_domain *scpd =
> > + container_of(genpd, struct scp_domain, genpd);
> > + struct scp_event_data scpe;
> > + struct scp *scp = scpd->scp;
> > + struct genpd_onecell_data *pd_data = &scp->pd_data;
> > +
> > + for (i = 0; i < pd_data->num_domains; i++) {
> > + if (genpd == pd_data->domains[i]) {
> > + dev_dbg(scp->dev, "%d. %s = %d\n",
> > + i, genpd->name, state);
> > + break;
> > + }
> > + }
> > +
> > + scpe.event_type = MTK_SCPSYS_PSTATE;
> > + scpe.genpd = genpd;
> > + scpe.domain_id = i;
> > + blocking_notifier_call_chain(&scpsys_notifier_list, state, &scpe);
> > +
> > + return 0;
> > +}
> > +
> > +static unsigned int mtk_pd_get_performance(struct generic_pm_domain *genpd,
> > + struct dev_pm_opp *opp)
> > +{
> > + struct device_node *np;
> > + unsigned int state;
> > +
> > + np = dev_pm_opp_get_of_node(opp);
> > +
> > + if (of_property_read_u32(np, "mtk,level", &state))
> > + return 0;
> > +
> > + of_node_put(np);
>
> The generic API that Rajendra is adding I guess will become even more
> generic by assuming some sort of property like 'opp-level' or
> 'performance-state' that is just some raw number.
ok, I will follow the new property from Rajendra.
> > +
> > + return state;
> > +}
> > +
> > static struct scp *init_scp(struct platform_device *pdev,
> > const struct scp_domain_data *scp_domain_data, int num,
> > const struct scp_ctrl_reg *scp_ctrl_reg,
next prev parent reply other threads:[~2019-01-07 11:06 UTC|newest]
Thread overview: 74+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-02 14:09 [RFC RESEND PATCH 0/7] Add driver for dvfsrc and add support for active state of scpsys on mt8183 Henry Chen
2019-01-02 14:09 ` Henry Chen
2019-01-02 14:09 ` Henry Chen
2019-01-02 14:09 ` [RFC RESEND PATCH 1/7] dt-bindings: soc: Add DVFSRC driver bindings Henry Chen
2019-01-02 14:09 ` Henry Chen
2019-01-02 14:09 ` Henry Chen
2019-01-11 16:09 ` Rob Herring
2019-01-11 16:09 ` Rob Herring
2019-02-18 4:55 ` Henry Chen
2019-02-18 4:55 ` Henry Chen
2019-02-18 4:55 ` Henry Chen
2019-03-20 8:52 ` Nicolas Boichat
2019-03-20 8:52 ` Nicolas Boichat
2019-01-02 14:09 ` [RFC RESEND PATCH 2/7] dt-bindings: soc: Add opp table on scpsys bindings Henry Chen
2019-01-02 14:09 ` Henry Chen
2019-01-02 14:09 ` Henry Chen
2019-01-03 18:45 ` Rob Herring
2019-01-03 18:45 ` Rob Herring
2019-01-07 11:04 ` Henry Chen
2019-01-07 11:04 ` Henry Chen
2019-01-07 11:04 ` Henry Chen
2019-01-02 14:09 ` [RFC RESEND PATCH 3/7] soc: mediatek: add support for the performance state Henry Chen
2019-01-02 14:09 ` Henry Chen
2019-01-02 14:09 ` Henry Chen
2019-01-03 22:57 ` Stephen Boyd
2019-01-03 22:57 ` Stephen Boyd
2019-01-03 22:57 ` Stephen Boyd
2019-01-07 11:06 ` Henry Chen [this message]
2019-01-07 11:06 ` Henry Chen
2019-01-07 11:06 ` Henry Chen
2019-01-02 14:09 ` [RFC RESEND PATCH 4/7] arm64: dts: mt8183: add performance state support of scpsys Henry Chen
2019-01-02 14:09 ` Henry Chen
2019-01-02 14:09 ` Henry Chen
2019-01-03 4:47 ` Viresh Kumar
2019-01-03 4:47 ` Viresh Kumar
2019-01-03 4:47 ` Viresh Kumar
2019-01-03 14:16 ` Henry Chen
2019-01-03 14:16 ` Henry Chen
2019-01-03 14:16 ` Henry Chen
2019-01-02 14:09 ` [RFC RESEND PATCH 5/7] soc: mediatek: add header for mediatek SIP interface Henry Chen
2019-01-02 14:09 ` Henry Chen
2019-01-02 14:09 ` Henry Chen
2019-01-02 14:09 ` [RFC RESEND PATCH 6/7] soc: mediatek: add MT8183 dvfsrc support Henry Chen
2019-01-02 14:09 ` Henry Chen
2019-01-02 14:09 ` Henry Chen
2019-01-03 23:08 ` Stephen Boyd
2019-01-03 23:08 ` Stephen Boyd
2019-01-03 23:08 ` Stephen Boyd
2019-01-07 11:09 ` Henry Chen
2019-01-07 11:09 ` Henry Chen
2019-01-07 11:09 ` Henry Chen
2019-01-10 0:38 ` Stephen Boyd
2019-01-10 0:38 ` Stephen Boyd
2019-01-02 14:09 ` [RFC RESEND PATCH 7/7] arm64: dts: mt8183: add dvfsrc related nodes Henry Chen
2019-01-02 14:09 ` Henry Chen
2019-01-02 14:09 ` Henry Chen
2019-01-03 4:48 ` [RFC RESEND PATCH 0/7] Add driver for dvfsrc and add support for active state of scpsys on mt8183 Viresh Kumar
2019-01-03 4:48 ` Viresh Kumar
2019-01-03 4:48 ` Viresh Kumar
2019-01-03 14:31 ` Henry Chen
2019-01-03 14:31 ` Henry Chen
2019-01-03 14:31 ` Henry Chen
2019-01-03 22:53 ` Stephen Boyd
2019-01-03 22:53 ` Stephen Boyd
2019-01-07 11:04 ` Henry Chen
2019-01-07 11:04 ` Henry Chen
2019-01-07 11:04 ` Henry Chen
2019-01-07 16:34 ` Georgi Djakov
2019-01-07 16:34 ` Georgi Djakov
2019-01-09 3:08 ` Henry Chen
2019-01-09 3:08 ` Henry Chen
2019-01-09 3:08 ` Henry Chen
2019-01-10 9:39 ` Georgi Djakov
2019-01-10 9:39 ` Georgi Djakov
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=1546859194.6818.129.camel@mtksdaap41 \
--to=henryc.chen@mediatek.com \
--cc=devicetree@vger.kernel.org \
--cc=fan.chen@mediatek.com \
--cc=jamesjj.liao@mediatek.com \
--cc=keescook@chromium.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=linux-pm@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=matthias.bgg@gmail.com \
--cc=robh+dt@kernel.org \
--cc=sboyd@kernel.org \
--cc=ulf.hansson@linaro.org \
--cc=vireshk@kernel.org \
--cc=weiyi.lu@mediatek.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.