Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932520AbcDLILz (ORCPT ); Tue, 12 Apr 2016 04:11:55 -0400 Received: from mailout3.w1.samsung.com ([210.118.77.13]:50771 "EHLO mailout3.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932467AbcDLILs (ORCPT ); Tue, 12 Apr 2016 04:11:48 -0400 X-AuditID: cbfec7f4-f796c6d000001486-e1-570ca4546b9f Subject: Re: [PATCH v9 06/20] PM / devfreq: exynos: Add support of bus frequency of sub-blocks using passive governor To: Chanwoo Choi , myungjoo.ham@samsung.com, kyungmin.park@samsung.com, kgene@kernel.org, s.nawrocki@samsung.com, tomasz.figa@gmail.com References: <1460347078-15175-1-git-send-email-cw00.choi@samsung.com> <1460347078-15175-7-git-send-email-cw00.choi@samsung.com> Cc: rjw@rjwysocki.net, 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, linux.amoon@gmail.com, m.reichl@fivetechno.de, tjakobi@math.uni-bielefeld.de, inki.dae@samsung.com, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, linux-samsung-soc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org From: Krzysztof Kozlowski Message-id: <570CA453.3060403@samsung.com> Date: Tue, 12 Apr 2016 09:31:31 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-version: 1.0 In-reply-to: <1460347078-15175-7-git-send-email-cw00.choi@samsung.com> Content-type: text/plain; charset=windows-1252 Content-transfer-encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrNIsWRmVeSWpSXmKPExsVy+t/xq7ohS3jCDV7P1La4/uU5q8X8I+dY LfrfLGS1OPdqJaPFpPsTWCxevzC06H/8mtnibNMbdotNj6+xWlzeNYfN4nPvEUaLGef3MVms 23iL3eL2ZV6Ll0d+MFosvX6RyeJ24wo2iwnT17JYnDl9idWide8RdovDb9pZLdpWf2C1WLXr D6ODuMeaeWsYPVqae9g8Lvf1MnnculPvsXPWXXaPlcu/sHlsWtXJ5rF5Sb3Hv2PsHluutrN4 9G1ZxejxeZNcAE8Ul01Kak5mWWqRvl0CV8aCBZ/YC7qFK47Of8fawHibr4uRk0NCwERi6sNp bBC2mMSFe+uBbC4OIYGljBK3/txjgXCeATnzt4NVCQuUS0xY3weWEBFYxCixeWE7M0RVI6PE 1+ar7CAOs8BaZolX7Y2sIC1sAsYSm5cvAWvnFdCSODHrJwuIzSKgKnHn6lpmEFtUIELiydyT jBA1ghI/Jt8Dq+EUcJO4cqcLyOYAGqoncf+iFkiYWUBeYvOat8wTGAVmIemYhVA1C0nVAkbm VYyiqaXJBcVJ6bmGesWJucWleel6yfm5mxghUfxlB+PiY1aHGAU4GJV4eB8484QLsSaWFVfm HmKU4GBWEuG9MR8oxJuSWFmVWpQfX1Sak1p8iFGag0VJnHfurvchQgLpiSWp2ampBalFMFkm Dk6pBsb2fZkP9YrCzlp8Pnnf7fqu8tQrjyrlV9y6n8ka7J1x59l95p/TtepKZlu/uF7W4rm/ w9m3WPC38nqDuesuqxQwK87flhAyY4+eYf3nZ0s8a8RtuhLD/tzgqo017RGJZnt0YYu2/7vs 2qNh/uZ91gpruc2qpQoef0jZq/VkQ8X510cPmpbuK1JiKc5INNRiLipOBADPqD+e3gIAAA== Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2385 Lines: 56 On 04/11/2016 05:57 AM, Chanwoo Choi wrote: > This patch adds the support of bus frequency feature for sub-blocks which share > the one power line. If each bus depends on the power line, each bus is not able > to change the voltage by oneself. To optimize the power-consumption on runtime, > some buses using the same power line should change the source clock and > regulator at the same time. So, this patch uses the passive governor to support > the bus frequency for all buses which sharing the one power line. > > For example, > > Exynos3250 include the two power line for AXI buses as following: > : VDD_MIF : MIF (Memory Interface) provide the DMC (Dynamic Memory Controller) > with the power (regulator). > : VDD_INT : INT (Internal) provide the various sub-blocks with the power > (regulator). > > Each bus is included in as follwoing block. In the case of VDD_MIF, only DMC bus > use the power line. So, there is no any depencency between buese. But, in the > case of VDD_INT, various buses share the one power line of VDD_INT. We need to > make the depenency between buses. When using passive governor, there is no > problem to support the bus frequency as DVFS for all buses. One bus should be > operated as the parent bus device which gathering the current load of INT block > and then decides the new frequency with some governors except of passive > governor. After deciding the new frequency by the parent bus device, the rest > bus devices will change the each source clock according to new frequency of the > parent bus device. > > - MIF (Memory Interface) block > : VDD_MIF |--- DMC > > - INT (Internal) block > : VDD_INT |--- LEFTBUS (parent) > |--- PERIL > |--- MFC > |--- G3D > |--- RIGHTBUS > |--- FSYS > |--- LCD0 > |--- PERIR > |--- ISP > |--- CAM > > Signed-off-by: Chanwoo Choi > [tjakobi: Reported debugfs error during booting and cw00.choi fix it.] > Reported-by: Tobias Jakobi > Signed-off-by: MyungJoo Ham > --- > drivers/devfreq/Kconfig | 1 + > drivers/devfreq/exynos-bus.c | 219 ++++++++++++++++++++++++++++++++++--------- > 2 files changed, 174 insertions(+), 46 deletions(-) Acked-by: Krzysztof Kozlowski Best regards, Krzysztof