Message ID | 1480663087-4590-4-git-send-email-cw00.choi@samsung.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Fri, Dec 02, 2016 at 04:18:05PM +0900, Chanwoo Choi wrote: > This patch adds PPMU (Platform Performance Monitoring Unit) Device-tree node > to measure the utilization of each IP in Exynos SoC. > > - PPMU_D{0|1}_CPU are used to measure the utilization of MIF (Memory Interface) > block with VDD_MIF power source. > - PPMU_D{0|1}_GENERAL are used to measure the utilization of INT(Internal) > block with VDD_INT power source. > > Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> > --- > arch/arm64/boot/dts/exynos/exynos5433.dtsi | 24 ++++++++++++++++++++++++ > 1 file changed, 24 insertions(+) > > diff --git a/arch/arm64/boot/dts/exynos/exynos5433.dtsi b/arch/arm64/boot/dts/exynos/exynos5433.dtsi > index 64226d5ae471..8c4ee84d5232 100644 > --- a/arch/arm64/boot/dts/exynos/exynos5433.dtsi > +++ b/arch/arm64/boot/dts/exynos/exynos5433.dtsi > @@ -599,6 +599,30 @@ > clock-names = "fin_pll", "mct"; > }; > > + ppmu_d0_cpu: ppmu@10480000 { > + compatible = "samsung,exynos-ppmu-v2"; > + reg = <0x10480000 0x2000>; > + status = "disabled"; Why these are disabled? They have some external dependencies? Best regards, Krzysztof > + }; > + > + ppmu_d0_general: ppmu@10490000 { > + compatible = "samsung,exynos-ppmu-v2"; > + reg = <0x10490000 0x2000>; > + status = "disabled"; > + }; > + > + ppmu_d1_cpu: ppmu@104b0000 { > + compatible = "samsung,exynos-ppmu-v2"; > + reg = <0x104b0000 0x2000>; > + status = "disabled"; > + }; > + > + ppmu_d1_general: ppmu@104c0000 { > + compatible = "samsung,exynos-ppmu-v2"; > + reg = <0x104c0000 0x2000>; > + status = "disabled"; > + }; > + > pinctrl_alive: pinctrl@10580000 { > compatible = "samsung,exynos5433-pinctrl"; > reg = <0x10580000 0x1a20>, <0x11090000 0x100>; > -- > 1.9.1 >
On 2016년 12월 07일 04:07, Krzysztof Kozlowski wrote: > On Fri, Dec 02, 2016 at 04:18:05PM +0900, Chanwoo Choi wrote: >> This patch adds PPMU (Platform Performance Monitoring Unit) Device-tree node >> to measure the utilization of each IP in Exynos SoC. >> >> - PPMU_D{0|1}_CPU are used to measure the utilization of MIF (Memory Interface) >> block with VDD_MIF power source. >> - PPMU_D{0|1}_GENERAL are used to measure the utilization of INT(Internal) >> block with VDD_INT power source. >> >> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> >> --- >> arch/arm64/boot/dts/exynos/exynos5433.dtsi | 24 ++++++++++++++++++++++++ >> 1 file changed, 24 insertions(+) >> >> diff --git a/arch/arm64/boot/dts/exynos/exynos5433.dtsi b/arch/arm64/boot/dts/exynos/exynos5433.dtsi >> index 64226d5ae471..8c4ee84d5232 100644 >> --- a/arch/arm64/boot/dts/exynos/exynos5433.dtsi >> +++ b/arch/arm64/boot/dts/exynos/exynos5433.dtsi >> @@ -599,6 +599,30 @@ >> clock-names = "fin_pll", "mct"; >> }; >> >> + ppmu_d0_cpu: ppmu@10480000 { >> + compatible = "samsung,exynos-ppmu-v2"; >> + reg = <0x10480000 0x2000>; >> + status = "disabled"; > > Why these are disabled? They have some external dependencies? There is no any dependency. If you want to remain it always enabled, I'm OK. Best Regards, Chanwoo Choi > > Best regards, > Krzysztof > >> + }; >> + >> + ppmu_d0_general: ppmu@10490000 { >> + compatible = "samsung,exynos-ppmu-v2"; >> + reg = <0x10490000 0x2000>; >> + status = "disabled"; >> + }; >> + >> + ppmu_d1_cpu: ppmu@104b0000 { >> + compatible = "samsung,exynos-ppmu-v2"; >> + reg = <0x104b0000 0x2000>; >> + status = "disabled"; >> + }; >> + >> + ppmu_d1_general: ppmu@104c0000 { >> + compatible = "samsung,exynos-ppmu-v2"; >> + reg = <0x104c0000 0x2000>; >> + status = "disabled"; >> + }; >> + >> pinctrl_alive: pinctrl@10580000 { >> compatible = "samsung,exynos5433-pinctrl"; >> reg = <0x10580000 0x1a20>, <0x11090000 0x100>; >> -- >> 1.9.1 >> > > >
On 2016년 12월 07일 13:12, Chanwoo Choi wrote: > On 2016년 12월 07일 04:07, Krzysztof Kozlowski wrote: >> On Fri, Dec 02, 2016 at 04:18:05PM +0900, Chanwoo Choi wrote: >>> This patch adds PPMU (Platform Performance Monitoring Unit) Device-tree node >>> to measure the utilization of each IP in Exynos SoC. >>> >>> - PPMU_D{0|1}_CPU are used to measure the utilization of MIF (Memory Interface) >>> block with VDD_MIF power source. >>> - PPMU_D{0|1}_GENERAL are used to measure the utilization of INT(Internal) >>> block with VDD_INT power source. >>> >>> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> >>> --- >>> arch/arm64/boot/dts/exynos/exynos5433.dtsi | 24 ++++++++++++++++++++++++ >>> 1 file changed, 24 insertions(+) >>> >>> diff --git a/arch/arm64/boot/dts/exynos/exynos5433.dtsi b/arch/arm64/boot/dts/exynos/exynos5433.dtsi >>> index 64226d5ae471..8c4ee84d5232 100644 >>> --- a/arch/arm64/boot/dts/exynos/exynos5433.dtsi >>> +++ b/arch/arm64/boot/dts/exynos/exynos5433.dtsi >>> @@ -599,6 +599,30 @@ >>> clock-names = "fin_pll", "mct"; >>> }; >>> >>> + ppmu_d0_cpu: ppmu@10480000 { >>> + compatible = "samsung,exynos-ppmu-v2"; >>> + reg = <0x10480000 0x2000>; >>> + status = "disabled"; >> >> Why these are disabled? They have some external dependencies? > > There is no any dependency. If you want to remain it always enabled, > I'm OK. One more comment. Each PPMU has the four events which is used for devfreq driver to get the utilization. If I remove the 'status = "disabled"' from exynos5433.dtsi, first probe of PPMU device is fail on case1. Case1. Disable PPMU device and then enable it on exynos5433-tm2.dts [ 2.560126] exynos-ppmu: new PPMU device registered 10490000.ppmu (ppmu-event0-d0-general) [ 2.565957] exynos-ppmu: new PPMU device registered 104c0000.ppmu (ppmu-event0-d1-general) Case2. Enable PPMU device always. First probe is failed and then second probe is successful. [ 2.898781] exynos-ppmu 10480000.ppmu: failed to get child node of devfreq-event devices [ 2.899077] exynos-ppmu 10480000.ppmu: failed to parse exynos ppmu dt node [ 2.899289] exynos-ppmu 10480000.ppmu: failed to parse devicetree for resource [ 2.899602] exynos-ppmu: probe of 10480000.ppmu failed with error -22 [ 2.905364] exynos-ppmu: new PPMU device registered 10490000.ppmu (ppmu-event0-d0-general) [ 2.913535] exynos-ppmu 104b0000.ppmu: failed to get child node of devfreq-event devices [ 2.921402] exynos-ppmu 104b0000.ppmu: failed to parse exynos ppmu dt node [ 2.928250] exynos-ppmu 104b0000.ppmu: failed to parse devicetree for resource [ 2.935571] exynos-ppmu: probe of 104b0000.ppmu failed with error -22 [ 2.942144] exynos-ppmu: new PPMU device registered 104c0000.ppmu (ppmu-event0-d1-general) Best Regards, Chanwoo Choi [snip]
On Wed, Dec 7, 2016 at 7:54 AM, Chanwoo Choi <cw00.choi@samsung.com> wrote: > On 2016년 12월 07일 13:12, Chanwoo Choi wrote: >> On 2016년 12월 07일 04:07, Krzysztof Kozlowski wrote: >>> On Fri, Dec 02, 2016 at 04:18:05PM +0900, Chanwoo Choi wrote: >>>> This patch adds PPMU (Platform Performance Monitoring Unit) Device-tree node >>>> to measure the utilization of each IP in Exynos SoC. >>>> >>>> - PPMU_D{0|1}_CPU are used to measure the utilization of MIF (Memory Interface) >>>> block with VDD_MIF power source. >>>> - PPMU_D{0|1}_GENERAL are used to measure the utilization of INT(Internal) >>>> block with VDD_INT power source. >>>> >>>> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> >>>> --- >>>> arch/arm64/boot/dts/exynos/exynos5433.dtsi | 24 ++++++++++++++++++++++++ >>>> 1 file changed, 24 insertions(+) >>>> >>>> diff --git a/arch/arm64/boot/dts/exynos/exynos5433.dtsi b/arch/arm64/boot/dts/exynos/exynos5433.dtsi >>>> index 64226d5ae471..8c4ee84d5232 100644 >>>> --- a/arch/arm64/boot/dts/exynos/exynos5433.dtsi >>>> +++ b/arch/arm64/boot/dts/exynos/exynos5433.dtsi >>>> @@ -599,6 +599,30 @@ >>>> clock-names = "fin_pll", "mct"; >>>> }; >>>> >>>> + ppmu_d0_cpu: ppmu@10480000 { >>>> + compatible = "samsung,exynos-ppmu-v2"; >>>> + reg = <0x10480000 0x2000>; >>>> + status = "disabled"; >>> >>> Why these are disabled? They have some external dependencies? >> >> There is no any dependency. If you want to remain it always enabled, >> I'm OK. > > One more comment. Each PPMU has the four events which is used for devfreq driver > to get the utilization. If I remove the 'status = "disabled"' from exynos5433.dtsi, > first probe of PPMU device is fail on case1. > > Case1. Disable PPMU device and then enable it on exynos5433-tm2.dts > [ 2.560126] exynos-ppmu: new PPMU device registered 10490000.ppmu (ppmu-event0-d0-general) > [ 2.565957] exynos-ppmu: new PPMU device registered 104c0000.ppmu (ppmu-event0-d1-general) > > Case2. Enable PPMU device always. First probe is failed and then second probe is successful. > [ 2.898781] exynos-ppmu 10480000.ppmu: failed to get child node of devfreq-event devices > [ 2.899077] exynos-ppmu 10480000.ppmu: failed to parse exynos ppmu dt node > [ 2.899289] exynos-ppmu 10480000.ppmu: failed to parse devicetree for resource > [ 2.899602] exynos-ppmu: probe of 10480000.ppmu failed with error -22 > [ 2.905364] exynos-ppmu: new PPMU device registered 10490000.ppmu (ppmu-event0-d0-general) > [ 2.913535] exynos-ppmu 104b0000.ppmu: failed to get child node of devfreq-event devices > [ 2.921402] exynos-ppmu 104b0000.ppmu: failed to parse exynos ppmu dt node > [ 2.928250] exynos-ppmu 104b0000.ppmu: failed to parse devicetree for resource > [ 2.935571] exynos-ppmu: probe of 104b0000.ppmu failed with error -22 > [ 2.942144] exynos-ppmu: new PPMU device registered 104c0000.ppmu (ppmu-event0-d1-general) I got it, so leaving it as disabled makes sense. For the reference: Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org> Best regards, Krzysztof
diff --git a/arch/arm64/boot/dts/exynos/exynos5433.dtsi b/arch/arm64/boot/dts/exynos/exynos5433.dtsi index 64226d5ae471..8c4ee84d5232 100644 --- a/arch/arm64/boot/dts/exynos/exynos5433.dtsi +++ b/arch/arm64/boot/dts/exynos/exynos5433.dtsi @@ -599,6 +599,30 @@ clock-names = "fin_pll", "mct"; }; + ppmu_d0_cpu: ppmu@10480000 { + compatible = "samsung,exynos-ppmu-v2"; + reg = <0x10480000 0x2000>; + status = "disabled"; + }; + + ppmu_d0_general: ppmu@10490000 { + compatible = "samsung,exynos-ppmu-v2"; + reg = <0x10490000 0x2000>; + status = "disabled"; + }; + + ppmu_d1_cpu: ppmu@104b0000 { + compatible = "samsung,exynos-ppmu-v2"; + reg = <0x104b0000 0x2000>; + status = "disabled"; + }; + + ppmu_d1_general: ppmu@104c0000 { + compatible = "samsung,exynos-ppmu-v2"; + reg = <0x104c0000 0x2000>; + status = "disabled"; + }; + pinctrl_alive: pinctrl@10580000 { compatible = "samsung,exynos5433-pinctrl"; reg = <0x10580000 0x1a20>, <0x11090000 0x100>;
This patch adds PPMU (Platform Performance Monitoring Unit) Device-tree node to measure the utilization of each IP in Exynos SoC. - PPMU_D{0|1}_CPU are used to measure the utilization of MIF (Memory Interface) block with VDD_MIF power source. - PPMU_D{0|1}_GENERAL are used to measure the utilization of INT(Internal) block with VDD_INT power source. Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> --- arch/arm64/boot/dts/exynos/exynos5433.dtsi | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+)