Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S969341AbdI0B2L (ORCPT ); Tue, 26 Sep 2017 21:28:11 -0400 Received: from mailout4.samsung.com ([203.254.224.34]:41877 "EHLO mailout4.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934797AbdI0B2I (ORCPT ); Tue, 26 Sep 2017 21:28:08 -0400 X-AuditID: b6c32a37-c75ff70000001076-53-59cafea6fd76 MIME-version: 1.0 Content-transfer-encoding: 8BIT Content-type: text/plain; charset="UTF-8" Message-id: <59CAFEA7.10007@samsung.com> Date: Wed, 27 Sep 2017 10:28:07 +0900 From: Chanwoo Choi Organization: Samsung Electronics User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 To: myungjoo.ham@samsung.com, kyungmin.park@samsung.com Cc: rafael.j.wysocki@intel.com, chanwoo@kernel.org, inki.dae@samsung.com, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2 0/8] PM / devfreq: Use OPP interface to handle the frequency In-reply-to: <1505954032-3327-1-git-send-email-cw00.choi@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA01Sa0hTYRj229nOprQ6zksfSqaHAjVcO9PpLBWj2yCJ0YWstHXUk4puk51N VIjUH2arlSaZTfEWSQpe0mW2RnktXRllaZKgoP7QMJO8BmXteIr897wPz/M93/vwChDRMs9L kKrRUzoNmY6jLtz2ngBJUN26/azENL9DXjz6kSu/PVHElQ/mz/HlH6wVqHzR1AvkY3kPUfnU w6/8aL7ivm2Wo2htuIYqbloagGKx1UfJPUdFpFBkEqXzpTSJ2qRUTXIkfuyk6qBKFiohgohw eRjuqyHVVCR+KEYZdCQ13fED3DeTTDc4KCVJ0/jeqAid1qCnfFO0tD4SP08QUjEhCRNLpVJx SHD8PqnMIblIpdjKS/gZ/X5ZXZW1IBdUexmBswBiIdD2bZJnBC4CEdYB4PeBGoQdVgH8/aSI YwSCDdV81xmWfwbgguUzl3ELMVe4VjLOZTQIthP2DqUxNIIFwMfPmvmsfhzAxZ+vUVbvDwuW ZjcwF9sNK+1lPAajWCB8MTO6wW/D/ODw2hRgsAcWC59WrfAZ7I6FQeuDHygbkA/gnbpoJtcN Ow2ny3cxtDN2GK4MGlEmF2JvUNjVXI+yWx6Cq6YaDovd4JdXFj67lzcc6otk9VcBbKtgdmGG QgAn6vN4rCEY2o15HDZ4K5xfvsFjzUJYWCBiJQrYMzHz9/0D8H27CbDLlwHYZLcgRcDHvKkv 8/++zJv6qgZIA/CkMmh1MkUTGcFimlTTBk2yOFGrbgUbJxcY1gFa3sZ0A0wA8C1Cp1P2syIe mUlnq7sBFCC4u7B01UEJk8jsHEqnVekM6RTdDWSOuosRL49EreOANXoVERIuCQmVOq4rnCDw 7ULP5pFYEZZM6qk0isqgdP98HIGzVy5IHekKjDObo593HsxZQsv4BCcnPO/WbuNI9tDd6y1X fjldvvCuumlUNlTVuUc5ndRmFTa2D5g1ynhb1KxhMjjhaMfIgnpy/5rRVK58tHBveP1T5RgZ mkaOR8ced+222uKy/Otd++ISanstL+vGTzjhjf038+dk9ktVpd6868M1OJdOIYlAREeTfwA2 13BjiAMAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrOLMWRmVeSWpSXmKPExsVy+t9jAd1l/05FGizcxWcx8cYVFotJ9yew WJxtesNucXnXHDaLz71HGC1uN65gs3i84i27A7vH4j0vmTw2repk8+jbsorR4/MmuQCWKC6b lNSczLLUIn27BK6MPbMnsxecUKw4OG8RYwPjAqkuRg4OCQETiXcHw7sYuTiEBHYySsz6eoi1 i5GTg1dAUOLH5HssIDXMAvISRy5lg4SZBdQlJs1bxAxiCwk8YJSY8UMGolxDou3LSzYQm0VA VWLeqRlgY9gEtCT2v7gBFucXUJS4+uMxI8hIUYEIie4TlSBhEQFziV1Lf7KBnMAs0MQosfHZ ASaQGmGBUIkns1UgTpvFKLFm1SF2kAZOAVeJb2e72CYwAkURLp2FcOksJJcuYGRexSiZWlCc m55bbFRgmJdarlecmFtcmpeul5yfu4kRGNzbDmv17WC8vyT+EKMAB6MSD29E2KlIIdbEsuLK 3EOMEhzMSiK8074DhXhTEiurUovy44tKc1KLDzFKc7AoifPezjsWKSSQnliSmp2aWpBaBJNl 4uCUamAU+N5+5M4171XnXqXEfWl8/3+f49L7jplX2aRt6y3N0qKXnips/PXAfuJHK/+XBU4T tfpOzjBjDVZd+8syMJhDRT6co9bm/1tPw4sx88M2PP3C0W6wsrv79D2xPW/sYrKVRHd3ml37 LnIv9XJbSRb7x5Xcqxa63Ly/dc61M+z3dm1d/X5KE5uqEktxRqKhFnNRcSIAeW1fEGoCAAA= X-CMS-MailID: 20170927012806epcas1p2af39e8d50ff00307c074629a30935f23 X-Msg-Generator: CA X-Sender-IP: 182.195.42.142 X-Local-Sender: =?UTF-8?B?7LWc7LCs7JqwG1RpemVuIFBsYXRmb3JtIExhYihTL1fshLw=?= =?UTF-8?B?7YSwKRvsgrzshLHsoITsnpAbU2VuaW9yIEVuZ2luZWVy?= X-Global-Sender: =?UTF-8?B?Q2hhbndvbyBDaG9pG1RpemVuIFBsYXRmb3JtIExhYi4bU2Ft?= =?UTF-8?B?c3VuZyBFbGVjdHJvbmljcxtTZW5pb3IgRW5naW5lZXI=?= X-Sender-Code: =?UTF-8?B?QzEwG1RFTEUbQzEwVjgxMTE=?= CMS-TYPE: 101P DLP-Filter: Pass X-CFilter-Loop: Reflected X-CMS-RootMailID: 20170921003355epcas1p1d1bbb04ff7a7c46946f62a91883bd6a6 X-RootMTR: 20170921003355epcas1p1d1bbb04ff7a7c46946f62a91883bd6a6 References: <1505954032-3327-1-git-send-email-cw00.choi@samsung.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 4205 Lines: 91 Hi Myungjoo, Could you please review this patchset? On 2017년 09월 21일 09:33, Chanwoo Choi wrote: > These patches makes the devfreq to use the OPP interface and clean-up codes. > - patch 1~5 are related to the OPP interfaces. > - patch 6 removes the unneeded code. > - patch 7 clean-up for the governor name. > - patch 8 registers the cooling device for exynos-bus. > > [Detaild Descripion] > The commit a76caf55e5b3 ("thermal: Add devfreq cooling") provides > the devfreq cooling device by using the OPP interface such as > dev_pm_opp_disable() and dev_pm_opp_enable(). It means that > the OPP interface is able to change the available status of the frequency. > > Firstly, the existing devfreq doesn't use the OPP interface when showing > the minimum and maximum frequency through the following sysfs nodes: > It shows the wrong frequency value because min_freq/max_freq don't > consider the frequency status by handling OPP interface > (opp_dev_pm_opp_{disable|add}()). So, these patches fix this issue. > - /sys/class/devfreq/devfreqX/min_freq > - /sys/class/devfreq/devfreqX/max_freq > > Second, the 'available_frequencies' should show the all supported frequencis > even if the specific frequency is not available. It doesn't matter whether > frequneyc is available or not. Because the role of 'available_frequencies' > shows the all frequencies. Also, these patches fix this issue. > - /sys/class/devfreq/devfreqX/available_frequencies > > Third, update_devfreq() get the available next frequency by using > the devfreq_recommended_opp() in order to consider the disabled OPP. > > For example, > - devfreq's min_freq is 100Mhz and max_freq is 700Mhz. > - OPP disabled 500/600/700Mhz due to devfreq-cooling.c. > - simple_ondemand govenor decided the next target_freq (600Mhz) > |----------|-------------------------------------------------------------| > |Freq(MHz) |100 |200 |300 |400 |500 |600 |70 0 | > |Devfreq |min_freq| | | | | |max_freq| > |OPP avail |enabled |enabled|enabled|enabled |Disabled| Disabled|Disabled| > |Ondmenad | | | | | |next_freq| | > |------------------------------------------------------------------------| > > In result, > - Before this patch, target_freq is 600Mhz > and TRANSITION_NOTIFIER sends the next_freq is 600Mhz to the notifiee. > - After this patch, target_freq is 400Mhz because 500/600 were disabled by OPP. > And TRANSITION_NOTIFIER sends the next_freq is 400Mhz to the notifiee. > > Lastly, > - patch6/7 fix the minor issue and cleanup codes. > - patch8 register the cooling device. It depends on opp patch[1]. > [1] https://patchwork.kernel.org/patch/9962387/ > > Changes from v1: > (https://lkml.org/lkml/2017/8/23/785) > - Show the available frequencies as an ascending order > - Change the author info from cwchoi00@gmail.com to cw00.choi@samsung.com > - Drop the patches related to opp_notifier > - Add new patch5/6/7/8 > > Chanwoo Choi (8): > PM / devfreq: Set min/max_freq when adding the devfreq device > Revert "PM / devfreq: Add show_one macro to delete the duplicate code" > PM / devfreq: Show the available min/max frequency through sysfs node > PM / devfreq: Show the all available frequencies > PM / devfreq: Get the available next frequency on update_devfreq() > PM / devfreq: Remove unneeded conditional statement > PM / devfreq: Define the constant governor name > PM / devfreq: exynos-bus: Register cooling device > > drivers/devfreq/Kconfig | 1 + > drivers/devfreq/devfreq.c | 121 +++++++++++++++++++++++------- > drivers/devfreq/exynos-bus.c | 16 +++- > drivers/devfreq/governor_passive.c | 2 +- > drivers/devfreq/governor_performance.c | 2 +- > drivers/devfreq/governor_powersave.c | 2 +- > drivers/devfreq/governor_simpleondemand.c | 2 +- > drivers/devfreq/governor_userspace.c | 2 +- > drivers/devfreq/rk3399_dmc.c | 2 +- > include/linux/devfreq.h | 7 ++ > 10 files changed, 123 insertions(+), 34 deletions(-) > -- Best Regards, Chanwoo Choi Samsung Electronics