* Re: [PATCHv7 05/10] devfreq: event: Add documentation for exynos-ppmu devfreq-event driver
@ 2015-01-12 8:11 MyungJoo Ham
2015-01-12 8:38 ` Chanwoo Choi
0 siblings, 1 reply; 3+ messages in thread
From: MyungJoo Ham @ 2015-01-12 8:11 UTC (permalink / raw)
To: 최찬우, kgene@kernel.org
Cc: 박경민, rafael.j.wysocki@intel.com,
mark.rutland@arm.com, ABHILASH KESAVAN, tomasz.figa@gmail.com,
Krzysztof Kozlowski, Bartlomiej Zolnierkiewicz,
robh+dt@kernel.org, 대인기,
linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-samsung-soc@vger.kernel.org
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=utf-8, Size: 2559 bytes --]
I have rephrased part of the documentation for better readability.
Some semantics is guessed so you may need to re-rephrase.
Other than that, Acked-by: MyungJoo Ham <myungjoo.ham@samsung.com>
> This patch adds the documentation for Exynos PPMU (Platform Performance
> Monitoring Unit) devfreq-event driver.
>
> Cc: MyungJoo Ham <myungjoo.ham@samsung.com>
> Cc: Kyungmin Park <kyungmin.park@samsung.com>
> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
> ---
> .../bindings/devfreq/event/exynos-ppmu.txt | 110 +++++++++++++++++++++
> 1 file changed, 110 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/devfreq/event/exynos-ppmu.txt
>
> diff --git a/Documentation/devicetree/bindings/devfreq/event/exynos-ppmu.txt b/Documentation/devicetree/bindings/devfreq/event/exynos-ppmu.txt
> new file mode 100644
> index 0000000..e665d30
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/devfreq/event/exynos-ppmu.txt
> @@ -0,0 +1,110 @@
> +
> +* Samsung Exynos PPMU (Performance Profiling Monitoring Unit) device
> +
> +The Samsung Exynos SoC have PPMU (Performance Profiling Monitoring Unit) for
The Samsung Exynos SoC has PPMU (Performance Profiling Monitoring Unit) for
(have->has)
> +each IPs. PPMU provides the primitive values to get performance data. These
each IP. PPMU provides primitive values to get performance data.
(IPs->IP)
> +events provide useful information about the behavior of the SoC that you can
PPMU events provide information of the SoC's behaviors so that you may
> +use when analyzing system performance, and made visible and can be counted
use to analyze system performance, to make behaviors visible, and to count
> +using login in each IP (DMC, CPU, RIGHTBUS, LEFTBUS, CAM interface, LCD, G3D,
usages of each IP ( .... )
> +MFC). The Exynos PPMU driver use the devfreq-event class to provide event data
use -> uses
> +to various devfreq device. The devfreq device would use the event data when
device -> devices
> +derterming the current state of each IP.
> +
> +Required properties:
> +- compatible: Should be "samsung,exynos-ppmu".
> +- reg: physical base address of each PPMU and length of memory mapped region.
> +
> +Optional properties:
> +- clock-names : the name of clock used by the PPMU, "ppmu"
> +- clocks : phandles for clock specified in "clock-names" property
> +- #clock-cells: should be 1.
> +
[]
ÿôèº{.nÇ+·®+%Ëÿ±éݶ\x17¥wÿº{.nÇ+·¥{±þG«éÿ{ayº\x1dÊÚë,j\a¢f£¢·hïêÿêçz_è®\x03(éÝ¢j"ú\x1a¶^[m§ÿÿ¾\a«þG«éÿ¢¸?¨èÚ&£ø§~á¶iOæ¬z·vØ^\x14\x04\x1a¶^[m§ÿÿÃ\fÿ¶ìÿ¢¸?I¥
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [PATCHv7 05/10] devfreq: event: Add documentation for exynos-ppmu devfreq-event driver
2015-01-12 8:11 [PATCHv7 05/10] devfreq: event: Add documentation for exynos-ppmu devfreq-event driver MyungJoo Ham
@ 2015-01-12 8:38 ` Chanwoo Choi
0 siblings, 0 replies; 3+ messages in thread
From: Chanwoo Choi @ 2015-01-12 8:38 UTC (permalink / raw)
To: myungjoo.ham
Cc: kgene@kernel.org, 박경민,
rafael.j.wysocki@intel.com, mark.rutland@arm.com,
ABHILASH KESAVAN, tomasz.figa@gmail.com, Krzysztof Kozlowski,
Bartlomiej Zolnierkiewicz, robh+dt@kernel.org,
대인기, linux-pm@vger.kernel.org,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-samsung-soc@vger.kernel.org
Dear Myungjoo,
On 01/12/2015 05:11 PM, MyungJoo Ham wrote:
>
> I have rephrased part of the documentation for better readability.
> Some semantics is guessed so you may need to re-rephrase.
>
> Other than that, Acked-by: MyungJoo Ham <myungjoo.ham@samsung.com>
OK, I'll fix them according to your below comment.
Best Regards,
Chanwoo Choi
>
>
>> This patch adds the documentation for Exynos PPMU (Platform Performance
>> Monitoring Unit) devfreq-event driver.
>>
>> Cc: MyungJoo Ham <myungjoo.ham@samsung.com>
>> Cc: Kyungmin Park <kyungmin.park@samsung.com>
>> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
>> ---
>> .../bindings/devfreq/event/exynos-ppmu.txt | 110 +++++++++++++++++++++
>> 1 file changed, 110 insertions(+)
>> create mode 100644 Documentation/devicetree/bindings/devfreq/event/exynos-ppmu.txt
>>
>> diff --git a/Documentation/devicetree/bindings/devfreq/event/exynos-ppmu.txt b/Documentation/devicetree/bindings/devfreq/event/exynos-ppmu.txt
>> new file mode 100644
>> index 0000000..e665d30
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/devfreq/event/exynos-ppmu.txt
>> @@ -0,0 +1,110 @@
>> +
>> +* Samsung Exynos PPMU (Performance Profiling Monitoring Unit) device
>> +
>> +The Samsung Exynos SoC have PPMU (Performance Profiling Monitoring Unit) for
>
> The Samsung Exynos SoC has PPMU (Performance Profiling Monitoring Unit) for
> (have->has)
>
>> +each IPs. PPMU provides the primitive values to get performance data. These
>
> each IP. PPMU provides primitive values to get performance data.
> (IPs->IP)
>
>> +events provide useful information about the behavior of the SoC that you can
>
> PPMU events provide information of the SoC's behaviors so that you may
>
>> +use when analyzing system performance, and made visible and can be counted
>
> use to analyze system performance, to make behaviors visible, and to count
>
>> +using login in each IP (DMC, CPU, RIGHTBUS, LEFTBUS, CAM interface, LCD, G3D,
>
> usages of each IP ( .... )
>
>> +MFC). The Exynos PPMU driver use the devfreq-event class to provide event data
>
> use -> uses
>
>> +to various devfreq device. The devfreq device would use the event data when
>
> device -> devices
>
>> +derterming the current state of each IP.
>> +
>> +Required properties:
>> +- compatible: Should be "samsung,exynos-ppmu".
>> +- reg: physical base address of each PPMU and length of memory mapped region.
>> +
>> +Optional properties:
>> +- clock-names : the name of clock used by the PPMU, "ppmu"
>> +- clocks : phandles for clock specified in "clock-names" property
>> +- #clock-cells: should be 1.
>> +
>
> []
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCHv7 00/10] devfreq: Add devfreq-event class to provide raw data for devfreq device
@ 2015-01-07 23:51 Chanwoo Choi
2015-01-07 23:51 ` [PATCHv7 05/10] devfreq: event: Add documentation for exynos-ppmu devfreq-event driver Chanwoo Choi
0 siblings, 1 reply; 3+ messages in thread
From: Chanwoo Choi @ 2015-01-07 23:51 UTC (permalink / raw)
To: myungjoo.ham, kgene
Cc: kyungmin.park, rafael.j.wysocki, mark.rutland, a.kesavan,
tomasz.figa, k.kozlowski, b.zolnierkie, robh+dt, cw00.choi,
inki.dae, linux-pm, linux-kernel, linux-arm-kernel,
linux-samsung-soc
This patchset add new devfreq_event class to provide raw data to determine
current utilization of device which is used for devfreq governor.
The following description explains the feature of two kind of devfreq class:
- devfreq class (existing)
: devfreq consumer device use raw data from devfreq_event device for
determining proper current system state and change voltage/frequency
dynamically using various governors.
- devfreq_event class (new)
: Provide measured raw data to devfreq device for governor
---------------
Changes from v6:
- This patchset is based on v3.19-rc3.
1. devfreq-event class driver
- Fix build break if devfreq-event framework is off
- Add resource-managed function for devfreq-event device
: devm_devfreq_event_add_edev()
: devm_devfreq_event_remove_edev()
Changes from v5:
- Rebase these patch-set on v3.19-rc1 and Test it.
1. exynos-ppmu.c
- Change the error value when of_iomap() fail to map the memory
- Remove owner setting of platform_driver
- Add exynos_ppmu_disable() function
2. exynos dts file
- Add PPMU node to Exynos3250-based Monk board
- Remove ppmu_cpu node on Exynos4412-based TRATS2 board and add ppmu_leftbus/rightbus node
Changes from v4:
1. devfreq-event class driver
- Add devfreq_event_get_edev_count() function
- Modify the simple description of devfreq-event framework in devfreq-event.c
- Minimize the usage range of global lock usage in devfreq_event_add_edev()
- Remove '_is_enabled()' function pointer in devfreq_event_ops structure
- Add separte CONFIG_PM_DEVFREQ_EVENT configuration
- Add new devfreq-event.h header file including devfreq-event helper functions
2. exynos dts file
- Add new patch to support PPMU with DEVFREQ-event on Exynos4412-based TRATS2
Changes from v3:
1. devfreq-event class driver
- Fix return value of devfreq_event_get_event()
- Add new structure devfreq_event_data for devfreq_event_get_event()
- Modify the prototype of devfreq_event_get_event() function
- Call of_node_put after calling of_parse_phandle() to decrement refcount
2. exynos-ppmu driver
- Modify usage of devfreq_event_get_event() function
according to new prototype of this funciton
- Add the additional description to exynos-ppmu.txt how to add PPMU node
in board dts file
- Use 'PPMU_EVENT' macro to remove duplicate codes
- Add the support of PPMU for Exynos5260
3. exynos dts file
- Add missing PPMU_FSYS node to exynos3250.dtsi
- Fix 'ppmu_mfc_l' node name as 'ppmu_mfc' because exynos3250 has only one MFC IP.
- Add missing PPMU_ACP/G3D to exynos4.dtsi
4. etc
- Fix wrong abbreviation of PPMU (PPMU :Platform Performance Monitoring Unit)
- Add new patch to support the PPMU of Exynos5260 SoC
Changes from v2:
1. devfreq-event class driver
- Rename all the helper functions of devfreq-event device
- Add devfreq_event_remove_edev() instead of devfreq_put_event_dev()
- Add devfreq_event_release_edev() to initialize it before put device
- Add the detailed description of devfreq-event API
- Add the attributes of devfreq-event class (enable_count)
- Check the overflow about event/total_event data in devfreq_event_get_event()
- Remove the 'exclusive flag' feature
- Set set_event()/get_event() functions as mandary
- Add missing of_node_put() call
- Change variable type of 'get_event()' funciton from 'int' to 'u64'
2. exynos-ppmu driver
- Remove un-used field (struct devfreq)
- Use 'of_get_child_by_name()' instead of 'of_find_node_by_name()'
- Add missing of_node_put() call
- Fix wrong clock control
- Use devfreq_event_remove_edev() instead of devfreq_remove_device()
- Add the documentation for exynos-ppmu driver
- Remove 'enable/disable/is_enabled/reset' function of exynos-ppmu driver
3. exynos3250-rinato.dts
- Add ppmu_{leftbus|rightbus} dt node and remove ppmu_cpu dt node
Changes from v1:
- Code clean
- Add the description of devfreq-event structure
- Add 'is_enabled' function to devfreq_event_ops structure
- Add 'enable_count' field to devfreq_event_dev structure
- Check whether devfreq-event device is enabled or not
during calling devfreq_event API
- Define the type of devfreq-event device as following
: DEVFREQ_EVENT_TYPE_RAW_DATA
: DEVFREQ_EVENT_TYPE_UTILIZATION
: DEVFREQ_EVENT_TYPE_BANDWIDTH
: DEVFREQ_EVENT_TYPE_LATENCY
- Add the exclusive feature of devfreq-event device.
If devfreq-event device is used on only on devfreq driver,
should used 'devfreq_enable_event_dev_exclusive()' function
- Add new patch6 for test on Exynos3250-based Rinato board
Chanwoo Choi (10):
devfreq: event: Add new devfreq_event class to provide basic data for devfreq governor
devfreq: event: Add the list of supported devfreq-event type
devfreq: event: Add resource-managed function for devfreq-event device
devfreq: event: Add exynos-ppmu devfreq-event driver
devfreq: event: Add documentation for exynos-ppmu devfreq-event driver
ARM: dts: Add PPMU dt node for Exynos3250 SoC
ARM: dts: Add PPMU dt node for Exynos4 SoCs
ARM: dts: Add PPMU dt node for Exynos5260 SoC
ARM: dts: exynos: Add PPMU node to Exynos3250-based Rinato/Monk board
ARM: dts: exynos: Add PPMU node for Exynos4412-based TRATS2 board
.../bindings/devfreq/event/exynos-ppmu.txt | 110 ++++
arch/arm/boot/dts/exynos3250-monk.dts | 40 ++
arch/arm/boot/dts/exynos3250-rinato.dts | 40 ++
arch/arm/boot/dts/exynos3250.dtsi | 74 +++
arch/arm/boot/dts/exynos4.dtsi | 108 ++++
arch/arm/boot/dts/exynos4210.dtsi | 8 +
arch/arm/boot/dts/exynos4412-trats2.dts | 40 ++
arch/arm/boot/dts/exynos5260.dtsi | 90 ++++
drivers/devfreq/Kconfig | 2 +
drivers/devfreq/Makefile | 6 +-
drivers/devfreq/devfreq-event.c | 573 +++++++++++++++++++++
drivers/devfreq/event/Kconfig | 25 +
drivers/devfreq/event/Makefile | 2 +
drivers/devfreq/event/exynos-ppmu.c | 399 ++++++++++++++
include/linux/devfreq-event.h | 205 ++++++++
15 files changed, 1721 insertions(+), 1 deletion(-)
create mode 100644 Documentation/devicetree/bindings/devfreq/event/exynos-ppmu.txt
create mode 100644 drivers/devfreq/devfreq-event.c
create mode 100644 drivers/devfreq/event/Kconfig
create mode 100644 drivers/devfreq/event/Makefile
create mode 100644 drivers/devfreq/event/exynos-ppmu.c
create mode 100644 include/linux/devfreq-event.h
--
1.8.5.5
^ permalink raw reply [flat|nested] 3+ messages in thread* [PATCHv7 05/10] devfreq: event: Add documentation for exynos-ppmu devfreq-event driver
2015-01-07 23:51 [PATCHv7 00/10] devfreq: Add devfreq-event class to provide raw data for devfreq device Chanwoo Choi
@ 2015-01-07 23:51 ` Chanwoo Choi
0 siblings, 0 replies; 3+ messages in thread
From: Chanwoo Choi @ 2015-01-07 23:51 UTC (permalink / raw)
To: myungjoo.ham, kgene
Cc: kyungmin.park, rafael.j.wysocki, mark.rutland, a.kesavan,
tomasz.figa, k.kozlowski, b.zolnierkie, robh+dt, cw00.choi,
inki.dae, linux-pm, linux-kernel, linux-arm-kernel,
linux-samsung-soc
This patch adds the documentation for Exynos PPMU (Platform Performance
Monitoring Unit) devfreq-event driver.
Cc: MyungJoo Ham <myungjoo.ham@samsung.com>
Cc: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
---
.../bindings/devfreq/event/exynos-ppmu.txt | 110 +++++++++++++++++++++
1 file changed, 110 insertions(+)
create mode 100644 Documentation/devicetree/bindings/devfreq/event/exynos-ppmu.txt
diff --git a/Documentation/devicetree/bindings/devfreq/event/exynos-ppmu.txt b/Documentation/devicetree/bindings/devfreq/event/exynos-ppmu.txt
new file mode 100644
index 0000000..e665d30
--- /dev/null
+++ b/Documentation/devicetree/bindings/devfreq/event/exynos-ppmu.txt
@@ -0,0 +1,110 @@
+
+* Samsung Exynos PPMU (Performance Profiling Monitoring Unit) device
+
+The Samsung Exynos SoC have PPMU (Performance Profiling Monitoring Unit) for
+each IPs. PPMU provides the primitive values to get performance data. These
+events provide useful information about the behavior of the SoC that you can
+use when analyzing system performance, and made visible and can be counted
+using login in each IP (DMC, CPU, RIGHTBUS, LEFTBUS, CAM interface, LCD, G3D,
+MFC). The Exynos PPMU driver use the devfreq-event class to provide event data
+to various devfreq device. The devfreq device would use the event data when
+derterming the current state of each IP.
+
+Required properties:
+- compatible: Should be "samsung,exynos-ppmu".
+- reg: physical base address of each PPMU and length of memory mapped region.
+
+Optional properties:
+- clock-names : the name of clock used by the PPMU, "ppmu"
+- clocks : phandles for clock specified in "clock-names" property
+- #clock-cells: should be 1.
+
+Example1 : PPMU nodes in exynos3250.dtsi are listed below.
+
+ ppmu_dmc0: ppmu_dmc0@106a0000 {
+ compatible = "samsung,exynos-ppmu";
+ reg = <0x106a0000 0x2000>;
+ status = "disabled";
+ };
+
+ ppmu_dmc1: ppmu_dmc1@106b0000 {
+ compatible = "samsung,exynos-ppmu";
+ reg = <0x106b0000 0x2000>;
+ status = "disabled";
+ };
+
+ ppmu_cpu: ppmu_cpu@106c0000 {
+ compatible = "samsung,exynos-ppmu";
+ reg = <0x106c0000 0x2000>;
+ status = "disabled";
+ };
+
+ ppmu_rightbus: ppmu_rightbus@112a0000 {
+ compatible = "samsung,exynos-ppmu";
+ reg = <0x112a0000 0x2000>;
+ clocks = <&cmu CLK_PPMURIGHT>;
+ clock-names = "ppmu";
+ status = "disabled";
+ };
+
+ ppmu_leftbus: ppmu_leftbus0@116a0000 {
+ compatible = "samsung,exynos-ppmu";
+ reg = <0x116a0000 0x2000>;
+ clocks = <&cmu CLK_PPMULEFT>;
+ clock-names = "ppmu";
+ status = "disabled";
+ };
+
+Example2 : Events of each PPMU node in exynos3250-rinato.dts are listed below.
+
+ &ppmu_dmc0 {
+ status = "okay";
+
+ events {
+ ppmu_dmc0_3: ppmu-event3-dmc0 {
+ event-name = "ppmu-event3-dmc0";
+ };
+
+ ppmu_dmc0_2: ppmu-event2-dmc0 {
+ event-name = "ppmu-event2-dmc0";
+ };
+
+ ppmu_dmc0_1: ppmu-event1-dmc0 {
+ event-name = "ppmu-event1-dmc0";
+ };
+
+ ppmu_dmc0_0: ppmu-event0-dmc0 {
+ event-name = "ppmu-event0-dmc0";
+ };
+ };
+ };
+
+ &ppmu_dmc1 {
+ status = "okay";
+
+ events {
+ ppmu_dmc1_3: ppmu-event3-dmc1 {
+ event-name = "ppmu-event3-dmc1";
+ };
+ };
+ };
+
+ &ppmu_leftbus {
+ status = "okay";
+
+ events {
+ ppmu_leftbus_3: ppmu-event3-leftbus {
+ event-name = "ppmu-event3-leftbus";
+ };
+ };
+ };
+
+ &ppmu_rightbus {
+ status = "okay";
+
+ events {
+ ppmu_rightbus_3: ppmu-event3-rightbus {
+ event-name = "ppmu-event3-rightbus";
+ };
+ };
+ };
--
1.8.5.5
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2015-01-12 8:38 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-01-12 8:11 [PATCHv7 05/10] devfreq: event: Add documentation for exynos-ppmu devfreq-event driver MyungJoo Ham
2015-01-12 8:38 ` Chanwoo Choi
-- strict thread matches above, loose matches on Subject: below --
2015-01-07 23:51 [PATCHv7 00/10] devfreq: Add devfreq-event class to provide raw data for devfreq device Chanwoo Choi
2015-01-07 23:51 ` [PATCHv7 05/10] devfreq: event: Add documentation for exynos-ppmu devfreq-event driver Chanwoo Choi
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox