From: andrew-sh.cheng <andrew-sh.cheng@mediatek.com>
To: Chanwoo Choi <cw00.choi@samsung.com>
Cc: MyungJoo Ham <myungjoo.ham@samsung.com>,
Kyungmin Park <kyungmin.park@samsung.com>,
Rob Herring <robh+dt@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Matthias Brugger <matthias.bgg@gmail.com>,
"Rafael J. Wysocki" <rjw@rjwysocki.net>,
Viresh Kumar <viresh.kumar@linaro.org>,
Nishanth Menon <nm@ti.com>, Stephen Boyd <sboyd@kernel.org>,
Liam Girdwood <lgirdwood@gmail.com>,
Mark Brown <broonie@kernel.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>, <srv_heupstream@mediatek.com>
Subject: Re: [PATCH V8 7/8] devfreq: mediatek: cci devfreq register opp notification for SVS support
Date: Wed, 31 Mar 2021 15:53:27 +0800 [thread overview]
Message-ID: <1617177207.13332.9.camel@mtksdaap41> (raw)
In-Reply-To: <6f1f7bf5-54b0-d3e2-e93c-fa4a837c9222@samsung.com>
On Thu, 2021-03-25 at 17:11 +0900, Chanwoo Choi wrote:
> Hi,
>
> I think that you can squash this patch to patch4.
> On 3/23/21 8:34 PM, Andrew-sh.Cheng wrote:
> > From: "Andrew-sh.Cheng" <andrew-sh.cheng@mediatek.com>
> >
> > SVS will change the voltage of opp item.
>
> What it the full name of SVS?
Due to the content of this patch is for SVS, so I separate it from
patch4.
SVS is Smart-Voltage-Scaling.
It will check the IC quality, and then modify the voltage field of opp
table.
The required voltage will smaller than original signed-off voltage in
opp table.
This voltage will change when temperature is changed.
cci devfreq need to raise voltage when the required voltage raise.
>
> > CCI devfreq need to react to change frequency.
> >
> > Signed-off-by: Andrew-sh.Cheng <andrew-sh.cheng@mediatek.com>
> > ---
> > drivers/devfreq/mt8183-cci-devfreq.c | 27 +++++++++++++++++++++++++++
> > 1 file changed, 27 insertions(+)
> >
> > diff --git a/drivers/devfreq/mt8183-cci-devfreq.c b/drivers/devfreq/mt8183-cci-devfreq.c
> > index 018543db7bae..6942a48f3f4f 100644
> > --- a/drivers/devfreq/mt8183-cci-devfreq.c
> > +++ b/drivers/devfreq/mt8183-cci-devfreq.c
> > @@ -21,6 +21,7 @@ struct cci_devfreq {
> > struct clk *cci_clk;
> > int old_vproc;
> > unsigned long old_freq;
> > + struct notifier_block opp_nb;
> > };
> >
> > static int mtk_cci_set_voltage(struct cci_devfreq *cci_df, int vproc)
> > @@ -89,6 +90,26 @@ static int mtk_cci_devfreq_target(struct device *dev, unsigned long *freq,
> > return 0;
> > }
> >
> > +static int ccidevfreq_opp_notifier(struct notifier_block *nb,
>
> I think that you better to change the function name as following:
> ccidevfreq_opp_notifier -> mtk_cci_devfreq_opp_notifier
I will change it on next patch
>
> > + unsigned long event, void *data)
> > +{
> > + struct dev_pm_opp *opp = data;
> > + struct cci_devfreq *cci_df = container_of(nb, struct cci_devfreq,
> > + opp_nb);
> > + unsigned long freq, volt;
> > +
> > + if (event == OPP_EVENT_ADJUST_VOLTAGE) {
> > + freq = dev_pm_opp_get_freq(opp);
> > + /* current opp item is changed */
> > + if (freq == cci_df->old_freq) {
> > + volt = dev_pm_opp_get_voltage(opp);
> > + mtk_cci_set_voltage(cci_df, volt);
> > + }
> > + }
> > +
> > + return 0;
> > +}
> > +
> > static struct devfreq_dev_profile cci_devfreq_profile = {
> > .target = mtk_cci_devfreq_target,
> > };
> > @@ -98,12 +119,15 @@ static int mtk_cci_devfreq_probe(struct platform_device *pdev)
> > struct device *cci_dev = &pdev->dev;
> > struct cci_devfreq *cci_df;
> > struct devfreq_passive_data *passive_data;
> > + struct notifier_block *opp_nb;
> > int ret;
> >
> > cci_df = devm_kzalloc(cci_dev, sizeof(*cci_df), GFP_KERNEL);
> > if (!cci_df)
> > return -ENOMEM;
> >
> > + opp_nb = &cci_df->opp_nb;
>
> Just move this code at the neighborhood of 'opp_nb->notifier_call' init code.
I will modify it on next patch
>
> > +
> > cci_df->cci_clk = devm_clk_get(cci_dev, "cci_clock");
> > ret = PTR_ERR_OR_ZERO(cci_df->cci_clk);
> > if (ret) {
> > @@ -152,6 +176,9 @@ static int mtk_cci_devfreq_probe(struct platform_device *pdev)
> > goto err_opp;
> > }
> >
> > + opp_nb->notifier_call = ccidevfreq_opp_notifier;
> > + dev_pm_opp_register_notifier(cci_dev, opp_nb);
>
> Need to check whether return value is valid or not.
I will add the check for next patch
>
> > +
> > return 0;
> >
> > err_opp:
> >
>
>
_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek
WARNING: multiple messages have this Message-ID (diff)
From: andrew-sh.cheng <andrew-sh.cheng@mediatek.com>
To: Chanwoo Choi <cw00.choi@samsung.com>
Cc: MyungJoo Ham <myungjoo.ham@samsung.com>,
Kyungmin Park <kyungmin.park@samsung.com>,
Rob Herring <robh+dt@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Matthias Brugger <matthias.bgg@gmail.com>,
"Rafael J. Wysocki" <rjw@rjwysocki.net>,
Viresh Kumar <viresh.kumar@linaro.org>,
Nishanth Menon <nm@ti.com>, Stephen Boyd <sboyd@kernel.org>,
Liam Girdwood <lgirdwood@gmail.com>,
Mark Brown <broonie@kernel.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>, <srv_heupstream@mediatek.com>
Subject: Re: [PATCH V8 7/8] devfreq: mediatek: cci devfreq register opp notification for SVS support
Date: Wed, 31 Mar 2021 15:53:27 +0800 [thread overview]
Message-ID: <1617177207.13332.9.camel@mtksdaap41> (raw)
In-Reply-To: <6f1f7bf5-54b0-d3e2-e93c-fa4a837c9222@samsung.com>
On Thu, 2021-03-25 at 17:11 +0900, Chanwoo Choi wrote:
> Hi,
>
> I think that you can squash this patch to patch4.
> On 3/23/21 8:34 PM, Andrew-sh.Cheng wrote:
> > From: "Andrew-sh.Cheng" <andrew-sh.cheng@mediatek.com>
> >
> > SVS will change the voltage of opp item.
>
> What it the full name of SVS?
Due to the content of this patch is for SVS, so I separate it from
patch4.
SVS is Smart-Voltage-Scaling.
It will check the IC quality, and then modify the voltage field of opp
table.
The required voltage will smaller than original signed-off voltage in
opp table.
This voltage will change when temperature is changed.
cci devfreq need to raise voltage when the required voltage raise.
>
> > CCI devfreq need to react to change frequency.
> >
> > Signed-off-by: Andrew-sh.Cheng <andrew-sh.cheng@mediatek.com>
> > ---
> > drivers/devfreq/mt8183-cci-devfreq.c | 27 +++++++++++++++++++++++++++
> > 1 file changed, 27 insertions(+)
> >
> > diff --git a/drivers/devfreq/mt8183-cci-devfreq.c b/drivers/devfreq/mt8183-cci-devfreq.c
> > index 018543db7bae..6942a48f3f4f 100644
> > --- a/drivers/devfreq/mt8183-cci-devfreq.c
> > +++ b/drivers/devfreq/mt8183-cci-devfreq.c
> > @@ -21,6 +21,7 @@ struct cci_devfreq {
> > struct clk *cci_clk;
> > int old_vproc;
> > unsigned long old_freq;
> > + struct notifier_block opp_nb;
> > };
> >
> > static int mtk_cci_set_voltage(struct cci_devfreq *cci_df, int vproc)
> > @@ -89,6 +90,26 @@ static int mtk_cci_devfreq_target(struct device *dev, unsigned long *freq,
> > return 0;
> > }
> >
> > +static int ccidevfreq_opp_notifier(struct notifier_block *nb,
>
> I think that you better to change the function name as following:
> ccidevfreq_opp_notifier -> mtk_cci_devfreq_opp_notifier
I will change it on next patch
>
> > + unsigned long event, void *data)
> > +{
> > + struct dev_pm_opp *opp = data;
> > + struct cci_devfreq *cci_df = container_of(nb, struct cci_devfreq,
> > + opp_nb);
> > + unsigned long freq, volt;
> > +
> > + if (event == OPP_EVENT_ADJUST_VOLTAGE) {
> > + freq = dev_pm_opp_get_freq(opp);
> > + /* current opp item is changed */
> > + if (freq == cci_df->old_freq) {
> > + volt = dev_pm_opp_get_voltage(opp);
> > + mtk_cci_set_voltage(cci_df, volt);
> > + }
> > + }
> > +
> > + return 0;
> > +}
> > +
> > static struct devfreq_dev_profile cci_devfreq_profile = {
> > .target = mtk_cci_devfreq_target,
> > };
> > @@ -98,12 +119,15 @@ static int mtk_cci_devfreq_probe(struct platform_device *pdev)
> > struct device *cci_dev = &pdev->dev;
> > struct cci_devfreq *cci_df;
> > struct devfreq_passive_data *passive_data;
> > + struct notifier_block *opp_nb;
> > int ret;
> >
> > cci_df = devm_kzalloc(cci_dev, sizeof(*cci_df), GFP_KERNEL);
> > if (!cci_df)
> > return -ENOMEM;
> >
> > + opp_nb = &cci_df->opp_nb;
>
> Just move this code at the neighborhood of 'opp_nb->notifier_call' init code.
I will modify it on next patch
>
> > +
> > cci_df->cci_clk = devm_clk_get(cci_dev, "cci_clock");
> > ret = PTR_ERR_OR_ZERO(cci_df->cci_clk);
> > if (ret) {
> > @@ -152,6 +176,9 @@ static int mtk_cci_devfreq_probe(struct platform_device *pdev)
> > goto err_opp;
> > }
> >
> > + opp_nb->notifier_call = ccidevfreq_opp_notifier;
> > + dev_pm_opp_register_notifier(cci_dev, opp_nb);
>
> Need to check whether return value is valid or not.
I will add the check for next patch
>
> > +
> > return 0;
> >
> > err_opp:
> >
>
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2021-03-31 7:53 UTC|newest]
Thread overview: 76+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-23 11:33 [PATCH V8 0/8] Add cpufreq and cci devfreq for mt8183, and SVS support Andrew-sh.Cheng
2021-03-23 11:33 ` Andrew-sh.Cheng
2021-03-23 11:33 ` [PATCH V8 1/8] PM / devfreq: Add cpu based scaling support to passive_governor Andrew-sh.Cheng
2021-03-23 11:33 ` Andrew-sh.Cheng
2021-03-25 7:42 ` Chanwoo Choi
2021-03-25 7:42 ` Chanwoo Choi
2021-03-25 7:42 ` Chanwoo Choi
2021-03-25 8:14 ` Chanwoo Choi
2021-03-25 8:14 ` Chanwoo Choi
2021-03-25 8:14 ` Chanwoo Choi
2021-03-31 8:03 ` andrew-sh.cheng
2021-03-31 8:03 ` andrew-sh.cheng
2021-03-31 8:27 ` Chanwoo Choi
2021-03-31 8:27 ` Chanwoo Choi
2021-03-31 8:27 ` Chanwoo Choi
2021-03-31 8:35 ` Chanwoo Choi
2021-03-31 8:35 ` Chanwoo Choi
2021-03-31 8:35 ` Chanwoo Choi
2021-03-31 13:03 ` andrew-sh.cheng
2021-03-31 13:03 ` andrew-sh.cheng
2021-04-01 0:16 ` Chanwoo Choi
2021-04-01 0:16 ` Chanwoo Choi
2021-04-01 0:16 ` Chanwoo Choi
2021-04-08 2:47 ` Chanwoo Choi
2021-04-08 2:47 ` Chanwoo Choi
2021-04-08 2:47 ` Chanwoo Choi
2021-04-22 13:34 ` andrew-sh.cheng
2021-04-22 13:34 ` andrew-sh.cheng
2021-05-26 2:22 ` andrew-sh.cheng
2021-05-26 2:22 ` andrew-sh.cheng
2021-05-26 3:08 ` Chanwoo Choi
2021-05-26 3:08 ` Chanwoo Choi
2021-05-26 3:08 ` Chanwoo Choi
2021-05-31 3:22 ` andrew-sh.cheng
2021-05-31 3:22 ` andrew-sh.cheng
2021-05-31 7:56 ` Chanwoo Choi
2021-05-31 7:56 ` Chanwoo Choi
2021-05-31 7:56 ` Chanwoo Choi
[not found] ` <CACb=7PUkpMkDOJ6dDHXhJ5ep4e9u8ZVYM8M2iC-iwHXn13t3DQ@mail.gmail.com>
2021-05-31 8:13 ` Chanwoo Choi
2021-05-31 8:13 ` Chanwoo Choi
2021-05-31 8:13 ` Chanwoo Choi
2021-03-31 10:46 ` Hsin-Yi Wang
2021-03-31 10:46 ` Hsin-Yi Wang
2021-03-31 10:46 ` Hsin-Yi Wang
2021-03-23 11:33 ` [PATCH V8 2/8] cpufreq: mediatek: Enable clock and regulator Andrew-sh.Cheng
2021-03-23 11:33 ` Andrew-sh.Cheng
2021-03-30 4:36 ` Viresh Kumar
2021-03-30 4:36 ` Viresh Kumar
2021-03-30 4:36 ` Viresh Kumar
2021-03-31 5:21 ` andrew-sh.cheng
2021-03-31 5:21 ` andrew-sh.cheng
2021-03-31 6:17 ` Viresh Kumar
2021-03-31 6:17 ` Viresh Kumar
2021-03-31 6:17 ` Viresh Kumar
2021-03-23 11:33 ` [PATCH V8 3/8] dt-bindings: devfreq: add compatible for mt8183 cci devfreq Andrew-sh.Cheng
2021-03-23 11:33 ` Andrew-sh.Cheng
2021-03-23 11:33 ` [PATCH V8 4/8] devfreq: add mediatek " Andrew-sh.Cheng
2021-03-23 11:33 ` Andrew-sh.Cheng
2021-03-25 8:04 ` Chanwoo Choi
2021-03-25 8:04 ` Chanwoo Choi
2021-03-25 8:04 ` Chanwoo Choi
2021-03-31 6:21 ` andrew-sh.cheng
2021-03-31 6:21 ` andrew-sh.cheng
2021-03-23 11:33 ` [PATCH V8 5/8] cpufreq: mediatek: Add record of previous desired vproc value Andrew-sh.Cheng
2021-03-23 11:33 ` Andrew-sh.Cheng
2021-03-23 11:33 ` [PATCH V8 6/8] cpufreq: mediatek: add opp notification for SVS support Andrew-sh.Cheng
2021-03-23 11:33 ` Andrew-sh.Cheng
2021-03-23 11:34 ` [PATCH V8 7/8] devfreq: mediatek: cci devfreq register " Andrew-sh.Cheng
2021-03-23 11:34 ` Andrew-sh.Cheng
2021-03-25 8:11 ` Chanwoo Choi
2021-03-25 8:11 ` Chanwoo Choi
2021-03-25 8:11 ` Chanwoo Choi
2021-03-31 7:53 ` andrew-sh.cheng [this message]
2021-03-31 7:53 ` andrew-sh.cheng
2021-03-23 11:34 ` [PATCH V8 8/8] arm64: dts: mediatek: add cpufreq and cci devfreq nodes for mt8183 Andrew-sh.Cheng
2021-03-23 11:34 ` Andrew-sh.Cheng
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=1617177207.13332.9.camel@mtksdaap41 \
--to=andrew-sh.cheng@mediatek.com \
--cc=broonie@kernel.org \
--cc=cw00.choi@samsung.com \
--cc=devicetree@vger.kernel.org \
--cc=kyungmin.park@samsung.com \
--cc=lgirdwood@gmail.com \
--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=myungjoo.ham@samsung.com \
--cc=nm@ti.com \
--cc=rjw@rjwysocki.net \
--cc=robh+dt@kernel.org \
--cc=sboyd@kernel.org \
--cc=srv_heupstream@mediatek.com \
--cc=viresh.kumar@linaro.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 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.