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
next prev parent 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).