Re: [PATCHv2 8/8] devfreq: exynos4: Add busfreq driver for exynos4210/exynos4x12

2014-03-19 Thread Tomasz Figa

Hi Chanwoo,

On 19.03.2014 10:47, Chanwoo Choi wrote:

Hi Tomasz,

On 03/19/2014 12:46 AM, Tomasz Figa wrote:

On 17.03.2014 06:19, Chanwoo Choi wrote:

Hi Tomasz,

On 03/15/2014 02:35 AM, Tomasz Figa wrote:

Hi Chanwoo, Mark,

On 14.03.2014 11:56, Chanwoo Choi wrote:

Hi Mark,

On 03/14/2014 07:35 PM, Mark Rutland wrote:

On Fri, Mar 14, 2014 at 07:14:37AM +, Chanwoo Choi wrote:

Hi Mark,

On 03/14/2014 02:53 AM, Mark Rutland wrote:

On Thu, Mar 13, 2014 at 08:17:29AM +, Chanwoo Choi wrote:

This patch add busfreq driver for Exynos4210/Exynos4x12 memory interface
and bus to support DVFS(Dynamic Voltage Frequency Scaling) according to PPMU
counters. PPMU (Performance Profiling Monitorings Units) of Exynos4 SoC provides
PPMU counters for DMC(Dynamic Memory Controller) to check memory bus utilization
and then busfreq driver adjusts dynamically the operating frequency/voltage
by using DEVFREQ Subsystem.

Signed-off-by: Chanwoo Choi 
---
.../devicetree/bindings/devfreq/exynos4_bus.txt| 49 
++
1 file changed, 49 insertions(+)
create mode 100644 Documentation/devicetree/bindings/devfreq/exynos4_bus.txt

diff --git a/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt 
b/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
new file mode 100644
index 000..2a83fcc
--- /dev/null
+++ b/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
@@ -0,0 +1,49 @@
+
+Exynos4210/4x12 busfreq driver
+-
+
+Exynos4210/4x12 Soc busfreq driver with devfreq for Memory bus 
frequency/voltage
+scaling according to PPMU counters of memory controllers
+
+Required properties:
+- compatible: should contain Exynos4 SoC type as follwoing:
+  - "samsung,exynos4x12-busfreq" for Exynos4x12
+  - "samsung,exynos4210-busfreq" for Exynos4210


Is there a device called "busfreq"? What device does this binding
describe?


I'll add detailed description of busfreq as following:

"busfreq(bus frequendcy)" driver means that busfreq driver control dynamically
memory bus frequency/voltage by checking memory bus utilization to optimize
power-consumption. When checking memeory bus utilization, exynos4_busfreq driver
would use PPMU(Performance Profiling Monitoring Units).


This still sounds like a description of the _driver_, not the _device_.
The binding should describe the hardware, now the high level abstraction
that software is going to build atop of it.

It sounds like this is a binding for the DMC PPMU?

Is the PPMU a component of the DMC, or is it bolted on the side?


PPMU(Performance Profiling Monitoring Unit) is to profile performance event of
various IP on Exynos4. Each PPMU provide perforamnce event for each IP.
We can check various PPMU as following:

PPMU_3D
PPMU_ACP
PPMU_CAMIF
PPMU_CPU
PPMU_DMC0
PPMU_DMC1
PPMU_FSYS
PPMU_IMAGE
PPMU_LCD0
PPMU_LCD1
PPMU_MFC_L
PPMU_MFC_R
PPMU_TV
PPMU_LEFT_BUS
PPMU_RIGHT_BUS

DMC (Dynamic Memory Controller) control the operation of DRAM in Exynos4 SoC.
If we need to get memory bust utilization of DMC, we can get memory bus 
utilization
from PPMU_DMC0/PPMU_DMC1.

So, Exynos4's busfreq used two(PPMU_DMC0/PPMU_DMC1) among upper various PPMU 
list.


Well, PPMUs and DMCs are separate hardware blocks found inside Exynos SoCs. 
Busfreq/devfreq is just a Linux-specific abstraction responsible for collecting 
data using PPMUs and controlling frequencies and voltages of appropriate power 
planes, vdd_int responsible for powering DMC0 and DMC1 blocks in this case.



I knew already.


I'm afraid that the binding you're proposing is unfortunately incorrect, 
because it represents the software abstraction, not the real hardware.


What is exactly incorrect part of this patch?



Device tree contains information about hardware, not about OS-specific drivers 
or subsystems. Busfreq/devfreq is not a hardware block, but a Linux-specific 
driver, so it's not suitable to be described by DT directly, especially 
considering the fact that in future it might be replaced by or merged with 
another subsystem.

Only PPMUs are real hardware blocks present in the SoC. In addition, a 
SoC-level aspect of hardware description may be added, such as a list of power 
planes. See below for explanation.



You means that PPMU must need separate framework from devfreq subsystem?
If PPMU framework will be implemented, PPMU framework provides API to external 
device driver
as common clk framework, regulator framework.
And then,exynos4 busfreq with devfreq have to use PPMU framework to monitor 
memory utilization.

Is this right?



Not exactly. I'm just saying that in device tree, particular hardware 
blocks (such as PPMU) must be represented by their own nodes. This 
doesn't imply any particular implementation in code. DT bindings should 
be considered without any particular driver code in mind.


The principle here is that with device tree describing all the 
information needed for Exynos bus frequency and power plane voltage 
scaling, 

Re: [PATCHv2 8/8] devfreq: exynos4: Add busfreq driver for exynos4210/exynos4x12

2014-03-19 Thread Chanwoo Choi
Hi Tomasz,

On 03/19/2014 12:46 AM, Tomasz Figa wrote:
> On 17.03.2014 06:19, Chanwoo Choi wrote:
>> Hi Tomasz,
>>
>> On 03/15/2014 02:35 AM, Tomasz Figa wrote:
>>> Hi Chanwoo, Mark,
>>>
>>> On 14.03.2014 11:56, Chanwoo Choi wrote:
 Hi Mark,

 On 03/14/2014 07:35 PM, Mark Rutland wrote:
> On Fri, Mar 14, 2014 at 07:14:37AM +, Chanwoo Choi wrote:
>> Hi Mark,
>>
>> On 03/14/2014 02:53 AM, Mark Rutland wrote:
>>> On Thu, Mar 13, 2014 at 08:17:29AM +, Chanwoo Choi wrote:
 This patch add busfreq driver for Exynos4210/Exynos4x12 memory 
 interface
 and bus to support DVFS(Dynamic Voltage Frequency Scaling) according 
 to PPMU
 counters. PPMU (Performance Profiling Monitorings Units) of Exynos4 
 SoC provides
 PPMU counters for DMC(Dynamic Memory Controller) to check memory bus 
 utilization
 and then busfreq driver adjusts dynamically the operating 
 frequency/voltage
 by using DEVFREQ Subsystem.

 Signed-off-by: Chanwoo Choi 
 ---
.../devicetree/bindings/devfreq/exynos4_bus.txt| 49 
 ++
1 file changed, 49 insertions(+)
create mode 100644 
 Documentation/devicetree/bindings/devfreq/exynos4_bus.txt

 diff --git a/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt 
 b/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
 new file mode 100644
 index 000..2a83fcc
 --- /dev/null
 +++ b/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
 @@ -0,0 +1,49 @@
 +
 +Exynos4210/4x12 busfreq driver
 +-
 +
 +Exynos4210/4x12 Soc busfreq driver with devfreq for Memory bus 
 frequency/voltage
 +scaling according to PPMU counters of memory controllers
 +
 +Required properties:
 +- compatible: should contain Exynos4 SoC type as follwoing:
 +  - "samsung,exynos4x12-busfreq" for Exynos4x12
 +  - "samsung,exynos4210-busfreq" for Exynos4210
>>>
>>> Is there a device called "busfreq"? What device does this binding
>>> describe?
>>
>> I'll add detailed description of busfreq as following:
>>
>> "busfreq(bus frequendcy)" driver means that busfreq driver control 
>> dynamically
>> memory bus frequency/voltage by checking memory bus utilization to 
>> optimize
>> power-consumption. When checking memeory bus utilization, 
>> exynos4_busfreq driver
>> would use PPMU(Performance Profiling Monitoring Units).
>
> This still sounds like a description of the _driver_, not the _device_.
> The binding should describe the hardware, now the high level abstraction
> that software is going to build atop of it.
>
> It sounds like this is a binding for the DMC PPMU?
>
> Is the PPMU a component of the DMC, or is it bolted on the side?

 PPMU(Performance Profiling Monitoring Unit) is to profile performance 
 event of
 various IP on Exynos4. Each PPMU provide perforamnce event for each IP.
 We can check various PPMU as following:

 PPMU_3D
 PPMU_ACP
 PPMU_CAMIF
 PPMU_CPU
 PPMU_DMC0
 PPMU_DMC1
 PPMU_FSYS
 PPMU_IMAGE
 PPMU_LCD0
 PPMU_LCD1
 PPMU_MFC_L
 PPMU_MFC_R
 PPMU_TV
 PPMU_LEFT_BUS
 PPMU_RIGHT_BUS

 DMC (Dynamic Memory Controller) control the operation of DRAM in Exynos4 
 SoC.
 If we need to get memory bust utilization of DMC, we can get memory bus 
 utilization
 from PPMU_DMC0/PPMU_DMC1.

 So, Exynos4's busfreq used two(PPMU_DMC0/PPMU_DMC1) among upper various 
 PPMU list.
>>>
>>> Well, PPMUs and DMCs are separate hardware blocks found inside Exynos SoCs. 
>>> Busfreq/devfreq is just a Linux-specific abstraction responsible for 
>>> collecting data using PPMUs and controlling frequencies and voltages of 
>>> appropriate power planes, vdd_int responsible for powering DMC0 and DMC1 
>>> blocks in this case.
>>>
>>
>> I knew already.
>>
>>> I'm afraid that the binding you're proposing is unfortunately incorrect, 
>>> because it represents the software abstraction, not the real hardware.
>>
>> What is exactly incorrect part of this patch?
>>
> 
> Device tree contains information about hardware, not about OS-specific 
> drivers or subsystems. Busfreq/devfreq is not a hardware block, but a 
> Linux-specific driver, so it's not suitable to be described by DT directly, 
> especially considering the fact that in future it might be replaced by or 
> merged with another subsystem.
> 
> Only PPMUs are real hardware blocks present in the SoC. In addition, a 
> SoC-level aspect of hardware description may be added, such as a list of 
> power planes. See below for explanation.
> 

You means that PPMU must need separate 

Re: [PATCHv2 8/8] devfreq: exynos4: Add busfreq driver for exynos4210/exynos4x12

2014-03-19 Thread Chanwoo Choi
Hi Tomasz,

On 03/19/2014 12:46 AM, Tomasz Figa wrote:
 On 17.03.2014 06:19, Chanwoo Choi wrote:
 Hi Tomasz,

 On 03/15/2014 02:35 AM, Tomasz Figa wrote:
 Hi Chanwoo, Mark,

 On 14.03.2014 11:56, Chanwoo Choi wrote:
 Hi Mark,

 On 03/14/2014 07:35 PM, Mark Rutland wrote:
 On Fri, Mar 14, 2014 at 07:14:37AM +, Chanwoo Choi wrote:
 Hi Mark,

 On 03/14/2014 02:53 AM, Mark Rutland wrote:
 On Thu, Mar 13, 2014 at 08:17:29AM +, Chanwoo Choi wrote:
 This patch add busfreq driver for Exynos4210/Exynos4x12 memory 
 interface
 and bus to support DVFS(Dynamic Voltage Frequency Scaling) according 
 to PPMU
 counters. PPMU (Performance Profiling Monitorings Units) of Exynos4 
 SoC provides
 PPMU counters for DMC(Dynamic Memory Controller) to check memory bus 
 utilization
 and then busfreq driver adjusts dynamically the operating 
 frequency/voltage
 by using DEVFREQ Subsystem.

 Signed-off-by: Chanwoo Choi cw00.c...@samsung.com
 ---
.../devicetree/bindings/devfreq/exynos4_bus.txt| 49 
 ++
1 file changed, 49 insertions(+)
create mode 100644 
 Documentation/devicetree/bindings/devfreq/exynos4_bus.txt

 diff --git a/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt 
 b/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
 new file mode 100644
 index 000..2a83fcc
 --- /dev/null
 +++ b/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
 @@ -0,0 +1,49 @@
 +
 +Exynos4210/4x12 busfreq driver
 +-
 +
 +Exynos4210/4x12 Soc busfreq driver with devfreq for Memory bus 
 frequency/voltage
 +scaling according to PPMU counters of memory controllers
 +
 +Required properties:
 +- compatible: should contain Exynos4 SoC type as follwoing:
 +  - samsung,exynos4x12-busfreq for Exynos4x12
 +  - samsung,exynos4210-busfreq for Exynos4210

 Is there a device called busfreq? What device does this binding
 describe?

 I'll add detailed description of busfreq as following:

 busfreq(bus frequendcy) driver means that busfreq driver control 
 dynamically
 memory bus frequency/voltage by checking memory bus utilization to 
 optimize
 power-consumption. When checking memeory bus utilization, 
 exynos4_busfreq driver
 would use PPMU(Performance Profiling Monitoring Units).

 This still sounds like a description of the _driver_, not the _device_.
 The binding should describe the hardware, now the high level abstraction
 that software is going to build atop of it.

 It sounds like this is a binding for the DMC PPMU?

 Is the PPMU a component of the DMC, or is it bolted on the side?

 PPMU(Performance Profiling Monitoring Unit) is to profile performance 
 event of
 various IP on Exynos4. Each PPMU provide perforamnce event for each IP.
 We can check various PPMU as following:

 PPMU_3D
 PPMU_ACP
 PPMU_CAMIF
 PPMU_CPU
 PPMU_DMC0
 PPMU_DMC1
 PPMU_FSYS
 PPMU_IMAGE
 PPMU_LCD0
 PPMU_LCD1
 PPMU_MFC_L
 PPMU_MFC_R
 PPMU_TV
 PPMU_LEFT_BUS
 PPMU_RIGHT_BUS

 DMC (Dynamic Memory Controller) control the operation of DRAM in Exynos4 
 SoC.
 If we need to get memory bust utilization of DMC, we can get memory bus 
 utilization
 from PPMU_DMC0/PPMU_DMC1.

 So, Exynos4's busfreq used two(PPMU_DMC0/PPMU_DMC1) among upper various 
 PPMU list.

 Well, PPMUs and DMCs are separate hardware blocks found inside Exynos SoCs. 
 Busfreq/devfreq is just a Linux-specific abstraction responsible for 
 collecting data using PPMUs and controlling frequencies and voltages of 
 appropriate power planes, vdd_int responsible for powering DMC0 and DMC1 
 blocks in this case.


 I knew already.

 I'm afraid that the binding you're proposing is unfortunately incorrect, 
 because it represents the software abstraction, not the real hardware.

 What is exactly incorrect part of this patch?

 
 Device tree contains information about hardware, not about OS-specific 
 drivers or subsystems. Busfreq/devfreq is not a hardware block, but a 
 Linux-specific driver, so it's not suitable to be described by DT directly, 
 especially considering the fact that in future it might be replaced by or 
 merged with another subsystem.
 
 Only PPMUs are real hardware blocks present in the SoC. In addition, a 
 SoC-level aspect of hardware description may be added, such as a list of 
 power planes. See below for explanation.
 

You means that PPMU must need separate framework from devfreq subsystem?
If PPMU framework will be implemented, PPMU framework provides API to external 
device driver
as common clk framework, regulator framework.
And then,exynos4 busfreq with devfreq have to use PPMU framework to monitor 
memory utilization.

Is this right?


 Instead, this should be separated into several independent bindings:

   - PPMU bindings to list all the PPMU instances present in the SoC and 
 resources they need,

   - power plane bindings, which define a power plane in which multiple IP 
 blocks might reside, can be monitored by one or more PPMU units and 
 frequency and voltage of which can be 

Re: [PATCHv2 8/8] devfreq: exynos4: Add busfreq driver for exynos4210/exynos4x12

2014-03-19 Thread Tomasz Figa

Hi Chanwoo,

On 19.03.2014 10:47, Chanwoo Choi wrote:

Hi Tomasz,

On 03/19/2014 12:46 AM, Tomasz Figa wrote:

On 17.03.2014 06:19, Chanwoo Choi wrote:

Hi Tomasz,

On 03/15/2014 02:35 AM, Tomasz Figa wrote:

Hi Chanwoo, Mark,

On 14.03.2014 11:56, Chanwoo Choi wrote:

Hi Mark,

On 03/14/2014 07:35 PM, Mark Rutland wrote:

On Fri, Mar 14, 2014 at 07:14:37AM +, Chanwoo Choi wrote:

Hi Mark,

On 03/14/2014 02:53 AM, Mark Rutland wrote:

On Thu, Mar 13, 2014 at 08:17:29AM +, Chanwoo Choi wrote:

This patch add busfreq driver for Exynos4210/Exynos4x12 memory interface
and bus to support DVFS(Dynamic Voltage Frequency Scaling) according to PPMU
counters. PPMU (Performance Profiling Monitorings Units) of Exynos4 SoC provides
PPMU counters for DMC(Dynamic Memory Controller) to check memory bus utilization
and then busfreq driver adjusts dynamically the operating frequency/voltage
by using DEVFREQ Subsystem.

Signed-off-by: Chanwoo Choi cw00.c...@samsung.com
---
.../devicetree/bindings/devfreq/exynos4_bus.txt| 49 
++
1 file changed, 49 insertions(+)
create mode 100644 Documentation/devicetree/bindings/devfreq/exynos4_bus.txt

diff --git a/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt 
b/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
new file mode 100644
index 000..2a83fcc
--- /dev/null
+++ b/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
@@ -0,0 +1,49 @@
+
+Exynos4210/4x12 busfreq driver
+-
+
+Exynos4210/4x12 Soc busfreq driver with devfreq for Memory bus 
frequency/voltage
+scaling according to PPMU counters of memory controllers
+
+Required properties:
+- compatible: should contain Exynos4 SoC type as follwoing:
+  - samsung,exynos4x12-busfreq for Exynos4x12
+  - samsung,exynos4210-busfreq for Exynos4210


Is there a device called busfreq? What device does this binding
describe?


I'll add detailed description of busfreq as following:

busfreq(bus frequendcy) driver means that busfreq driver control dynamically
memory bus frequency/voltage by checking memory bus utilization to optimize
power-consumption. When checking memeory bus utilization, exynos4_busfreq driver
would use PPMU(Performance Profiling Monitoring Units).


This still sounds like a description of the _driver_, not the _device_.
The binding should describe the hardware, now the high level abstraction
that software is going to build atop of it.

It sounds like this is a binding for the DMC PPMU?

Is the PPMU a component of the DMC, or is it bolted on the side?


PPMU(Performance Profiling Monitoring Unit) is to profile performance event of
various IP on Exynos4. Each PPMU provide perforamnce event for each IP.
We can check various PPMU as following:

PPMU_3D
PPMU_ACP
PPMU_CAMIF
PPMU_CPU
PPMU_DMC0
PPMU_DMC1
PPMU_FSYS
PPMU_IMAGE
PPMU_LCD0
PPMU_LCD1
PPMU_MFC_L
PPMU_MFC_R
PPMU_TV
PPMU_LEFT_BUS
PPMU_RIGHT_BUS

DMC (Dynamic Memory Controller) control the operation of DRAM in Exynos4 SoC.
If we need to get memory bust utilization of DMC, we can get memory bus 
utilization
from PPMU_DMC0/PPMU_DMC1.

So, Exynos4's busfreq used two(PPMU_DMC0/PPMU_DMC1) among upper various PPMU 
list.


Well, PPMUs and DMCs are separate hardware blocks found inside Exynos SoCs. 
Busfreq/devfreq is just a Linux-specific abstraction responsible for collecting 
data using PPMUs and controlling frequencies and voltages of appropriate power 
planes, vdd_int responsible for powering DMC0 and DMC1 blocks in this case.



I knew already.


I'm afraid that the binding you're proposing is unfortunately incorrect, 
because it represents the software abstraction, not the real hardware.


What is exactly incorrect part of this patch?



Device tree contains information about hardware, not about OS-specific drivers 
or subsystems. Busfreq/devfreq is not a hardware block, but a Linux-specific 
driver, so it's not suitable to be described by DT directly, especially 
considering the fact that in future it might be replaced by or merged with 
another subsystem.

Only PPMUs are real hardware blocks present in the SoC. In addition, a 
SoC-level aspect of hardware description may be added, such as a list of power 
planes. See below for explanation.



You means that PPMU must need separate framework from devfreq subsystem?
If PPMU framework will be implemented, PPMU framework provides API to external 
device driver
as common clk framework, regulator framework.
And then,exynos4 busfreq with devfreq have to use PPMU framework to monitor 
memory utilization.

Is this right?



Not exactly. I'm just saying that in device tree, particular hardware 
blocks (such as PPMU) must be represented by their own nodes. This 
doesn't imply any particular implementation in code. DT bindings should 
be considered without any particular driver code in mind.


The principle here is that with device tree describing all the 
information needed for Exynos bus frequency and power plane 

Re: [PATCHv2 8/8] devfreq: exynos4: Add busfreq driver for exynos4210/exynos4x12

2014-03-18 Thread Tomasz Figa

On 17.03.2014 06:19, Chanwoo Choi wrote:

Hi Tomasz,

On 03/15/2014 02:35 AM, Tomasz Figa wrote:

Hi Chanwoo, Mark,

On 14.03.2014 11:56, Chanwoo Choi wrote:

Hi Mark,

On 03/14/2014 07:35 PM, Mark Rutland wrote:

On Fri, Mar 14, 2014 at 07:14:37AM +, Chanwoo Choi wrote:

Hi Mark,

On 03/14/2014 02:53 AM, Mark Rutland wrote:

On Thu, Mar 13, 2014 at 08:17:29AM +, Chanwoo Choi wrote:

This patch add busfreq driver for Exynos4210/Exynos4x12 memory interface
and bus to support DVFS(Dynamic Voltage Frequency Scaling) according to PPMU
counters. PPMU (Performance Profiling Monitorings Units) of Exynos4 SoC provides
PPMU counters for DMC(Dynamic Memory Controller) to check memory bus utilization
and then busfreq driver adjusts dynamically the operating frequency/voltage
by using DEVFREQ Subsystem.

Signed-off-by: Chanwoo Choi 
---
   .../devicetree/bindings/devfreq/exynos4_bus.txt| 49 
++
   1 file changed, 49 insertions(+)
   create mode 100644 Documentation/devicetree/bindings/devfreq/exynos4_bus.txt

diff --git a/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt 
b/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
new file mode 100644
index 000..2a83fcc
--- /dev/null
+++ b/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
@@ -0,0 +1,49 @@
+
+Exynos4210/4x12 busfreq driver
+-
+
+Exynos4210/4x12 Soc busfreq driver with devfreq for Memory bus 
frequency/voltage
+scaling according to PPMU counters of memory controllers
+
+Required properties:
+- compatible: should contain Exynos4 SoC type as follwoing:
+  - "samsung,exynos4x12-busfreq" for Exynos4x12
+  - "samsung,exynos4210-busfreq" for Exynos4210


Is there a device called "busfreq"? What device does this binding
describe?


I'll add detailed description of busfreq as following:

"busfreq(bus frequendcy)" driver means that busfreq driver control dynamically
memory bus frequency/voltage by checking memory bus utilization to optimize
power-consumption. When checking memeory bus utilization, exynos4_busfreq driver
would use PPMU(Performance Profiling Monitoring Units).


This still sounds like a description of the _driver_, not the _device_.
The binding should describe the hardware, now the high level abstraction
that software is going to build atop of it.

It sounds like this is a binding for the DMC PPMU?

Is the PPMU a component of the DMC, or is it bolted on the side?


PPMU(Performance Profiling Monitoring Unit) is to profile performance event of
various IP on Exynos4. Each PPMU provide perforamnce event for each IP.
We can check various PPMU as following:

PPMU_3D
PPMU_ACP
PPMU_CAMIF
PPMU_CPU
PPMU_DMC0
PPMU_DMC1
PPMU_FSYS
PPMU_IMAGE
PPMU_LCD0
PPMU_LCD1
PPMU_MFC_L
PPMU_MFC_R
PPMU_TV
PPMU_LEFT_BUS
PPMU_RIGHT_BUS

DMC (Dynamic Memory Controller) control the operation of DRAM in Exynos4 SoC.
If we need to get memory bust utilization of DMC, we can get memory bus 
utilization
from PPMU_DMC0/PPMU_DMC1.

So, Exynos4's busfreq used two(PPMU_DMC0/PPMU_DMC1) among upper various PPMU 
list.


Well, PPMUs and DMCs are separate hardware blocks found inside Exynos SoCs. 
Busfreq/devfreq is just a Linux-specific abstraction responsible for collecting 
data using PPMUs and controlling frequencies and voltages of appropriate power 
planes, vdd_int responsible for powering DMC0 and DMC1 blocks in this case.



I knew already.


I'm afraid that the binding you're proposing is unfortunately incorrect, 
because it represents the software abstraction, not the real hardware.


What is exactly incorrect part of this patch?



Device tree contains information about hardware, not about OS-specific 
drivers or subsystems. Busfreq/devfreq is not a hardware block, but a 
Linux-specific driver, so it's not suitable to be described by DT 
directly, especially considering the fact that in future it might be 
replaced by or merged with another subsystem.


Only PPMUs are real hardware blocks present in the SoC. In addition, a 
SoC-level aspect of hardware description may be added, such as a list of 
power planes. See below for explanation.




Instead, this should be separated into several independent bindings:

  - PPMU bindings to list all the PPMU instances present in the SoC and 
resources they need,

  - power plane bindings, which define a power plane in which multiple IP 
blocks might reside, can be monitored by one or more PPMU units and frequency 
and voltage of which can be configured according to determined performance 
level. Needed resources will be clocks and regulators to scale and probably 
also operating points.

Then, exynos-busfreq driver should bind to such power planes, parse necessary 
data from DT (list of PPMUs and IP blocks, clocks, regulators and operating 
points) and register a devfreq entity.


What is 'power plane'? I don't know 'power plane'.


Power plane is a part of the SoC (set of IP blocks and buses) that is 
powered by the same power source. For 

Re: [PATCHv2 8/8] devfreq: exynos4: Add busfreq driver for exynos4210/exynos4x12

2014-03-18 Thread Tomasz Figa

On 17.03.2014 06:19, Chanwoo Choi wrote:

Hi Tomasz,

On 03/15/2014 02:35 AM, Tomasz Figa wrote:

Hi Chanwoo, Mark,

On 14.03.2014 11:56, Chanwoo Choi wrote:

Hi Mark,

On 03/14/2014 07:35 PM, Mark Rutland wrote:

On Fri, Mar 14, 2014 at 07:14:37AM +, Chanwoo Choi wrote:

Hi Mark,

On 03/14/2014 02:53 AM, Mark Rutland wrote:

On Thu, Mar 13, 2014 at 08:17:29AM +, Chanwoo Choi wrote:

This patch add busfreq driver for Exynos4210/Exynos4x12 memory interface
and bus to support DVFS(Dynamic Voltage Frequency Scaling) according to PPMU
counters. PPMU (Performance Profiling Monitorings Units) of Exynos4 SoC provides
PPMU counters for DMC(Dynamic Memory Controller) to check memory bus utilization
and then busfreq driver adjusts dynamically the operating frequency/voltage
by using DEVFREQ Subsystem.

Signed-off-by: Chanwoo Choi cw00.c...@samsung.com
---
   .../devicetree/bindings/devfreq/exynos4_bus.txt| 49 
++
   1 file changed, 49 insertions(+)
   create mode 100644 Documentation/devicetree/bindings/devfreq/exynos4_bus.txt

diff --git a/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt 
b/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
new file mode 100644
index 000..2a83fcc
--- /dev/null
+++ b/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
@@ -0,0 +1,49 @@
+
+Exynos4210/4x12 busfreq driver
+-
+
+Exynos4210/4x12 Soc busfreq driver with devfreq for Memory bus 
frequency/voltage
+scaling according to PPMU counters of memory controllers
+
+Required properties:
+- compatible: should contain Exynos4 SoC type as follwoing:
+  - samsung,exynos4x12-busfreq for Exynos4x12
+  - samsung,exynos4210-busfreq for Exynos4210


Is there a device called busfreq? What device does this binding
describe?


I'll add detailed description of busfreq as following:

busfreq(bus frequendcy) driver means that busfreq driver control dynamically
memory bus frequency/voltage by checking memory bus utilization to optimize
power-consumption. When checking memeory bus utilization, exynos4_busfreq driver
would use PPMU(Performance Profiling Monitoring Units).


This still sounds like a description of the _driver_, not the _device_.
The binding should describe the hardware, now the high level abstraction
that software is going to build atop of it.

It sounds like this is a binding for the DMC PPMU?

Is the PPMU a component of the DMC, or is it bolted on the side?


PPMU(Performance Profiling Monitoring Unit) is to profile performance event of
various IP on Exynos4. Each PPMU provide perforamnce event for each IP.
We can check various PPMU as following:

PPMU_3D
PPMU_ACP
PPMU_CAMIF
PPMU_CPU
PPMU_DMC0
PPMU_DMC1
PPMU_FSYS
PPMU_IMAGE
PPMU_LCD0
PPMU_LCD1
PPMU_MFC_L
PPMU_MFC_R
PPMU_TV
PPMU_LEFT_BUS
PPMU_RIGHT_BUS

DMC (Dynamic Memory Controller) control the operation of DRAM in Exynos4 SoC.
If we need to get memory bust utilization of DMC, we can get memory bus 
utilization
from PPMU_DMC0/PPMU_DMC1.

So, Exynos4's busfreq used two(PPMU_DMC0/PPMU_DMC1) among upper various PPMU 
list.


Well, PPMUs and DMCs are separate hardware blocks found inside Exynos SoCs. 
Busfreq/devfreq is just a Linux-specific abstraction responsible for collecting 
data using PPMUs and controlling frequencies and voltages of appropriate power 
planes, vdd_int responsible for powering DMC0 and DMC1 blocks in this case.



I knew already.


I'm afraid that the binding you're proposing is unfortunately incorrect, 
because it represents the software abstraction, not the real hardware.


What is exactly incorrect part of this patch?



Device tree contains information about hardware, not about OS-specific 
drivers or subsystems. Busfreq/devfreq is not a hardware block, but a 
Linux-specific driver, so it's not suitable to be described by DT 
directly, especially considering the fact that in future it might be 
replaced by or merged with another subsystem.


Only PPMUs are real hardware blocks present in the SoC. In addition, a 
SoC-level aspect of hardware description may be added, such as a list of 
power planes. See below for explanation.




Instead, this should be separated into several independent bindings:

  - PPMU bindings to list all the PPMU instances present in the SoC and 
resources they need,

  - power plane bindings, which define a power plane in which multiple IP 
blocks might reside, can be monitored by one or more PPMU units and frequency 
and voltage of which can be configured according to determined performance 
level. Needed resources will be clocks and regulators to scale and probably 
also operating points.

Then, exynos-busfreq driver should bind to such power planes, parse necessary 
data from DT (list of PPMUs and IP blocks, clocks, regulators and operating 
points) and register a devfreq entity.


What is 'power plane'? I don't know 'power plane'.


Power plane is a part of the SoC (set of IP blocks and buses) that is 
powered by the same power 

Re: [PATCHv2 8/8] devfreq: exynos4: Add busfreq driver for exynos4210/exynos4x12

2014-03-16 Thread Chanwoo Choi
Hi Tomasz,

On 03/15/2014 02:35 AM, Tomasz Figa wrote:
> Hi Chanwoo, Mark,
> 
> On 14.03.2014 11:56, Chanwoo Choi wrote:
>> Hi Mark,
>>
>> On 03/14/2014 07:35 PM, Mark Rutland wrote:
>>> On Fri, Mar 14, 2014 at 07:14:37AM +, Chanwoo Choi wrote:
 Hi Mark,

 On 03/14/2014 02:53 AM, Mark Rutland wrote:
> On Thu, Mar 13, 2014 at 08:17:29AM +, Chanwoo Choi wrote:
>> This patch add busfreq driver for Exynos4210/Exynos4x12 memory interface
>> and bus to support DVFS(Dynamic Voltage Frequency Scaling) according to 
>> PPMU
>> counters. PPMU (Performance Profiling Monitorings Units) of Exynos4 SoC 
>> provides
>> PPMU counters for DMC(Dynamic Memory Controller) to check memory bus 
>> utilization
>> and then busfreq driver adjusts dynamically the operating 
>> frequency/voltage
>> by using DEVFREQ Subsystem.
>>
>> Signed-off-by: Chanwoo Choi 
>> ---
>>   .../devicetree/bindings/devfreq/exynos4_bus.txt| 49 
>> ++
>>   1 file changed, 49 insertions(+)
>>   create mode 100644 
>> Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
>>
>> diff --git a/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt 
>> b/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
>> new file mode 100644
>> index 000..2a83fcc
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
>> @@ -0,0 +1,49 @@
>> +
>> +Exynos4210/4x12 busfreq driver
>> +-
>> +
>> +Exynos4210/4x12 Soc busfreq driver with devfreq for Memory bus 
>> frequency/voltage
>> +scaling according to PPMU counters of memory controllers
>> +
>> +Required properties:
>> +- compatible: should contain Exynos4 SoC type as follwoing:
>> +  - "samsung,exynos4x12-busfreq" for Exynos4x12
>> +  - "samsung,exynos4210-busfreq" for Exynos4210
>
> Is there a device called "busfreq"? What device does this binding
> describe?

 I'll add detailed description of busfreq as following:

 "busfreq(bus frequendcy)" driver means that busfreq driver control 
 dynamically
 memory bus frequency/voltage by checking memory bus utilization to optimize
 power-consumption. When checking memeory bus utilization, exynos4_busfreq 
 driver
 would use PPMU(Performance Profiling Monitoring Units).
>>>
>>> This still sounds like a description of the _driver_, not the _device_.
>>> The binding should describe the hardware, now the high level abstraction
>>> that software is going to build atop of it.
>>>
>>> It sounds like this is a binding for the DMC PPMU?
>>>
>>> Is the PPMU a component of the DMC, or is it bolted on the side?
>>
>> PPMU(Performance Profiling Monitoring Unit) is to profile performance event 
>> of
>> various IP on Exynos4. Each PPMU provide perforamnce event for each IP.
>> We can check various PPMU as following:
>>
>> PPMU_3D
>> PPMU_ACP
>> PPMU_CAMIF
>> PPMU_CPU
>> PPMU_DMC0
>> PPMU_DMC1
>> PPMU_FSYS
>> PPMU_IMAGE
>> PPMU_LCD0
>> PPMU_LCD1
>> PPMU_MFC_L
>> PPMU_MFC_R
>> PPMU_TV
>> PPMU_LEFT_BUS
>> PPMU_RIGHT_BUS
>>
>> DMC (Dynamic Memory Controller) control the operation of DRAM in Exynos4 SoC.
>> If we need to get memory bust utilization of DMC, we can get memory bus 
>> utilization
>> from PPMU_DMC0/PPMU_DMC1.
>>
>> So, Exynos4's busfreq used two(PPMU_DMC0/PPMU_DMC1) among upper various PPMU 
>> list.
> 
> Well, PPMUs and DMCs are separate hardware blocks found inside Exynos SoCs. 
> Busfreq/devfreq is just a Linux-specific abstraction responsible for 
> collecting data using PPMUs and controlling frequencies and voltages of 
> appropriate power planes, vdd_int responsible for powering DMC0 and DMC1 
> blocks in this case.
> 

I knew already.

> I'm afraid that the binding you're proposing is unfortunately incorrect, 
> because it represents the software abstraction, not the real hardware.

What is exactly incorrect part of this patch?

> 
> Instead, this should be separated into several independent bindings:
> 
>  - PPMU bindings to list all the PPMU instances present in the SoC and 
> resources they need,
> 
>  - power plane bindings, which define a power plane in which multiple IP 
> blocks might reside, can be monitored by one or more PPMU units and frequency 
> and voltage of which can be configured according to determined performance 
> level. Needed resources will be clocks and regulators to scale and probably 
> also operating points.
> 
> Then, exynos-busfreq driver should bind to such power planes, parse necessary 
> data from DT (list of PPMUs and IP blocks, clocks, regulators and operating 
> points) and register a devfreq entity.

What is 'power plane'? I don't know 'power plane'.
If you suggest 'power plane' concept and then merge this concept to mainline,
After merged 'power plane' concept, I will apply 'power plane' concept to 
Exynos4's 

Re: [PATCHv2 8/8] devfreq: exynos4: Add busfreq driver for exynos4210/exynos4x12

2014-03-16 Thread Chanwoo Choi
Hi Tomasz,

On 03/15/2014 02:35 AM, Tomasz Figa wrote:
 Hi Chanwoo, Mark,
 
 On 14.03.2014 11:56, Chanwoo Choi wrote:
 Hi Mark,

 On 03/14/2014 07:35 PM, Mark Rutland wrote:
 On Fri, Mar 14, 2014 at 07:14:37AM +, Chanwoo Choi wrote:
 Hi Mark,

 On 03/14/2014 02:53 AM, Mark Rutland wrote:
 On Thu, Mar 13, 2014 at 08:17:29AM +, Chanwoo Choi wrote:
 This patch add busfreq driver for Exynos4210/Exynos4x12 memory interface
 and bus to support DVFS(Dynamic Voltage Frequency Scaling) according to 
 PPMU
 counters. PPMU (Performance Profiling Monitorings Units) of Exynos4 SoC 
 provides
 PPMU counters for DMC(Dynamic Memory Controller) to check memory bus 
 utilization
 and then busfreq driver adjusts dynamically the operating 
 frequency/voltage
 by using DEVFREQ Subsystem.

 Signed-off-by: Chanwoo Choi cw00.c...@samsung.com
 ---
   .../devicetree/bindings/devfreq/exynos4_bus.txt| 49 
 ++
   1 file changed, 49 insertions(+)
   create mode 100644 
 Documentation/devicetree/bindings/devfreq/exynos4_bus.txt

 diff --git a/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt 
 b/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
 new file mode 100644
 index 000..2a83fcc
 --- /dev/null
 +++ b/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
 @@ -0,0 +1,49 @@
 +
 +Exynos4210/4x12 busfreq driver
 +-
 +
 +Exynos4210/4x12 Soc busfreq driver with devfreq for Memory bus 
 frequency/voltage
 +scaling according to PPMU counters of memory controllers
 +
 +Required properties:
 +- compatible: should contain Exynos4 SoC type as follwoing:
 +  - samsung,exynos4x12-busfreq for Exynos4x12
 +  - samsung,exynos4210-busfreq for Exynos4210

 Is there a device called busfreq? What device does this binding
 describe?

 I'll add detailed description of busfreq as following:

 busfreq(bus frequendcy) driver means that busfreq driver control 
 dynamically
 memory bus frequency/voltage by checking memory bus utilization to optimize
 power-consumption. When checking memeory bus utilization, exynos4_busfreq 
 driver
 would use PPMU(Performance Profiling Monitoring Units).

 This still sounds like a description of the _driver_, not the _device_.
 The binding should describe the hardware, now the high level abstraction
 that software is going to build atop of it.

 It sounds like this is a binding for the DMC PPMU?

 Is the PPMU a component of the DMC, or is it bolted on the side?

 PPMU(Performance Profiling Monitoring Unit) is to profile performance event 
 of
 various IP on Exynos4. Each PPMU provide perforamnce event for each IP.
 We can check various PPMU as following:

 PPMU_3D
 PPMU_ACP
 PPMU_CAMIF
 PPMU_CPU
 PPMU_DMC0
 PPMU_DMC1
 PPMU_FSYS
 PPMU_IMAGE
 PPMU_LCD0
 PPMU_LCD1
 PPMU_MFC_L
 PPMU_MFC_R
 PPMU_TV
 PPMU_LEFT_BUS
 PPMU_RIGHT_BUS

 DMC (Dynamic Memory Controller) control the operation of DRAM in Exynos4 SoC.
 If we need to get memory bust utilization of DMC, we can get memory bus 
 utilization
 from PPMU_DMC0/PPMU_DMC1.

 So, Exynos4's busfreq used two(PPMU_DMC0/PPMU_DMC1) among upper various PPMU 
 list.
 
 Well, PPMUs and DMCs are separate hardware blocks found inside Exynos SoCs. 
 Busfreq/devfreq is just a Linux-specific abstraction responsible for 
 collecting data using PPMUs and controlling frequencies and voltages of 
 appropriate power planes, vdd_int responsible for powering DMC0 and DMC1 
 blocks in this case.
 

I knew already.

 I'm afraid that the binding you're proposing is unfortunately incorrect, 
 because it represents the software abstraction, not the real hardware.

What is exactly incorrect part of this patch?

 
 Instead, this should be separated into several independent bindings:
 
  - PPMU bindings to list all the PPMU instances present in the SoC and 
 resources they need,
 
  - power plane bindings, which define a power plane in which multiple IP 
 blocks might reside, can be monitored by one or more PPMU units and frequency 
 and voltage of which can be configured according to determined performance 
 level. Needed resources will be clocks and regulators to scale and probably 
 also operating points.
 
 Then, exynos-busfreq driver should bind to such power planes, parse necessary 
 data from DT (list of PPMUs and IP blocks, clocks, regulators and operating 
 points) and register a devfreq entity.

What is 'power plane'? I don't know 'power plane'.
If you suggest 'power plane' concept and then merge this concept to mainline,
After merged 'power plane' concept, I will apply 'power plane' concept to 
Exynos4's busfreq driver.

I prefer to handle 'power plane' concept on other patchset for Exynos4's 
busfreq driver.

Best Regards,
Chanwoo Choi

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCHv2 8/8] devfreq: exynos4: Add busfreq driver for exynos4210/exynos4x12

2014-03-15 Thread Tomasz Figa

On 15.03.2014 12:36, Kyungmin Park wrote:

On Sat, Mar 15, 2014 at 2:35 AM, Tomasz Figa  wrote:

Hi Chanwoo, Mark,


On 14.03.2014 11:56, Chanwoo Choi wrote:


Hi Mark,

On 03/14/2014 07:35 PM, Mark Rutland wrote:


On Fri, Mar 14, 2014 at 07:14:37AM +, Chanwoo Choi wrote:


Hi Mark,

On 03/14/2014 02:53 AM, Mark Rutland wrote:


On Thu, Mar 13, 2014 at 08:17:29AM +, Chanwoo Choi wrote:


This patch add busfreq driver for Exynos4210/Exynos4x12 memory
interface
and bus to support DVFS(Dynamic Voltage Frequency Scaling) according
to PPMU
counters. PPMU (Performance Profiling Monitorings Units) of Exynos4
SoC provides
PPMU counters for DMC(Dynamic Memory Controller) to check memory bus
utilization
and then busfreq driver adjusts dynamically the operating
frequency/voltage
by using DEVFREQ Subsystem.

Signed-off-by: Chanwoo Choi 
---
   .../devicetree/bindings/devfreq/exynos4_bus.txt| 49
++
   1 file changed, 49 insertions(+)
   create mode 100644
Documentation/devicetree/bindings/devfreq/exynos4_bus.txt

diff --git a/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
b/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
new file mode 100644
index 000..2a83fcc
--- /dev/null
+++ b/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
@@ -0,0 +1,49 @@
+
+Exynos4210/4x12 busfreq driver
+-
+
+Exynos4210/4x12 Soc busfreq driver with devfreq for Memory bus
frequency/voltage
+scaling according to PPMU counters of memory controllers
+
+Required properties:
+- compatible   : should contain Exynos4 SoC type as follwoing:
+ - "samsung,exynos4x12-busfreq" for Exynos4x12
+ - "samsung,exynos4210-busfreq" for Exynos4210



Is there a device called "busfreq"? What device does this binding
describe?



I'll add detailed description of busfreq as following:

"busfreq(bus frequendcy)" driver means that busfreq driver control
dynamically
memory bus frequency/voltage by checking memory bus utilization to
optimize
power-consumption. When checking memeory bus utilization,
exynos4_busfreq driver
would use PPMU(Performance Profiling Monitoring Units).



This still sounds like a description of the _driver_, not the _device_.
The binding should describe the hardware, now the high level abstraction
that software is going to build atop of it.

It sounds like this is a binding for the DMC PPMU?

Is the PPMU a component of the DMC, or is it bolted on the side?



PPMU(Performance Profiling Monitoring Unit) is to profile performance
event of
various IP on Exynos4. Each PPMU provide perforamnce event for each IP.
We can check various PPMU as following:

PPMU_3D
PPMU_ACP
PPMU_CAMIF
PPMU_CPU
PPMU_DMC0
PPMU_DMC1
PPMU_FSYS
PPMU_IMAGE
PPMU_LCD0
PPMU_LCD1
PPMU_MFC_L
PPMU_MFC_R
PPMU_TV
PPMU_LEFT_BUS
PPMU_RIGHT_BUS

DMC (Dynamic Memory Controller) control the operation of DRAM in Exynos4
SoC.
If we need to get memory bust utilization of DMC, we can get memory bus
utilization
from PPMU_DMC0/PPMU_DMC1.

So, Exynos4's busfreq used two(PPMU_DMC0/PPMU_DMC1) among upper various
PPMU list.



Well, PPMUs and DMCs are separate hardware blocks found inside Exynos SoCs.
Busfreq/devfreq is just a Linux-specific abstraction responsible for
collecting data using PPMUs and controlling frequencies and voltages of
appropriate power planes, vdd_int responsible for powering DMC0 and DMC1
blocks in this case.

I'm afraid that the binding you're proposing is unfortunately incorrect,
because it represents the software abstraction, not the real hardware.

Instead, this should be separated into several independent bindings:

  - PPMU bindings to list all the PPMU instances present in the SoC and
resources they need,

  - power plane bindings, which define a power plane in which multiple IP
blocks might reside, can be monitored by one or more PPMU units and
frequency and voltage of which can be configured according to determined
performance level. Needed resources will be clocks and regulators to scale
and probably also operating points.

Then, exynos-busfreq driver should bind to such power planes, parse
necessary data from DT (list of PPMUs and IP blocks, clocks, regulators and
operating points) and register a devfreq entity.


How about to use component DT like DRM?


Well, basically this is what I proposed. Each "power plane" would be a 
"subsystem" built from components - PPMUs, IP blocks, clocks, 
regulators, etc, specified in DT by existing means, e.g.


ppmu_disp: ppmu@1234 {
/* Resources of PPMU */
}

fimd: fimd@2345 {
/* Resources of FIMD */
};

power-plane-display {
compatible = "samsung,power-plane";
samsung,ppmus = <_disp>, ...;
samsung,devices = <>, ...;
clock-names = "aclk_xxx", "sclk_xxx", ...;
clocks = ...;
vdd_xxx-supply = ...;
};

However I'm still wondering whether there shouldn't be a relation 
between power planes and power domains and simply existing power domain 

Re: [PATCHv2 8/8] devfreq: exynos4: Add busfreq driver for exynos4210/exynos4x12

2014-03-15 Thread Kyungmin Park
On Sat, Mar 15, 2014 at 2:35 AM, Tomasz Figa  wrote:
> Hi Chanwoo, Mark,
>
>
> On 14.03.2014 11:56, Chanwoo Choi wrote:
>>
>> Hi Mark,
>>
>> On 03/14/2014 07:35 PM, Mark Rutland wrote:
>>>
>>> On Fri, Mar 14, 2014 at 07:14:37AM +, Chanwoo Choi wrote:

 Hi Mark,

 On 03/14/2014 02:53 AM, Mark Rutland wrote:
>
> On Thu, Mar 13, 2014 at 08:17:29AM +, Chanwoo Choi wrote:
>>
>> This patch add busfreq driver for Exynos4210/Exynos4x12 memory
>> interface
>> and bus to support DVFS(Dynamic Voltage Frequency Scaling) according
>> to PPMU
>> counters. PPMU (Performance Profiling Monitorings Units) of Exynos4
>> SoC provides
>> PPMU counters for DMC(Dynamic Memory Controller) to check memory bus
>> utilization
>> and then busfreq driver adjusts dynamically the operating
>> frequency/voltage
>> by using DEVFREQ Subsystem.
>>
>> Signed-off-by: Chanwoo Choi 
>> ---
>>   .../devicetree/bindings/devfreq/exynos4_bus.txt| 49
>> ++
>>   1 file changed, 49 insertions(+)
>>   create mode 100644
>> Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
>>
>> diff --git a/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
>> b/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
>> new file mode 100644
>> index 000..2a83fcc
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
>> @@ -0,0 +1,49 @@
>> +
>> +Exynos4210/4x12 busfreq driver
>> +-
>> +
>> +Exynos4210/4x12 Soc busfreq driver with devfreq for Memory bus
>> frequency/voltage
>> +scaling according to PPMU counters of memory controllers
>> +
>> +Required properties:
>> +- compatible   : should contain Exynos4 SoC type as follwoing:
>> + - "samsung,exynos4x12-busfreq" for Exynos4x12
>> + - "samsung,exynos4210-busfreq" for Exynos4210
>
>
> Is there a device called "busfreq"? What device does this binding
> describe?


 I'll add detailed description of busfreq as following:

 "busfreq(bus frequendcy)" driver means that busfreq driver control
 dynamically
 memory bus frequency/voltage by checking memory bus utilization to
 optimize
 power-consumption. When checking memeory bus utilization,
 exynos4_busfreq driver
 would use PPMU(Performance Profiling Monitoring Units).
>>>
>>>
>>> This still sounds like a description of the _driver_, not the _device_.
>>> The binding should describe the hardware, now the high level abstraction
>>> that software is going to build atop of it.
>>>
>>> It sounds like this is a binding for the DMC PPMU?
>>>
>>> Is the PPMU a component of the DMC, or is it bolted on the side?
>>
>>
>> PPMU(Performance Profiling Monitoring Unit) is to profile performance
>> event of
>> various IP on Exynos4. Each PPMU provide perforamnce event for each IP.
>> We can check various PPMU as following:
>>
>> PPMU_3D
>> PPMU_ACP
>> PPMU_CAMIF
>> PPMU_CPU
>> PPMU_DMC0
>> PPMU_DMC1
>> PPMU_FSYS
>> PPMU_IMAGE
>> PPMU_LCD0
>> PPMU_LCD1
>> PPMU_MFC_L
>> PPMU_MFC_R
>> PPMU_TV
>> PPMU_LEFT_BUS
>> PPMU_RIGHT_BUS
>>
>> DMC (Dynamic Memory Controller) control the operation of DRAM in Exynos4
>> SoC.
>> If we need to get memory bust utilization of DMC, we can get memory bus
>> utilization
>> from PPMU_DMC0/PPMU_DMC1.
>>
>> So, Exynos4's busfreq used two(PPMU_DMC0/PPMU_DMC1) among upper various
>> PPMU list.
>
>
> Well, PPMUs and DMCs are separate hardware blocks found inside Exynos SoCs.
> Busfreq/devfreq is just a Linux-specific abstraction responsible for
> collecting data using PPMUs and controlling frequencies and voltages of
> appropriate power planes, vdd_int responsible for powering DMC0 and DMC1
> blocks in this case.
>
> I'm afraid that the binding you're proposing is unfortunately incorrect,
> because it represents the software abstraction, not the real hardware.
>
> Instead, this should be separated into several independent bindings:
>
>  - PPMU bindings to list all the PPMU instances present in the SoC and
> resources they need,
>
>  - power plane bindings, which define a power plane in which multiple IP
> blocks might reside, can be monitored by one or more PPMU units and
> frequency and voltage of which can be configured according to determined
> performance level. Needed resources will be clocks and regulators to scale
> and probably also operating points.
>
> Then, exynos-busfreq driver should bind to such power planes, parse
> necessary data from DT (list of PPMUs and IP blocks, clocks, regulators and
> operating points) and register a devfreq entity.

How about to use component DT like DRM?
>
> Best regards,
> Tomasz
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  

Re: [PATCHv2 8/8] devfreq: exynos4: Add busfreq driver for exynos4210/exynos4x12

2014-03-15 Thread Kyungmin Park
On Sat, Mar 15, 2014 at 2:35 AM, Tomasz Figa t.f...@samsung.com wrote:
 Hi Chanwoo, Mark,


 On 14.03.2014 11:56, Chanwoo Choi wrote:

 Hi Mark,

 On 03/14/2014 07:35 PM, Mark Rutland wrote:

 On Fri, Mar 14, 2014 at 07:14:37AM +, Chanwoo Choi wrote:

 Hi Mark,

 On 03/14/2014 02:53 AM, Mark Rutland wrote:

 On Thu, Mar 13, 2014 at 08:17:29AM +, Chanwoo Choi wrote:

 This patch add busfreq driver for Exynos4210/Exynos4x12 memory
 interface
 and bus to support DVFS(Dynamic Voltage Frequency Scaling) according
 to PPMU
 counters. PPMU (Performance Profiling Monitorings Units) of Exynos4
 SoC provides
 PPMU counters for DMC(Dynamic Memory Controller) to check memory bus
 utilization
 and then busfreq driver adjusts dynamically the operating
 frequency/voltage
 by using DEVFREQ Subsystem.

 Signed-off-by: Chanwoo Choi cw00.c...@samsung.com
 ---
   .../devicetree/bindings/devfreq/exynos4_bus.txt| 49
 ++
   1 file changed, 49 insertions(+)
   create mode 100644
 Documentation/devicetree/bindings/devfreq/exynos4_bus.txt

 diff --git a/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
 b/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
 new file mode 100644
 index 000..2a83fcc
 --- /dev/null
 +++ b/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
 @@ -0,0 +1,49 @@
 +
 +Exynos4210/4x12 busfreq driver
 +-
 +
 +Exynos4210/4x12 Soc busfreq driver with devfreq for Memory bus
 frequency/voltage
 +scaling according to PPMU counters of memory controllers
 +
 +Required properties:
 +- compatible   : should contain Exynos4 SoC type as follwoing:
 + - samsung,exynos4x12-busfreq for Exynos4x12
 + - samsung,exynos4210-busfreq for Exynos4210


 Is there a device called busfreq? What device does this binding
 describe?


 I'll add detailed description of busfreq as following:

 busfreq(bus frequendcy) driver means that busfreq driver control
 dynamically
 memory bus frequency/voltage by checking memory bus utilization to
 optimize
 power-consumption. When checking memeory bus utilization,
 exynos4_busfreq driver
 would use PPMU(Performance Profiling Monitoring Units).


 This still sounds like a description of the _driver_, not the _device_.
 The binding should describe the hardware, now the high level abstraction
 that software is going to build atop of it.

 It sounds like this is a binding for the DMC PPMU?

 Is the PPMU a component of the DMC, or is it bolted on the side?


 PPMU(Performance Profiling Monitoring Unit) is to profile performance
 event of
 various IP on Exynos4. Each PPMU provide perforamnce event for each IP.
 We can check various PPMU as following:

 PPMU_3D
 PPMU_ACP
 PPMU_CAMIF
 PPMU_CPU
 PPMU_DMC0
 PPMU_DMC1
 PPMU_FSYS
 PPMU_IMAGE
 PPMU_LCD0
 PPMU_LCD1
 PPMU_MFC_L
 PPMU_MFC_R
 PPMU_TV
 PPMU_LEFT_BUS
 PPMU_RIGHT_BUS

 DMC (Dynamic Memory Controller) control the operation of DRAM in Exynos4
 SoC.
 If we need to get memory bust utilization of DMC, we can get memory bus
 utilization
 from PPMU_DMC0/PPMU_DMC1.

 So, Exynos4's busfreq used two(PPMU_DMC0/PPMU_DMC1) among upper various
 PPMU list.


 Well, PPMUs and DMCs are separate hardware blocks found inside Exynos SoCs.
 Busfreq/devfreq is just a Linux-specific abstraction responsible for
 collecting data using PPMUs and controlling frequencies and voltages of
 appropriate power planes, vdd_int responsible for powering DMC0 and DMC1
 blocks in this case.

 I'm afraid that the binding you're proposing is unfortunately incorrect,
 because it represents the software abstraction, not the real hardware.

 Instead, this should be separated into several independent bindings:

  - PPMU bindings to list all the PPMU instances present in the SoC and
 resources they need,

  - power plane bindings, which define a power plane in which multiple IP
 blocks might reside, can be monitored by one or more PPMU units and
 frequency and voltage of which can be configured according to determined
 performance level. Needed resources will be clocks and regulators to scale
 and probably also operating points.

 Then, exynos-busfreq driver should bind to such power planes, parse
 necessary data from DT (list of PPMUs and IP blocks, clocks, regulators and
 operating points) and register a devfreq entity.

How about to use component DT like DRM?

 Best regards,
 Tomasz

 --
 To unsubscribe from this list: send the line unsubscribe linux-kernel in
 the body of a message to majord...@vger.kernel.org
 More majordomo info at  http://vger.kernel.org/majordomo-info.html
 Please read the FAQ at  http://www.tux.org/lkml/
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCHv2 8/8] devfreq: exynos4: Add busfreq driver for exynos4210/exynos4x12

2014-03-15 Thread Tomasz Figa

On 15.03.2014 12:36, Kyungmin Park wrote:

On Sat, Mar 15, 2014 at 2:35 AM, Tomasz Figa t.f...@samsung.com wrote:

Hi Chanwoo, Mark,


On 14.03.2014 11:56, Chanwoo Choi wrote:


Hi Mark,

On 03/14/2014 07:35 PM, Mark Rutland wrote:


On Fri, Mar 14, 2014 at 07:14:37AM +, Chanwoo Choi wrote:


Hi Mark,

On 03/14/2014 02:53 AM, Mark Rutland wrote:


On Thu, Mar 13, 2014 at 08:17:29AM +, Chanwoo Choi wrote:


This patch add busfreq driver for Exynos4210/Exynos4x12 memory
interface
and bus to support DVFS(Dynamic Voltage Frequency Scaling) according
to PPMU
counters. PPMU (Performance Profiling Monitorings Units) of Exynos4
SoC provides
PPMU counters for DMC(Dynamic Memory Controller) to check memory bus
utilization
and then busfreq driver adjusts dynamically the operating
frequency/voltage
by using DEVFREQ Subsystem.

Signed-off-by: Chanwoo Choi cw00.c...@samsung.com
---
   .../devicetree/bindings/devfreq/exynos4_bus.txt| 49
++
   1 file changed, 49 insertions(+)
   create mode 100644
Documentation/devicetree/bindings/devfreq/exynos4_bus.txt

diff --git a/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
b/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
new file mode 100644
index 000..2a83fcc
--- /dev/null
+++ b/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
@@ -0,0 +1,49 @@
+
+Exynos4210/4x12 busfreq driver
+-
+
+Exynos4210/4x12 Soc busfreq driver with devfreq for Memory bus
frequency/voltage
+scaling according to PPMU counters of memory controllers
+
+Required properties:
+- compatible   : should contain Exynos4 SoC type as follwoing:
+ - samsung,exynos4x12-busfreq for Exynos4x12
+ - samsung,exynos4210-busfreq for Exynos4210



Is there a device called busfreq? What device does this binding
describe?



I'll add detailed description of busfreq as following:

busfreq(bus frequendcy) driver means that busfreq driver control
dynamically
memory bus frequency/voltage by checking memory bus utilization to
optimize
power-consumption. When checking memeory bus utilization,
exynos4_busfreq driver
would use PPMU(Performance Profiling Monitoring Units).



This still sounds like a description of the _driver_, not the _device_.
The binding should describe the hardware, now the high level abstraction
that software is going to build atop of it.

It sounds like this is a binding for the DMC PPMU?

Is the PPMU a component of the DMC, or is it bolted on the side?



PPMU(Performance Profiling Monitoring Unit) is to profile performance
event of
various IP on Exynos4. Each PPMU provide perforamnce event for each IP.
We can check various PPMU as following:

PPMU_3D
PPMU_ACP
PPMU_CAMIF
PPMU_CPU
PPMU_DMC0
PPMU_DMC1
PPMU_FSYS
PPMU_IMAGE
PPMU_LCD0
PPMU_LCD1
PPMU_MFC_L
PPMU_MFC_R
PPMU_TV
PPMU_LEFT_BUS
PPMU_RIGHT_BUS

DMC (Dynamic Memory Controller) control the operation of DRAM in Exynos4
SoC.
If we need to get memory bust utilization of DMC, we can get memory bus
utilization
from PPMU_DMC0/PPMU_DMC1.

So, Exynos4's busfreq used two(PPMU_DMC0/PPMU_DMC1) among upper various
PPMU list.



Well, PPMUs and DMCs are separate hardware blocks found inside Exynos SoCs.
Busfreq/devfreq is just a Linux-specific abstraction responsible for
collecting data using PPMUs and controlling frequencies and voltages of
appropriate power planes, vdd_int responsible for powering DMC0 and DMC1
blocks in this case.

I'm afraid that the binding you're proposing is unfortunately incorrect,
because it represents the software abstraction, not the real hardware.

Instead, this should be separated into several independent bindings:

  - PPMU bindings to list all the PPMU instances present in the SoC and
resources they need,

  - power plane bindings, which define a power plane in which multiple IP
blocks might reside, can be monitored by one or more PPMU units and
frequency and voltage of which can be configured according to determined
performance level. Needed resources will be clocks and regulators to scale
and probably also operating points.

Then, exynos-busfreq driver should bind to such power planes, parse
necessary data from DT (list of PPMUs and IP blocks, clocks, regulators and
operating points) and register a devfreq entity.


How about to use component DT like DRM?


Well, basically this is what I proposed. Each power plane would be a 
subsystem built from components - PPMUs, IP blocks, clocks, 
regulators, etc, specified in DT by existing means, e.g.


ppmu_disp: ppmu@1234 {
/* Resources of PPMU */
}

fimd: fimd@2345 {
/* Resources of FIMD */
};

power-plane-display {
compatible = samsung,power-plane;
samsung,ppmus = ppmu_disp, ...;
samsung,devices = fimd, ...;
clock-names = aclk_xxx, sclk_xxx, ...;
clocks = ...;
vdd_xxx-supply = ...;
};

However I'm still wondering whether there shouldn't be a relation 
between power planes and power domains and simply 

Re: [PATCHv2 8/8] devfreq: exynos4: Add busfreq driver for exynos4210/exynos4x12

2014-03-14 Thread Tomasz Figa

Hi Chanwoo, Mark,

On 14.03.2014 11:56, Chanwoo Choi wrote:

Hi Mark,

On 03/14/2014 07:35 PM, Mark Rutland wrote:

On Fri, Mar 14, 2014 at 07:14:37AM +, Chanwoo Choi wrote:

Hi Mark,

On 03/14/2014 02:53 AM, Mark Rutland wrote:

On Thu, Mar 13, 2014 at 08:17:29AM +, Chanwoo Choi wrote:

This patch add busfreq driver for Exynos4210/Exynos4x12 memory interface
and bus to support DVFS(Dynamic Voltage Frequency Scaling) according to PPMU
counters. PPMU (Performance Profiling Monitorings Units) of Exynos4 SoC provides
PPMU counters for DMC(Dynamic Memory Controller) to check memory bus utilization
and then busfreq driver adjusts dynamically the operating frequency/voltage
by using DEVFREQ Subsystem.

Signed-off-by: Chanwoo Choi 
---
  .../devicetree/bindings/devfreq/exynos4_bus.txt| 49 ++
  1 file changed, 49 insertions(+)
  create mode 100644 Documentation/devicetree/bindings/devfreq/exynos4_bus.txt

diff --git a/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt 
b/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
new file mode 100644
index 000..2a83fcc
--- /dev/null
+++ b/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
@@ -0,0 +1,49 @@
+
+Exynos4210/4x12 busfreq driver
+-
+
+Exynos4210/4x12 Soc busfreq driver with devfreq for Memory bus 
frequency/voltage
+scaling according to PPMU counters of memory controllers
+
+Required properties:
+- compatible   : should contain Exynos4 SoC type as follwoing:
+ - "samsung,exynos4x12-busfreq" for Exynos4x12
+ - "samsung,exynos4210-busfreq" for Exynos4210


Is there a device called "busfreq"? What device does this binding
describe?


I'll add detailed description of busfreq as following:

"busfreq(bus frequendcy)" driver means that busfreq driver control dynamically
memory bus frequency/voltage by checking memory bus utilization to optimize
power-consumption. When checking memeory bus utilization, exynos4_busfreq driver
would use PPMU(Performance Profiling Monitoring Units).


This still sounds like a description of the _driver_, not the _device_.
The binding should describe the hardware, now the high level abstraction
that software is going to build atop of it.

It sounds like this is a binding for the DMC PPMU?

Is the PPMU a component of the DMC, or is it bolted on the side?


PPMU(Performance Profiling Monitoring Unit) is to profile performance event of
various IP on Exynos4. Each PPMU provide perforamnce event for each IP.
We can check various PPMU as following:

PPMU_3D
PPMU_ACP
PPMU_CAMIF
PPMU_CPU
PPMU_DMC0
PPMU_DMC1
PPMU_FSYS
PPMU_IMAGE
PPMU_LCD0
PPMU_LCD1
PPMU_MFC_L
PPMU_MFC_R
PPMU_TV
PPMU_LEFT_BUS
PPMU_RIGHT_BUS

DMC (Dynamic Memory Controller) control the operation of DRAM in Exynos4 SoC.
If we need to get memory bust utilization of DMC, we can get memory bus 
utilization
from PPMU_DMC0/PPMU_DMC1.

So, Exynos4's busfreq used two(PPMU_DMC0/PPMU_DMC1) among upper various PPMU 
list.


Well, PPMUs and DMCs are separate hardware blocks found inside Exynos 
SoCs. Busfreq/devfreq is just a Linux-specific abstraction responsible 
for collecting data using PPMUs and controlling frequencies and voltages 
of appropriate power planes, vdd_int responsible for powering DMC0 and 
DMC1 blocks in this case.


I'm afraid that the binding you're proposing is unfortunately incorrect, 
because it represents the software abstraction, not the real hardware.


Instead, this should be separated into several independent bindings:

 - PPMU bindings to list all the PPMU instances present in the SoC and 
resources they need,


 - power plane bindings, which define a power plane in which multiple 
IP blocks might reside, can be monitored by one or more PPMU units and 
frequency and voltage of which can be configured according to determined 
performance level. Needed resources will be clocks and regulators to 
scale and probably also operating points.


Then, exynos-busfreq driver should bind to such power planes, parse 
necessary data from DT (list of PPMUs and IP blocks, clocks, regulators 
and operating points) and register a devfreq entity.


Best regards,
Tomasz
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCHv2 8/8] devfreq: exynos4: Add busfreq driver for exynos4210/exynos4x12

2014-03-14 Thread Chanwoo Choi
Hi Mark,

On 03/14/2014 07:35 PM, Mark Rutland wrote:
> On Fri, Mar 14, 2014 at 07:14:37AM +, Chanwoo Choi wrote:
>> Hi Mark,
>>
>> On 03/14/2014 02:53 AM, Mark Rutland wrote:
>>> On Thu, Mar 13, 2014 at 08:17:29AM +, Chanwoo Choi wrote:
 This patch add busfreq driver for Exynos4210/Exynos4x12 memory interface
 and bus to support DVFS(Dynamic Voltage Frequency Scaling) according to 
 PPMU
 counters. PPMU (Performance Profiling Monitorings Units) of Exynos4 SoC 
 provides
 PPMU counters for DMC(Dynamic Memory Controller) to check memory bus 
 utilization
 and then busfreq driver adjusts dynamically the operating frequency/voltage
 by using DEVFREQ Subsystem.

 Signed-off-by: Chanwoo Choi 
 ---
  .../devicetree/bindings/devfreq/exynos4_bus.txt| 49 
 ++
  1 file changed, 49 insertions(+)
  create mode 100644 
 Documentation/devicetree/bindings/devfreq/exynos4_bus.txt

 diff --git a/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt 
 b/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
 new file mode 100644
 index 000..2a83fcc
 --- /dev/null
 +++ b/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
 @@ -0,0 +1,49 @@
 +
 +Exynos4210/4x12 busfreq driver
 +-
 +
 +Exynos4210/4x12 Soc busfreq driver with devfreq for Memory bus 
 frequency/voltage
 +scaling according to PPMU counters of memory controllers
 +
 +Required properties:
 +- compatible  : should contain Exynos4 SoC type as follwoing:
 +- "samsung,exynos4x12-busfreq" for Exynos4x12
 +- "samsung,exynos4210-busfreq" for Exynos4210
>>>
>>> Is there a device called "busfreq"? What device does this binding
>>> describe?
>>
>> I'll add detailed description of busfreq as following:
>>
>> "busfreq(bus frequendcy)" driver means that busfreq driver control 
>> dynamically
>> memory bus frequency/voltage by checking memory bus utilization to optimize
>> power-consumption. When checking memeory bus utilization, exynos4_busfreq 
>> driver
>> would use PPMU(Performance Profiling Monitoring Units).
> 
> This still sounds like a description of the _driver_, not the _device_.
> The binding should describe the hardware, now the high level abstraction
> that software is going to build atop of it.
> 
> It sounds like this is a binding for the DMC PPMU?
> 
> Is the PPMU a component of the DMC, or is it bolted on the side?

PPMU(Performance Profiling Monitoring Unit) is to profile performance event of
various IP on Exynos4. Each PPMU provide perforamnce event for each IP.
We can check various PPMU as following:

PPMU_3D
PPMU_ACP
PPMU_CAMIF
PPMU_CPU
PPMU_DMC0
PPMU_DMC1
PPMU_FSYS
PPMU_IMAGE
PPMU_LCD0
PPMU_LCD1
PPMU_MFC_L
PPMU_MFC_R
PPMU_TV
PPMU_LEFT_BUS
PPMU_RIGHT_BUS

DMC (Dynamic Memory Controller) control the operation of DRAM in Exynos4 SoC.
If we need to get memory bust utilization of DMC, we can get memory bus 
utilization
from PPMU_DMC0/PPMU_DMC1.

So, Exynos4's busfreq used two(PPMU_DMC0/PPMU_DMC1) among upper various PPMU 
list.

> 
>>
>>
>>>
 +- reg : offset and length of the ppmudmc0/1
 +- PPMU (Performance Profiling Monitoring Units)
>>>
>>> You seem to require a particular order here. It would be good to be
>>> explicit about it.
>>
>> OK, I'll modify it as following:
>> the offset and length of the PPMU_DMC0 / PPMU_DMC1
>> PPMU_DMC0/PPMU_DMC1 show memory buy utilization to exynos4_bus driver.
>>
>>>
 +: It is to profile performance event of DMC(Dynamic Memory
 +Controller) So, exynos4_bus.c can check memory bus utilization
 +by using PPMU of Exynos4 SoC.
>>>
>>> This is superfluous, and Linux-specific. The binding document shouldn't
>>> need to refer to drivers.
>>
>> I'll remove this description.
>>
>>>
 +- clocks  : clock number of ppmudmc0/1
 +- clock-names : clock name of ppmudmc0/1
>>>
>>> Are these two clocks, or one clock with a slash in the name?
>>>
>>> Please list each name separately.
>>
>> I'll expalin clocks as following:
>>  "ppmudmc0", "ppmudmc1"
>>
>>>
 +- vdd_int-supply: regulator for interface block of Exynos4
> 
> How does the interface block relate to the DMC / PPMU?

If vdd_int is connected to buck3 of PMIC(Power Management IC),

We can see the flow of provided power as following:
: external power --> buck3 pin of PMIC --> vdd_int pin of Exynos4 SoC --> DMC 
IP and PPMU IP of Exynos4 SoC

Thanks,
Chanwoo Choi
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCHv2 8/8] devfreq: exynos4: Add busfreq driver for exynos4210/exynos4x12

2014-03-14 Thread Mark Rutland
On Fri, Mar 14, 2014 at 07:14:37AM +, Chanwoo Choi wrote:
> Hi Mark,
> 
> On 03/14/2014 02:53 AM, Mark Rutland wrote:
> > On Thu, Mar 13, 2014 at 08:17:29AM +, Chanwoo Choi wrote:
> >> This patch add busfreq driver for Exynos4210/Exynos4x12 memory interface
> >> and bus to support DVFS(Dynamic Voltage Frequency Scaling) according to 
> >> PPMU
> >> counters. PPMU (Performance Profiling Monitorings Units) of Exynos4 SoC 
> >> provides
> >> PPMU counters for DMC(Dynamic Memory Controller) to check memory bus 
> >> utilization
> >> and then busfreq driver adjusts dynamically the operating frequency/voltage
> >> by using DEVFREQ Subsystem.
> >>
> >> Signed-off-by: Chanwoo Choi 
> >> ---
> >>  .../devicetree/bindings/devfreq/exynos4_bus.txt| 49 
> >> ++
> >>  1 file changed, 49 insertions(+)
> >>  create mode 100644 
> >> Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
> >>
> >> diff --git a/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt 
> >> b/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
> >> new file mode 100644
> >> index 000..2a83fcc
> >> --- /dev/null
> >> +++ b/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
> >> @@ -0,0 +1,49 @@
> >> +
> >> +Exynos4210/4x12 busfreq driver
> >> +-
> >> +
> >> +Exynos4210/4x12 Soc busfreq driver with devfreq for Memory bus 
> >> frequency/voltage
> >> +scaling according to PPMU counters of memory controllers
> >> +
> >> +Required properties:
> >> +- compatible  : should contain Exynos4 SoC type as follwoing:
> >> +- "samsung,exynos4x12-busfreq" for Exynos4x12
> >> +- "samsung,exynos4210-busfreq" for Exynos4210
> > 
> > Is there a device called "busfreq"? What device does this binding
> > describe?
> 
> I'll add detailed description of busfreq as following:
> 
> "busfreq(bus frequendcy)" driver means that busfreq driver control dynamically
> memory bus frequency/voltage by checking memory bus utilization to optimize
> power-consumption. When checking memeory bus utilization, exynos4_busfreq 
> driver
> would use PPMU(Performance Profiling Monitoring Units).

This still sounds like a description of the _driver_, not the _device_.
The binding should describe the hardware, now the high level abstraction
that software is going to build atop of it.

It sounds like this is a binding for the DMC PPMU?

Is the PPMU a component of the DMC, or is it bolted on the side?

> 
> 
> > 
> >> +- reg : offset and length of the ppmudmc0/1
> >> +- PPMU (Performance Profiling Monitoring Units)
> > 
> > You seem to require a particular order here. It would be good to be
> > explicit about it.
> 
> OK, I'll modify it as following:
> the offset and length of the PPMU_DMC0 / PPMU_DMC1
> PPMU_DMC0/PPMU_DMC1 show memory buy utilization to exynos4_bus driver.
> 
> > 
> >> +: It is to profile performance event of DMC(Dynamic Memory
> >> +Controller) So, exynos4_bus.c can check memory bus utilization
> >> +by using PPMU of Exynos4 SoC.
> > 
> > This is superfluous, and Linux-specific. The binding document shouldn't
> > need to refer to drivers.
> 
> I'll remove this description.
> 
> > 
> >> +- clocks  : clock number of ppmudmc0/1
> >> +- clock-names : clock name of ppmudmc0/1
> > 
> > Are these two clocks, or one clock with a slash in the name?
> > 
> > Please list each name separately.
> 
> I'll expalin clocks as following:
>   "ppmudmc0", "ppmudmc1"
> 
> > 
> >> +- vdd_int-supply: regulator for interface block of Exynos4

How does the interface block relate to the DMC / PPMU?

Cheers,
Mark.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCHv2 8/8] devfreq: exynos4: Add busfreq driver for exynos4210/exynos4x12

2014-03-14 Thread Chanwoo Choi
Hi Mark,

On 03/14/2014 02:53 AM, Mark Rutland wrote:
> On Thu, Mar 13, 2014 at 08:17:29AM +, Chanwoo Choi wrote:
>> This patch add busfreq driver for Exynos4210/Exynos4x12 memory interface
>> and bus to support DVFS(Dynamic Voltage Frequency Scaling) according to PPMU
>> counters. PPMU (Performance Profiling Monitorings Units) of Exynos4 SoC 
>> provides
>> PPMU counters for DMC(Dynamic Memory Controller) to check memory bus 
>> utilization
>> and then busfreq driver adjusts dynamically the operating frequency/voltage
>> by using DEVFREQ Subsystem.
>>
>> Signed-off-by: Chanwoo Choi 
>> ---
>>  .../devicetree/bindings/devfreq/exynos4_bus.txt| 49 
>> ++
>>  1 file changed, 49 insertions(+)
>>  create mode 100644 Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
>>
>> diff --git a/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt 
>> b/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
>> new file mode 100644
>> index 000..2a83fcc
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
>> @@ -0,0 +1,49 @@
>> +
>> +Exynos4210/4x12 busfreq driver
>> +-
>> +
>> +Exynos4210/4x12 Soc busfreq driver with devfreq for Memory bus 
>> frequency/voltage
>> +scaling according to PPMU counters of memory controllers
>> +
>> +Required properties:
>> +- compatible: should contain Exynos4 SoC type as follwoing:
>> +  - "samsung,exynos4x12-busfreq" for Exynos4x12
>> +  - "samsung,exynos4210-busfreq" for Exynos4210
> 
> Is there a device called "busfreq"? What device does this binding
> describe?

I'll add detailed description of busfreq as following:

"busfreq(bus frequendcy)" driver means that busfreq driver control dynamically
memory bus frequency/voltage by checking memory bus utilization to optimize
power-consumption. When checking memeory bus utilization, exynos4_busfreq driver
would use PPMU(Performance Profiling Monitoring Units).


> 
>> +- reg   : offset and length of the ppmudmc0/1
>> +  - PPMU (Performance Profiling Monitoring Units)
> 
> You seem to require a particular order here. It would be good to be
> explicit about it.

OK, I'll modify it as following:
the offset and length of the PPMU_DMC0 / PPMU_DMC1
PPMU_DMC0/PPMU_DMC1 show memory buy utilization to exynos4_bus driver.

> 
>> +  : It is to profile performance event of DMC(Dynamic Memory
>> +  Controller) So, exynos4_bus.c can check memory bus utilization
>> +  by using PPMU of Exynos4 SoC.
> 
> This is superfluous, and Linux-specific. The binding document shouldn't
> need to refer to drivers.

I'll remove this description.

> 
>> +- clocks: clock number of ppmudmc0/1
>> +- clock-names   : clock name of ppmudmc0/1
> 
> Are these two clocks, or one clock with a slash in the name?
> 
> Please list each name separately.

I'll expalin clocks as following:
"ppmudmc0", "ppmudmc1"

> 
>> +- vdd_int-supply: regulator for interface block of Exynos4
>> +
>> +Optional properties:
>> +- vdd_mif-supply: regulator for DMC block of Exynos4x12 if Exynos4x12 Soc
>> +- regs-name : register name of ppmudmc0/1
> 
> This is completely nonstandard. Did you mean reg-names?

I'll remove it about 'regs-name'.

> 
> Please be explicit about the names you expect. Write them in full,
> quoted, and describe the relationship to the reg property.
> 
>> +
>> +All the required listed above must be defined under code busfreq with 
>> devfreq
> 
> I'm having some difficulty figuring out what exactly this is intended to
> mean.

I'll add detailed opeation method and role of exynos4_busfreq driver.

Thanks,
Chanwoo Choi
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCHv2 8/8] devfreq: exynos4: Add busfreq driver for exynos4210/exynos4x12

2014-03-14 Thread Chanwoo Choi
Hi Mark,

On 03/14/2014 02:53 AM, Mark Rutland wrote:
 On Thu, Mar 13, 2014 at 08:17:29AM +, Chanwoo Choi wrote:
 This patch add busfreq driver for Exynos4210/Exynos4x12 memory interface
 and bus to support DVFS(Dynamic Voltage Frequency Scaling) according to PPMU
 counters. PPMU (Performance Profiling Monitorings Units) of Exynos4 SoC 
 provides
 PPMU counters for DMC(Dynamic Memory Controller) to check memory bus 
 utilization
 and then busfreq driver adjusts dynamically the operating frequency/voltage
 by using DEVFREQ Subsystem.

 Signed-off-by: Chanwoo Choi cw00.c...@samsung.com
 ---
  .../devicetree/bindings/devfreq/exynos4_bus.txt| 49 
 ++
  1 file changed, 49 insertions(+)
  create mode 100644 Documentation/devicetree/bindings/devfreq/exynos4_bus.txt

 diff --git a/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt 
 b/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
 new file mode 100644
 index 000..2a83fcc
 --- /dev/null
 +++ b/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
 @@ -0,0 +1,49 @@
 +
 +Exynos4210/4x12 busfreq driver
 +-
 +
 +Exynos4210/4x12 Soc busfreq driver with devfreq for Memory bus 
 frequency/voltage
 +scaling according to PPMU counters of memory controllers
 +
 +Required properties:
 +- compatible: should contain Exynos4 SoC type as follwoing:
 +  - samsung,exynos4x12-busfreq for Exynos4x12
 +  - samsung,exynos4210-busfreq for Exynos4210
 
 Is there a device called busfreq? What device does this binding
 describe?

I'll add detailed description of busfreq as following:

busfreq(bus frequendcy) driver means that busfreq driver control dynamically
memory bus frequency/voltage by checking memory bus utilization to optimize
power-consumption. When checking memeory bus utilization, exynos4_busfreq driver
would use PPMU(Performance Profiling Monitoring Units).


 
 +- reg   : offset and length of the ppmudmc0/1
 +  - PPMU (Performance Profiling Monitoring Units)
 
 You seem to require a particular order here. It would be good to be
 explicit about it.

OK, I'll modify it as following:
the offset and length of the PPMU_DMC0 / PPMU_DMC1
PPMU_DMC0/PPMU_DMC1 show memory buy utilization to exynos4_bus driver.

 
 +  : It is to profile performance event of DMC(Dynamic Memory
 +  Controller) So, exynos4_bus.c can check memory bus utilization
 +  by using PPMU of Exynos4 SoC.
 
 This is superfluous, and Linux-specific. The binding document shouldn't
 need to refer to drivers.

I'll remove this description.

 
 +- clocks: clock number of ppmudmc0/1
 +- clock-names   : clock name of ppmudmc0/1
 
 Are these two clocks, or one clock with a slash in the name?
 
 Please list each name separately.

I'll expalin clocks as following:
ppmudmc0, ppmudmc1

 
 +- vdd_int-supply: regulator for interface block of Exynos4
 +
 +Optional properties:
 +- vdd_mif-supply: regulator for DMC block of Exynos4x12 if Exynos4x12 Soc
 +- regs-name : register name of ppmudmc0/1
 
 This is completely nonstandard. Did you mean reg-names?

I'll remove it about 'regs-name'.

 
 Please be explicit about the names you expect. Write them in full,
 quoted, and describe the relationship to the reg property.
 
 +
 +All the required listed above must be defined under code busfreq with 
 devfreq
 
 I'm having some difficulty figuring out what exactly this is intended to
 mean.

I'll add detailed opeation method and role of exynos4_busfreq driver.

Thanks,
Chanwoo Choi
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCHv2 8/8] devfreq: exynos4: Add busfreq driver for exynos4210/exynos4x12

2014-03-14 Thread Mark Rutland
On Fri, Mar 14, 2014 at 07:14:37AM +, Chanwoo Choi wrote:
 Hi Mark,
 
 On 03/14/2014 02:53 AM, Mark Rutland wrote:
  On Thu, Mar 13, 2014 at 08:17:29AM +, Chanwoo Choi wrote:
  This patch add busfreq driver for Exynos4210/Exynos4x12 memory interface
  and bus to support DVFS(Dynamic Voltage Frequency Scaling) according to 
  PPMU
  counters. PPMU (Performance Profiling Monitorings Units) of Exynos4 SoC 
  provides
  PPMU counters for DMC(Dynamic Memory Controller) to check memory bus 
  utilization
  and then busfreq driver adjusts dynamically the operating frequency/voltage
  by using DEVFREQ Subsystem.
 
  Signed-off-by: Chanwoo Choi cw00.c...@samsung.com
  ---
   .../devicetree/bindings/devfreq/exynos4_bus.txt| 49 
  ++
   1 file changed, 49 insertions(+)
   create mode 100644 
  Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
 
  diff --git a/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt 
  b/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
  new file mode 100644
  index 000..2a83fcc
  --- /dev/null
  +++ b/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
  @@ -0,0 +1,49 @@
  +
  +Exynos4210/4x12 busfreq driver
  +-
  +
  +Exynos4210/4x12 Soc busfreq driver with devfreq for Memory bus 
  frequency/voltage
  +scaling according to PPMU counters of memory controllers
  +
  +Required properties:
  +- compatible  : should contain Exynos4 SoC type as follwoing:
  +- samsung,exynos4x12-busfreq for Exynos4x12
  +- samsung,exynos4210-busfreq for Exynos4210
  
  Is there a device called busfreq? What device does this binding
  describe?
 
 I'll add detailed description of busfreq as following:
 
 busfreq(bus frequendcy) driver means that busfreq driver control dynamically
 memory bus frequency/voltage by checking memory bus utilization to optimize
 power-consumption. When checking memeory bus utilization, exynos4_busfreq 
 driver
 would use PPMU(Performance Profiling Monitoring Units).

This still sounds like a description of the _driver_, not the _device_.
The binding should describe the hardware, now the high level abstraction
that software is going to build atop of it.

It sounds like this is a binding for the DMC PPMU?

Is the PPMU a component of the DMC, or is it bolted on the side?

 
 
  
  +- reg : offset and length of the ppmudmc0/1
  +- PPMU (Performance Profiling Monitoring Units)
  
  You seem to require a particular order here. It would be good to be
  explicit about it.
 
 OK, I'll modify it as following:
 the offset and length of the PPMU_DMC0 / PPMU_DMC1
 PPMU_DMC0/PPMU_DMC1 show memory buy utilization to exynos4_bus driver.
 
  
  +: It is to profile performance event of DMC(Dynamic Memory
  +Controller) So, exynos4_bus.c can check memory bus utilization
  +by using PPMU of Exynos4 SoC.
  
  This is superfluous, and Linux-specific. The binding document shouldn't
  need to refer to drivers.
 
 I'll remove this description.
 
  
  +- clocks  : clock number of ppmudmc0/1
  +- clock-names : clock name of ppmudmc0/1
  
  Are these two clocks, or one clock with a slash in the name?
  
  Please list each name separately.
 
 I'll expalin clocks as following:
   ppmudmc0, ppmudmc1
 
  
  +- vdd_int-supply: regulator for interface block of Exynos4

How does the interface block relate to the DMC / PPMU?

Cheers,
Mark.
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCHv2 8/8] devfreq: exynos4: Add busfreq driver for exynos4210/exynos4x12

2014-03-14 Thread Chanwoo Choi
Hi Mark,

On 03/14/2014 07:35 PM, Mark Rutland wrote:
 On Fri, Mar 14, 2014 at 07:14:37AM +, Chanwoo Choi wrote:
 Hi Mark,

 On 03/14/2014 02:53 AM, Mark Rutland wrote:
 On Thu, Mar 13, 2014 at 08:17:29AM +, Chanwoo Choi wrote:
 This patch add busfreq driver for Exynos4210/Exynos4x12 memory interface
 and bus to support DVFS(Dynamic Voltage Frequency Scaling) according to 
 PPMU
 counters. PPMU (Performance Profiling Monitorings Units) of Exynos4 SoC 
 provides
 PPMU counters for DMC(Dynamic Memory Controller) to check memory bus 
 utilization
 and then busfreq driver adjusts dynamically the operating frequency/voltage
 by using DEVFREQ Subsystem.

 Signed-off-by: Chanwoo Choi cw00.c...@samsung.com
 ---
  .../devicetree/bindings/devfreq/exynos4_bus.txt| 49 
 ++
  1 file changed, 49 insertions(+)
  create mode 100644 
 Documentation/devicetree/bindings/devfreq/exynos4_bus.txt

 diff --git a/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt 
 b/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
 new file mode 100644
 index 000..2a83fcc
 --- /dev/null
 +++ b/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
 @@ -0,0 +1,49 @@
 +
 +Exynos4210/4x12 busfreq driver
 +-
 +
 +Exynos4210/4x12 Soc busfreq driver with devfreq for Memory bus 
 frequency/voltage
 +scaling according to PPMU counters of memory controllers
 +
 +Required properties:
 +- compatible  : should contain Exynos4 SoC type as follwoing:
 +- samsung,exynos4x12-busfreq for Exynos4x12
 +- samsung,exynos4210-busfreq for Exynos4210

 Is there a device called busfreq? What device does this binding
 describe?

 I'll add detailed description of busfreq as following:

 busfreq(bus frequendcy) driver means that busfreq driver control 
 dynamically
 memory bus frequency/voltage by checking memory bus utilization to optimize
 power-consumption. When checking memeory bus utilization, exynos4_busfreq 
 driver
 would use PPMU(Performance Profiling Monitoring Units).
 
 This still sounds like a description of the _driver_, not the _device_.
 The binding should describe the hardware, now the high level abstraction
 that software is going to build atop of it.
 
 It sounds like this is a binding for the DMC PPMU?
 
 Is the PPMU a component of the DMC, or is it bolted on the side?

PPMU(Performance Profiling Monitoring Unit) is to profile performance event of
various IP on Exynos4. Each PPMU provide perforamnce event for each IP.
We can check various PPMU as following:

PPMU_3D
PPMU_ACP
PPMU_CAMIF
PPMU_CPU
PPMU_DMC0
PPMU_DMC1
PPMU_FSYS
PPMU_IMAGE
PPMU_LCD0
PPMU_LCD1
PPMU_MFC_L
PPMU_MFC_R
PPMU_TV
PPMU_LEFT_BUS
PPMU_RIGHT_BUS

DMC (Dynamic Memory Controller) control the operation of DRAM in Exynos4 SoC.
If we need to get memory bust utilization of DMC, we can get memory bus 
utilization
from PPMU_DMC0/PPMU_DMC1.

So, Exynos4's busfreq used two(PPMU_DMC0/PPMU_DMC1) among upper various PPMU 
list.

 



 +- reg : offset and length of the ppmudmc0/1
 +- PPMU (Performance Profiling Monitoring Units)

 You seem to require a particular order here. It would be good to be
 explicit about it.

 OK, I'll modify it as following:
 the offset and length of the PPMU_DMC0 / PPMU_DMC1
 PPMU_DMC0/PPMU_DMC1 show memory buy utilization to exynos4_bus driver.


 +: It is to profile performance event of DMC(Dynamic Memory
 +Controller) So, exynos4_bus.c can check memory bus utilization
 +by using PPMU of Exynos4 SoC.

 This is superfluous, and Linux-specific. The binding document shouldn't
 need to refer to drivers.

 I'll remove this description.


 +- clocks  : clock number of ppmudmc0/1
 +- clock-names : clock name of ppmudmc0/1

 Are these two clocks, or one clock with a slash in the name?

 Please list each name separately.

 I'll expalin clocks as following:
  ppmudmc0, ppmudmc1


 +- vdd_int-supply: regulator for interface block of Exynos4
 
 How does the interface block relate to the DMC / PPMU?

If vdd_int is connected to buck3 of PMIC(Power Management IC),

We can see the flow of provided power as following:
: external power -- buck3 pin of PMIC -- vdd_int pin of Exynos4 SoC -- DMC 
IP and PPMU IP of Exynos4 SoC

Thanks,
Chanwoo Choi
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCHv2 8/8] devfreq: exynos4: Add busfreq driver for exynos4210/exynos4x12

2014-03-14 Thread Tomasz Figa

Hi Chanwoo, Mark,

On 14.03.2014 11:56, Chanwoo Choi wrote:

Hi Mark,

On 03/14/2014 07:35 PM, Mark Rutland wrote:

On Fri, Mar 14, 2014 at 07:14:37AM +, Chanwoo Choi wrote:

Hi Mark,

On 03/14/2014 02:53 AM, Mark Rutland wrote:

On Thu, Mar 13, 2014 at 08:17:29AM +, Chanwoo Choi wrote:

This patch add busfreq driver for Exynos4210/Exynos4x12 memory interface
and bus to support DVFS(Dynamic Voltage Frequency Scaling) according to PPMU
counters. PPMU (Performance Profiling Monitorings Units) of Exynos4 SoC provides
PPMU counters for DMC(Dynamic Memory Controller) to check memory bus utilization
and then busfreq driver adjusts dynamically the operating frequency/voltage
by using DEVFREQ Subsystem.

Signed-off-by: Chanwoo Choi cw00.c...@samsung.com
---
  .../devicetree/bindings/devfreq/exynos4_bus.txt| 49 ++
  1 file changed, 49 insertions(+)
  create mode 100644 Documentation/devicetree/bindings/devfreq/exynos4_bus.txt

diff --git a/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt 
b/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
new file mode 100644
index 000..2a83fcc
--- /dev/null
+++ b/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
@@ -0,0 +1,49 @@
+
+Exynos4210/4x12 busfreq driver
+-
+
+Exynos4210/4x12 Soc busfreq driver with devfreq for Memory bus 
frequency/voltage
+scaling according to PPMU counters of memory controllers
+
+Required properties:
+- compatible   : should contain Exynos4 SoC type as follwoing:
+ - samsung,exynos4x12-busfreq for Exynos4x12
+ - samsung,exynos4210-busfreq for Exynos4210


Is there a device called busfreq? What device does this binding
describe?


I'll add detailed description of busfreq as following:

busfreq(bus frequendcy) driver means that busfreq driver control dynamically
memory bus frequency/voltage by checking memory bus utilization to optimize
power-consumption. When checking memeory bus utilization, exynos4_busfreq driver
would use PPMU(Performance Profiling Monitoring Units).


This still sounds like a description of the _driver_, not the _device_.
The binding should describe the hardware, now the high level abstraction
that software is going to build atop of it.

It sounds like this is a binding for the DMC PPMU?

Is the PPMU a component of the DMC, or is it bolted on the side?


PPMU(Performance Profiling Monitoring Unit) is to profile performance event of
various IP on Exynos4. Each PPMU provide perforamnce event for each IP.
We can check various PPMU as following:

PPMU_3D
PPMU_ACP
PPMU_CAMIF
PPMU_CPU
PPMU_DMC0
PPMU_DMC1
PPMU_FSYS
PPMU_IMAGE
PPMU_LCD0
PPMU_LCD1
PPMU_MFC_L
PPMU_MFC_R
PPMU_TV
PPMU_LEFT_BUS
PPMU_RIGHT_BUS

DMC (Dynamic Memory Controller) control the operation of DRAM in Exynos4 SoC.
If we need to get memory bust utilization of DMC, we can get memory bus 
utilization
from PPMU_DMC0/PPMU_DMC1.

So, Exynos4's busfreq used two(PPMU_DMC0/PPMU_DMC1) among upper various PPMU 
list.


Well, PPMUs and DMCs are separate hardware blocks found inside Exynos 
SoCs. Busfreq/devfreq is just a Linux-specific abstraction responsible 
for collecting data using PPMUs and controlling frequencies and voltages 
of appropriate power planes, vdd_int responsible for powering DMC0 and 
DMC1 blocks in this case.


I'm afraid that the binding you're proposing is unfortunately incorrect, 
because it represents the software abstraction, not the real hardware.


Instead, this should be separated into several independent bindings:

 - PPMU bindings to list all the PPMU instances present in the SoC and 
resources they need,


 - power plane bindings, which define a power plane in which multiple 
IP blocks might reside, can be monitored by one or more PPMU units and 
frequency and voltage of which can be configured according to determined 
performance level. Needed resources will be clocks and regulators to 
scale and probably also operating points.


Then, exynos-busfreq driver should bind to such power planes, parse 
necessary data from DT (list of PPMUs and IP blocks, clocks, regulators 
and operating points) and register a devfreq entity.


Best regards,
Tomasz
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCHv2 8/8] devfreq: exynos4: Add busfreq driver for exynos4210/exynos4x12

2014-03-13 Thread Mark Rutland
On Thu, Mar 13, 2014 at 08:17:29AM +, Chanwoo Choi wrote:
> This patch add busfreq driver for Exynos4210/Exynos4x12 memory interface
> and bus to support DVFS(Dynamic Voltage Frequency Scaling) according to PPMU
> counters. PPMU (Performance Profiling Monitorings Units) of Exynos4 SoC 
> provides
> PPMU counters for DMC(Dynamic Memory Controller) to check memory bus 
> utilization
> and then busfreq driver adjusts dynamically the operating frequency/voltage
> by using DEVFREQ Subsystem.
> 
> Signed-off-by: Chanwoo Choi 
> ---
>  .../devicetree/bindings/devfreq/exynos4_bus.txt| 49 
> ++
>  1 file changed, 49 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
> 
> diff --git a/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt 
> b/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
> new file mode 100644
> index 000..2a83fcc
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
> @@ -0,0 +1,49 @@
> +
> +Exynos4210/4x12 busfreq driver
> +-
> +
> +Exynos4210/4x12 Soc busfreq driver with devfreq for Memory bus 
> frequency/voltage
> +scaling according to PPMU counters of memory controllers
> +
> +Required properties:
> +- compatible : should contain Exynos4 SoC type as follwoing:
> +   - "samsung,exynos4x12-busfreq" for Exynos4x12
> +   - "samsung,exynos4210-busfreq" for Exynos4210

Is there a device called "busfreq"? What device does this binding
describe?

> +- reg: offset and length of the ppmudmc0/1
> +   - PPMU (Performance Profiling Monitoring Units)

You seem to require a particular order here. It would be good to be
explicit about it.

> +   : It is to profile performance event of DMC(Dynamic Memory
> +   Controller) So, exynos4_bus.c can check memory bus utilization
> +   by using PPMU of Exynos4 SoC.

This is superfluous, and Linux-specific. The binding document shouldn't
need to refer to drivers.

> +- clocks : clock number of ppmudmc0/1
> +- clock-names: clock name of ppmudmc0/1

Are these two clocks, or one clock with a slash in the name?

Please list each name separately.

> +- vdd_int-supply: regulator for interface block of Exynos4
> +
> +Optional properties:
> +- vdd_mif-supply: regulator for DMC block of Exynos4x12 if Exynos4x12 Soc
> +- regs-name  : register name of ppmudmc0/1

This is completely nonstandard. Did you mean reg-names?

Please be explicit about the names you expect. Write them in full,
quoted, and describe the relationship to the reg property.

> +
> +All the required listed above must be defined under code busfreq with devfreq

I'm having some difficulty figuring out what exactly this is intended to
mean.

Thanks,
Mark.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCHv2 8/8] devfreq: exynos4: Add busfreq driver for exynos4210/exynos4x12

2014-03-13 Thread Bartlomiej Zolnierkiewicz

On Thursday, March 13, 2014 05:17:29 PM Chanwoo Choi wrote:
> This patch add busfreq driver for Exynos4210/Exynos4x12 memory interface

This patch adds DT binding documentation not the driver itself.

Same comment for the patch summary line.

> and bus to support DVFS(Dynamic Voltage Frequency Scaling) according to PPMU
> counters. PPMU (Performance Profiling Monitorings Units) of Exynos4 SoC 
> provides
> PPMU counters for DMC(Dynamic Memory Controller) to check memory bus 
> utilization
> and then busfreq driver adjusts dynamically the operating frequency/voltage
> by using DEVFREQ Subsystem.
> 
> Signed-off-by: Chanwoo Choi 
> ---
>  .../devicetree/bindings/devfreq/exynos4_bus.txt| 49 
> ++
>  1 file changed, 49 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
> 
> diff --git a/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt 
> b/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
> new file mode 100644
> index 000..2a83fcc
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
> @@ -0,0 +1,49 @@
> +
> +Exynos4210/4x12 busfreq driver
> +-
> +
> +Exynos4210/4x12 Soc busfreq driver with devfreq for Memory bus 
> frequency/voltage

SoC

> +scaling according to PPMU counters of memory controllers
> +
> +Required properties:
> +- compatible : should contain Exynos4 SoC type as follwoing:

following

> +   - "samsung,exynos4x12-busfreq" for Exynos4x12
> +   - "samsung,exynos4210-busfreq" for Exynos4210
> +- reg: offset and length of the ppmudmc0/1
> +   - PPMU (Performance Profiling Monitoring Units)
> +   : It is to profile performance event of DMC(Dynamic Memory
> +   Controller) So, exynos4_bus.c can check memory bus utilization
> +   by using PPMU of Exynos4 SoC.

It can be improved by changing ordering, i.e.

  : PPMU of Exynos4 SoC is used to profile performance event of 
DMC (Dynamic
  Memory Controller) so the driver can check memory bus 
utilization.

> +- clocks : clock number of ppmudmc0/1
> +- clock-names: clock name of ppmudmc0/1
> +- vdd_int-supply: regulator for interface block of Exynos4
> +
> +Optional properties:
> +- vdd_mif-supply: regulator for DMC block of Exynos4x12 if Exynos4x12 Soc

if using Exynos4x12 SoC

> +- regs-name  : register name of ppmudmc0/1
> +
> +All the required listed above must be defined under code busfreq with devfreq

required properties

> +Exmaple:

Example:

> +For Exynos4210 busfreq,

please add a newline here

> + busfreq@106A {
> + compatible = "samsung,exynos4210-busfreq";
> + reg = <0x106A 0x2000>, <0x106B 0x2000>;
> + regs-name = "PPMU_DMC0", "PPMU_DMC1";
> + clocks = < CLK_PPMUDMC0>, < CLK_PPMUDMC1>;
> + clock-names = "ppmudmc0", "ppmudmc1";
> +
> + vdd_int-supply = <_reg>;
> + };
> +
> +For Exynos4x12 busfreq,

ditto

> + busfreq@106A {
> + compatible = "samsung,exynos4x12-busfreq";
> + reg = <0x106A 0x2000>, <0x106B 0x2000>;
> + regs-name = "PPMU_DMC0", "PPMU_DMC1";
> + clocks = < CLK_PPMUDMC0>, < CLK_PPMUDMC1>;
> + clock-names = "ppmudmc0", "ppmudmc1";
> +
> + vdd_mif-suppy = <_reg>;
> + vdd_int-supply = <_reg>;
> + };

Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R Institute Poland
Samsung Electronics

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCHv2 8/8] devfreq: exynos4: Add busfreq driver for exynos4210/exynos4x12

2014-03-13 Thread Chanwoo Choi
This patch add busfreq driver for Exynos4210/Exynos4x12 memory interface
and bus to support DVFS(Dynamic Voltage Frequency Scaling) according to PPMU
counters. PPMU (Performance Profiling Monitorings Units) of Exynos4 SoC provides
PPMU counters for DMC(Dynamic Memory Controller) to check memory bus utilization
and then busfreq driver adjusts dynamically the operating frequency/voltage
by using DEVFREQ Subsystem.

Signed-off-by: Chanwoo Choi 
---
 .../devicetree/bindings/devfreq/exynos4_bus.txt| 49 ++
 1 file changed, 49 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/devfreq/exynos4_bus.txt

diff --git a/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt 
b/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
new file mode 100644
index 000..2a83fcc
--- /dev/null
+++ b/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
@@ -0,0 +1,49 @@
+
+Exynos4210/4x12 busfreq driver
+-
+
+Exynos4210/4x12 Soc busfreq driver with devfreq for Memory bus 
frequency/voltage
+scaling according to PPMU counters of memory controllers
+
+Required properties:
+- compatible   : should contain Exynos4 SoC type as follwoing:
+ - "samsung,exynos4x12-busfreq" for Exynos4x12
+ - "samsung,exynos4210-busfreq" for Exynos4210
+- reg  : offset and length of the ppmudmc0/1
+ - PPMU (Performance Profiling Monitoring Units)
+ : It is to profile performance event of DMC(Dynamic Memory
+ Controller) So, exynos4_bus.c can check memory bus utilization
+ by using PPMU of Exynos4 SoC.
+- clocks   : clock number of ppmudmc0/1
+- clock-names  : clock name of ppmudmc0/1
+- vdd_int-supply: regulator for interface block of Exynos4
+
+Optional properties:
+- vdd_mif-supply: regulator for DMC block of Exynos4x12 if Exynos4x12 Soc
+- regs-name: register name of ppmudmc0/1
+
+All the required listed above must be defined under code busfreq with devfreq
+
+Exmaple:
+For Exynos4210 busfreq,
+   busfreq@106A {
+   compatible = "samsung,exynos4210-busfreq";
+   reg = <0x106A 0x2000>, <0x106B 0x2000>;
+   regs-name = "PPMU_DMC0", "PPMU_DMC1";
+   clocks = < CLK_PPMUDMC0>, < CLK_PPMUDMC1>;
+   clock-names = "ppmudmc0", "ppmudmc1";
+
+   vdd_int-supply = <_reg>;
+   };
+
+For Exynos4x12 busfreq,
+   busfreq@106A {
+   compatible = "samsung,exynos4x12-busfreq";
+   reg = <0x106A 0x2000>, <0x106B 0x2000>;
+   regs-name = "PPMU_DMC0", "PPMU_DMC1";
+   clocks = < CLK_PPMUDMC0>, < CLK_PPMUDMC1>;
+   clock-names = "ppmudmc0", "ppmudmc1";
+
+   vdd_mif-suppy = <_reg>;
+   vdd_int-supply = <_reg>;
+   };
-- 
1.8.0

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCHv2 8/8] devfreq: exynos4: Add busfreq driver for exynos4210/exynos4x12

2014-03-13 Thread Chanwoo Choi
This patch add busfreq driver for Exynos4210/Exynos4x12 memory interface
and bus to support DVFS(Dynamic Voltage Frequency Scaling) according to PPMU
counters. PPMU (Performance Profiling Monitorings Units) of Exynos4 SoC provides
PPMU counters for DMC(Dynamic Memory Controller) to check memory bus utilization
and then busfreq driver adjusts dynamically the operating frequency/voltage
by using DEVFREQ Subsystem.

Signed-off-by: Chanwoo Choi cw00.c...@samsung.com
---
 .../devicetree/bindings/devfreq/exynos4_bus.txt| 49 ++
 1 file changed, 49 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/devfreq/exynos4_bus.txt

diff --git a/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt 
b/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
new file mode 100644
index 000..2a83fcc
--- /dev/null
+++ b/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
@@ -0,0 +1,49 @@
+
+Exynos4210/4x12 busfreq driver
+-
+
+Exynos4210/4x12 Soc busfreq driver with devfreq for Memory bus 
frequency/voltage
+scaling according to PPMU counters of memory controllers
+
+Required properties:
+- compatible   : should contain Exynos4 SoC type as follwoing:
+ - samsung,exynos4x12-busfreq for Exynos4x12
+ - samsung,exynos4210-busfreq for Exynos4210
+- reg  : offset and length of the ppmudmc0/1
+ - PPMU (Performance Profiling Monitoring Units)
+ : It is to profile performance event of DMC(Dynamic Memory
+ Controller) So, exynos4_bus.c can check memory bus utilization
+ by using PPMU of Exynos4 SoC.
+- clocks   : clock number of ppmudmc0/1
+- clock-names  : clock name of ppmudmc0/1
+- vdd_int-supply: regulator for interface block of Exynos4
+
+Optional properties:
+- vdd_mif-supply: regulator for DMC block of Exynos4x12 if Exynos4x12 Soc
+- regs-name: register name of ppmudmc0/1
+
+All the required listed above must be defined under code busfreq with devfreq
+
+Exmaple:
+For Exynos4210 busfreq,
+   busfreq@106A {
+   compatible = samsung,exynos4210-busfreq;
+   reg = 0x106A 0x2000, 0x106B 0x2000;
+   regs-name = PPMU_DMC0, PPMU_DMC1;
+   clocks = clock CLK_PPMUDMC0, clock CLK_PPMUDMC1;
+   clock-names = ppmudmc0, ppmudmc1;
+
+   vdd_int-supply = buck3_reg;
+   };
+
+For Exynos4x12 busfreq,
+   busfreq@106A {
+   compatible = samsung,exynos4x12-busfreq;
+   reg = 0x106A 0x2000, 0x106B 0x2000;
+   regs-name = PPMU_DMC0, PPMU_DMC1;
+   clocks = clock CLK_PPMUDMC0, clock CLK_PPMUDMC1;
+   clock-names = ppmudmc0, ppmudmc1;
+
+   vdd_mif-suppy = buck1_reg;
+   vdd_int-supply = buck3_reg;
+   };
-- 
1.8.0

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCHv2 8/8] devfreq: exynos4: Add busfreq driver for exynos4210/exynos4x12

2014-03-13 Thread Bartlomiej Zolnierkiewicz

On Thursday, March 13, 2014 05:17:29 PM Chanwoo Choi wrote:
 This patch add busfreq driver for Exynos4210/Exynos4x12 memory interface

This patch adds DT binding documentation not the driver itself.

Same comment for the patch summary line.

 and bus to support DVFS(Dynamic Voltage Frequency Scaling) according to PPMU
 counters. PPMU (Performance Profiling Monitorings Units) of Exynos4 SoC 
 provides
 PPMU counters for DMC(Dynamic Memory Controller) to check memory bus 
 utilization
 and then busfreq driver adjusts dynamically the operating frequency/voltage
 by using DEVFREQ Subsystem.
 
 Signed-off-by: Chanwoo Choi cw00.c...@samsung.com
 ---
  .../devicetree/bindings/devfreq/exynos4_bus.txt| 49 
 ++
  1 file changed, 49 insertions(+)
  create mode 100644 Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
 
 diff --git a/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt 
 b/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
 new file mode 100644
 index 000..2a83fcc
 --- /dev/null
 +++ b/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
 @@ -0,0 +1,49 @@
 +
 +Exynos4210/4x12 busfreq driver
 +-
 +
 +Exynos4210/4x12 Soc busfreq driver with devfreq for Memory bus 
 frequency/voltage

SoC

 +scaling according to PPMU counters of memory controllers
 +
 +Required properties:
 +- compatible : should contain Exynos4 SoC type as follwoing:

following

 +   - samsung,exynos4x12-busfreq for Exynos4x12
 +   - samsung,exynos4210-busfreq for Exynos4210
 +- reg: offset and length of the ppmudmc0/1
 +   - PPMU (Performance Profiling Monitoring Units)
 +   : It is to profile performance event of DMC(Dynamic Memory
 +   Controller) So, exynos4_bus.c can check memory bus utilization
 +   by using PPMU of Exynos4 SoC.

It can be improved by changing ordering, i.e.

  : PPMU of Exynos4 SoC is used to profile performance event of 
DMC (Dynamic
  Memory Controller) so the driver can check memory bus 
utilization.

 +- clocks : clock number of ppmudmc0/1
 +- clock-names: clock name of ppmudmc0/1
 +- vdd_int-supply: regulator for interface block of Exynos4
 +
 +Optional properties:
 +- vdd_mif-supply: regulator for DMC block of Exynos4x12 if Exynos4x12 Soc

if using Exynos4x12 SoC

 +- regs-name  : register name of ppmudmc0/1
 +
 +All the required listed above must be defined under code busfreq with devfreq

required properties

 +Exmaple:

Example:

 +For Exynos4210 busfreq,

please add a newline here

 + busfreq@106A {
 + compatible = samsung,exynos4210-busfreq;
 + reg = 0x106A 0x2000, 0x106B 0x2000;
 + regs-name = PPMU_DMC0, PPMU_DMC1;
 + clocks = clock CLK_PPMUDMC0, clock CLK_PPMUDMC1;
 + clock-names = ppmudmc0, ppmudmc1;
 +
 + vdd_int-supply = buck3_reg;
 + };
 +
 +For Exynos4x12 busfreq,

ditto

 + busfreq@106A {
 + compatible = samsung,exynos4x12-busfreq;
 + reg = 0x106A 0x2000, 0x106B 0x2000;
 + regs-name = PPMU_DMC0, PPMU_DMC1;
 + clocks = clock CLK_PPMUDMC0, clock CLK_PPMUDMC1;
 + clock-names = ppmudmc0, ppmudmc1;
 +
 + vdd_mif-suppy = buck1_reg;
 + vdd_int-supply = buck3_reg;
 + };

Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung RD Institute Poland
Samsung Electronics

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCHv2 8/8] devfreq: exynos4: Add busfreq driver for exynos4210/exynos4x12

2014-03-13 Thread Mark Rutland
On Thu, Mar 13, 2014 at 08:17:29AM +, Chanwoo Choi wrote:
 This patch add busfreq driver for Exynos4210/Exynos4x12 memory interface
 and bus to support DVFS(Dynamic Voltage Frequency Scaling) according to PPMU
 counters. PPMU (Performance Profiling Monitorings Units) of Exynos4 SoC 
 provides
 PPMU counters for DMC(Dynamic Memory Controller) to check memory bus 
 utilization
 and then busfreq driver adjusts dynamically the operating frequency/voltage
 by using DEVFREQ Subsystem.
 
 Signed-off-by: Chanwoo Choi cw00.c...@samsung.com
 ---
  .../devicetree/bindings/devfreq/exynos4_bus.txt| 49 
 ++
  1 file changed, 49 insertions(+)
  create mode 100644 Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
 
 diff --git a/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt 
 b/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
 new file mode 100644
 index 000..2a83fcc
 --- /dev/null
 +++ b/Documentation/devicetree/bindings/devfreq/exynos4_bus.txt
 @@ -0,0 +1,49 @@
 +
 +Exynos4210/4x12 busfreq driver
 +-
 +
 +Exynos4210/4x12 Soc busfreq driver with devfreq for Memory bus 
 frequency/voltage
 +scaling according to PPMU counters of memory controllers
 +
 +Required properties:
 +- compatible : should contain Exynos4 SoC type as follwoing:
 +   - samsung,exynos4x12-busfreq for Exynos4x12
 +   - samsung,exynos4210-busfreq for Exynos4210

Is there a device called busfreq? What device does this binding
describe?

 +- reg: offset and length of the ppmudmc0/1
 +   - PPMU (Performance Profiling Monitoring Units)

You seem to require a particular order here. It would be good to be
explicit about it.

 +   : It is to profile performance event of DMC(Dynamic Memory
 +   Controller) So, exynos4_bus.c can check memory bus utilization
 +   by using PPMU of Exynos4 SoC.

This is superfluous, and Linux-specific. The binding document shouldn't
need to refer to drivers.

 +- clocks : clock number of ppmudmc0/1
 +- clock-names: clock name of ppmudmc0/1

Are these two clocks, or one clock with a slash in the name?

Please list each name separately.

 +- vdd_int-supply: regulator for interface block of Exynos4
 +
 +Optional properties:
 +- vdd_mif-supply: regulator for DMC block of Exynos4x12 if Exynos4x12 Soc
 +- regs-name  : register name of ppmudmc0/1

This is completely nonstandard. Did you mean reg-names?

Please be explicit about the names you expect. Write them in full,
quoted, and describe the relationship to the reg property.

 +
 +All the required listed above must be defined under code busfreq with devfreq

I'm having some difficulty figuring out what exactly this is intended to
mean.

Thanks,
Mark.
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/