devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Krzysztof Kozlowski <k.kozlowski@samsung.com>
To: Chanwoo Choi <cw00.choi@samsung.com>,
	myungjoo.ham@samsung.com, kgene@kernel.org
Cc: kyungmin.park@samsung.com, robh+dt@kernel.org,
	pawel.moll@arm.com, mark.rutland@arm.com,
	ijc+devicetree@hellion.org.uk, galak@codeaurora.org,
	linux@arm.linux.org.uk, tjakobi@math.uni-bielefeld.de,
	linux.amoon@gmail.com, linux-kernel@vger.kernel.org,
	linux-pm@vger.kernel.org, linux-samsung-soc@vger.kernel.org,
	devicetree@vger.kernel.org
Subject: Re: [PATCH v2 14/19] ARM: dts: Add bus nodes using VDD_INT for Exynos4x12
Date: Thu, 10 Dec 2015 16:12:13 +0900	[thread overview]
Message-ID: <566925CD.4040205@samsung.com> (raw)
In-Reply-To: <566924BA.2080103@samsung.com>

On 10.12.2015 16:07, Chanwoo Choi wrote:
> On 2015년 12월 10일 15:53, Krzysztof Kozlowski wrote:
>> On 10.12.2015 15:43, Chanwoo Choi wrote:
>>> On 2015년 12월 10일 15:32, Krzysztof Kozlowski wrote:
>>>> On 10.12.2015 15:08, Chanwoo Choi wrote:
>>>>> On 2015년 12월 10일 14:57, Krzysztof Kozlowski wrote:
>>>>>> On 09.12.2015 13:08, Chanwoo Choi wrote:
>>>>>>> This patch adds the bus noes using VDD_INT for Exynos4x12 SoC.
>>>>>>> Exynos4x12 has the following AXI buses to translate data between
>>>>>>> DRAM and sub-blocks.
>>>>>>>
>>>>>>> Following list specifies the detailed relation between DRAM and sub-blocks:
>>>>>>> - ACLK100 clock for PERIL/PERIR/MFC(PCLK)
>>>>>>> - ACLK160 clock for CAM/TV/LCD
>>>>>>> : The minimum clock of ACLK160 should be over 160MHz.
>>>>>>>   When drop the clock under 160MHz, show the broken image.
>>>>>>> - ACLK133 clock for FSYS
>>>>>>> - GDL clock for LEFTBUS
>>>>>>> - GDR clock for RIGHTBUS
>>>>>>> - SCLK_MFC clock for MFC
>>>>>>>
>>>>>>> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
>>>>>>> ---
>>>>>>>  arch/arm/boot/dts/exynos4x12.dtsi | 112 ++++++++++++++++++++++++++++++++++++++
>>>>>>>  1 file changed, 112 insertions(+)
>>>>>>>
>>>>>>> diff --git a/arch/arm/boot/dts/exynos4x12.dtsi b/arch/arm/boot/dts/exynos4x12.dtsi
>>>>>>> index 3bcf0939755e..8bc4aee156b5 100644
>>>>>>> --- a/arch/arm/boot/dts/exynos4x12.dtsi
>>>>>>> +++ b/arch/arm/boot/dts/exynos4x12.dtsi
>>>>>>> @@ -354,6 +354,118 @@
>>>>>>>  			opp-microvolt = <950000>;
>>>>>>>  		};
>>>>>>>  	};
>>>>>>> +
>>>>>>> +	bus_leftbus: bus_leftbus {
>>>>>>> +		compatible = "samsung,exynos-bus";
>>>>>>> +		clocks = <&clock CLK_DIV_GDL>;
>>>>>>> +		clock-names = "bus";
>>>>>>> +		operating-points-v2 = <&bus_leftbus_opp_table>;
>>>>>>> +		status = "disabled";
>>>>>>> +	};
>>>>>>> +
>>>>>>> +	bus_rightbus: bus_rightbus {
>>>>>>> +		compatible = "samsung,exynos-bus";
>>>>>>> +		clocks = <&clock CLK_DIV_GDR>;
>>>>>>> +		clock-names = "bus";
>>>>>>> +		operating-points-v2 = <&bus_leftbus_opp_table>;
>>>>>>> +		status = "disabled";
>>>>>>> +	};
>>>>>>
>>>>>> These two nodes are symmetrical. The MFC below and other buses in other
>>>>>> DTS share opps. How about changing the binding so multiple clocks could
>>>>>> be specified at once ("bus0", "bus1")? I think there is no need for a
>>>>>> bus device for each clock.
>>>>>
>>>>> The your commented method is possible.
>>>>>
>>>>> But, I focus on implementing the generic bus frequency driver.
>>>>>
>>>>> If specific bus device-tree node includes the one more clocks,
>>>>> when adding the new Exynos SoC, the exynos-bus.c should be added
>>>>> for new Exynos SoC. Because, each Exynos SoC has the different
>>>>> set of bus device.
>>>>>
>>>>> If we use my approach, we don't need to modify the exynos-bus.c
>>>>> driver to support for the bus frequency of new Exynos SoC.
>>>>
>>>> This won't change. The driver will just support from 1 to N clocks for
>>>> given bus device and set the same OPP to all of them. This will only
>>>> limit the number of duplicated entries. This won't affect the generic
>>>> approach of driver itself.
>>>
>>> You're right aspect of only implementation of device driver.
>>>
>>> But,
>>> If we use your commented approach, we can show the information
>>> of only parent device through sysfs. We cannot see the information
>>> of passive device. The some information includes the current
>>> frequency and correlation of parent device. (But, current patchset
>>> don' include the topology information between parent device and
>>> passive device. I'll do it on later patches).
>>>
>>> For example, 
>>> We can see the following bus device through /sys/class/devfreq.
>>>
>>> drwxr-xr-x  2 root root 0 Dec 31 17:00 .
>>> drwxr-xr-x 44 root root 0 Dec 31 17:00 ..
>>> lrwxrwxrwx  1 root root 0 Dec 31 17:00 bus_display -> ../../devices/platform/bus_display/devfreq/bus_display
>>> lrwxrwxrwx  1 root root 0 Dec 31 17:00 bus_fsys -> ../../devices/platform/bus_fsys/devfreq/bus_fsys
>>> lrwxrwxrwx  1 root root 0 Dec 31 17:00 bus_leftbus -> ../../devices/platform/bus_leftbus/devfreq/bus_leftbus
>>> lrwxrwxrwx  1 root root 0 Dec 31 17:00 bus_peri -> ../../devices/platform/bus_peri/devfreq/bus_peri
>>>
>>>
>>> We don't see the following bus device because of following bus device
>>> has the same frequency table with bus_leftbus device.
>>> lrwxrwxrwx  1 root root 0 Dec 31 17:00 bus_mfc -> ../../devices/platform/bus_mfc/devfreq/bus_mfc
>>> lrwxrwxrwx  1 root root 0 Dec 31 17:00 bus_rightbus -> ../../devices/platform/bus_rightbus/devfreq/bus_rightbus
>>
>> Right, but why do you want to see these bus devices? AFAIU, they will
> 
> I think that the framework should show the accurate information of H/w device
> through sysfs. On the exynos-bus.c driver, it is important the show the
> accurate set of handled bus devices which are included in Exynos SoC.
> 
>> always behave exactly the same as LEFTBUS. Their PPMU counters will be
>> the same... or not? The MFC does not have its own PPMU counter. There
>> are separate counters for left and right bus... but they are attached to
>> the "&bus_leftbus" node. The "&bus_rightbus" does not use the PPMU
>> counter and it follows the parent governor decisions... so this is
>> purely an artificial creation just to handle one clock.
>>
>> I just can't see the benefit of such additional bus device.
> 
> I agree about the behavior. Your description is right.
> There is no difference and benefit about behavior both your and my approach.
> 
> But, We can provide the accurate information of handled bus devices
> to the user-space. I think that it is important information.
> 
> Also, I have the plan that devfreq framework would show
> the topology about the correlation of bus devices as following:

Hmmm.... okay, fair enough. From hardware point of view these are
separate AXI buses so I guess it is good to model them in DT.

Best regards,
Krzysztof

  reply	other threads:[~2015-12-10  7:12 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-09  4:07 [PATCH v2 00/19] PM / devferq: Add generic exynos bus frequency driver and new passive governor Chanwoo Choi
2015-12-09  4:07 ` [PATCH v2 01/19] PM / devfreq: exynos: Add generic exynos bus frequency driver Chanwoo Choi
2015-12-09  4:07 ` [PATCH v2 02/19] PM / devfreq: exynos: Add documentation for " Chanwoo Choi
2015-12-10  0:39   ` Krzysztof Kozlowski
     [not found]     ` <5668C9BE.7050900-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2015-12-10  0:49       ` Chanwoo Choi
2015-12-10  1:25         ` Krzysztof Kozlowski
2015-12-10  1:33           ` Chanwoo Choi
2015-12-09  4:07 ` [PATCH v2 03/19] ARM: dts: Add DMC bus node for Exynos3250 Chanwoo Choi
2015-12-10  0:44   ` Krzysztof Kozlowski
2015-12-10  1:09     ` Chanwoo Choi
2015-12-10  1:20       ` Krzysztof Kozlowski
2015-12-10  2:00         ` Chanwoo Choi
2015-12-10  2:04           ` Krzysztof Kozlowski
2015-12-10  2:17             ` Chanwoo Choi
2015-12-10  2:21               ` Krzysztof Kozlowski
2015-12-09  4:07 ` [PATCH v2 04/19] ARM: dts: Add DMC bus frequency for exynos3250-rinato/monk Chanwoo Choi
2015-12-10  0:53   ` Krzysztof Kozlowski
2015-12-10  0:56     ` Chanwoo Choi
2015-12-09  4:07 ` [PATCH v2 05/19] PM / devfreq: Add new passive governor Chanwoo Choi
2015-12-09  4:07 ` [PATCH v2 06/19] PM / devfreq: Add devfreq_get_devfreq_by_phandle() Chanwoo Choi
2015-12-09  4:07 ` [PATCH v2 07/19] PM / devfreq: Show the related information according to governor type Chanwoo Choi
2015-12-09  4:08 ` [PATCH v2 09/19] PM / devfreq: exynos: Update documentation for bus devices using passive governor Chanwoo Choi
2015-12-10  1:31   ` Krzysztof Kozlowski
2015-12-10  1:36     ` Chanwoo Choi
2015-12-10 14:21   ` Rob Herring
2015-12-10 15:10     ` Chanwoo Choi
2015-12-11  3:24       ` Rob Herring
2015-12-11  3:56         ` Chanwoo Choi
     [not found] ` <1449634091-1842-1-git-send-email-cw00.choi-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2015-12-09  4:08   ` [PATCH v2 08/19] PM / devfreq: exynos: Add support of bus frequency of sub-blocks " Chanwoo Choi
2015-12-09  4:08   ` [PATCH v2 10/19] PM / devfreq: exynos: Add the detailed correlation between sub-blocks and power line Chanwoo Choi
2015-12-09  4:08 ` [PATCH v2 11/19] PM / devfreq: exynos: Remove unused exynos4/5 busfreq driver Chanwoo Choi
2015-12-09  4:08 ` [PATCH v2 12/19] ARM: dts: Add bus nodes using VDD_INT for Exynos3250 Chanwoo Choi
2015-12-10  2:09   ` Krzysztof Kozlowski
2015-12-10  2:30     ` Chanwoo Choi
2015-12-09  4:08 ` [PATCH v2 13/19] ARM: dts: Add bus nodes using VDD_MIF for Exynos4x12 Chanwoo Choi
2015-12-10  3:17   ` Krzysztof Kozlowski
2015-12-10  4:21     ` Chanwoo Choi
2015-12-09  4:08 ` [PATCH v2 14/19] ARM: dts: Add bus nodes using VDD_INT " Chanwoo Choi
2015-12-10  5:57   ` Krzysztof Kozlowski
2015-12-10  6:08     ` Chanwoo Choi
2015-12-10  6:32       ` Krzysztof Kozlowski
2015-12-10  6:43         ` Chanwoo Choi
2015-12-10  6:53           ` Krzysztof Kozlowski
2015-12-10  7:07             ` Chanwoo Choi
2015-12-10  7:12               ` Krzysztof Kozlowski [this message]
2015-12-10  7:18                 ` Chanwoo Choi
2015-12-09  4:08 ` [PATCH v2 15/19] ARM: dts: Add bus nodes using VDD_MIF for Exynos4210 Chanwoo Choi
2015-12-09  4:08 ` [PATCH v2 16/19] ARM: dts: Add PPMU node for exynos4412-odroidu3 Chanwoo Choi
2015-12-10  6:44   ` Krzysztof Kozlowski
2015-12-11  2:27     ` Chanwoo Choi
2015-12-09  4:08 ` [PATCH v2 17/19] ARM: dts: Add support of bus frequency using VDD_INT for exynos3250-rinato Chanwoo Choi
2015-12-10  6:58   ` Krzysztof Kozlowski
2015-12-10  7:24     ` Chanwoo Choi
2015-12-09  4:08 ` [PATCH v2 18/19] ARM: dts: Expand the voltage range of buck1/3 regulator for exynos4412-odroidu3 Chanwoo Choi
     [not found]   ` <1449634091-1842-19-git-send-email-cw00.choi-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2015-12-10  7:02     ` Krzysztof Kozlowski
2015-12-10  7:19       ` Chanwoo Choi
2015-12-09  4:08 ` [PATCH v2 19/19] ARM: dts: Add support of bus frequency for exynos4412-trats/odroidu3 Chanwoo Choi
2015-12-10  7:08   ` Krzysztof Kozlowski
2015-12-10  7:23     ` Chanwoo Choi
2015-12-09 19:05 ` [PATCH v2 00/19] PM / devferq: Add generic exynos bus frequency driver and new passive governor Anand Moon
2015-12-10  0:12   ` Chanwoo Choi
     [not found]     ` <5668C382.9030101-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2015-12-10  4:14       ` Anand Moon
2015-12-10  4:20         ` Chanwoo Choi
2015-12-10  0:57 ` Krzysztof Kozlowski
2015-12-10  1:22   ` Krzysztof Kozlowski
2015-12-10  2:16     ` Chanwoo Choi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=566925CD.4040205@samsung.com \
    --to=k.kozlowski@samsung.com \
    --cc=cw00.choi@samsung.com \
    --cc=devicetree@vger.kernel.org \
    --cc=galak@codeaurora.org \
    --cc=ijc+devicetree@hellion.org.uk \
    --cc=kgene@kernel.org \
    --cc=kyungmin.park@samsung.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=linux.amoon@gmail.com \
    --cc=linux@arm.linux.org.uk \
    --cc=mark.rutland@arm.com \
    --cc=myungjoo.ham@samsung.com \
    --cc=pawel.moll@arm.com \
    --cc=robh+dt@kernel.org \
    --cc=tjakobi@math.uni-bielefeld.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).