From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754077AbdCTOTv (ORCPT ); Mon, 20 Mar 2017 10:19:51 -0400 Received: from mail-lf0-f65.google.com ([209.85.215.65]:36812 "EHLO mail-lf0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753161AbdCTOTM (ORCPT ); Mon, 20 Mar 2017 10:19:12 -0400 Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\)) Subject: Re: [PATCH v6 0/5] Implement clocksource for rockchip SoC using rockchip timer From: Alexander Kochetkov In-Reply-To: <1485866596-32254-1-git-send-email-al.kochet@gmail.com> Date: Mon, 20 Mar 2017 16:18:49 +0300 Cc: Thomas Gleixner , Mark Rutland , Rob Herring , Russell King , Caesar Wang , Huang Tao Message-Id: References: <1485866596-32254-1-git-send-email-al.kochet@gmail.com> To: Daniel Lezcano , Heiko Stuebner , LKML , devicetree@vger.kernel.org, LAK , linux-rockchip@lists.infradead.org X-Mailer: Apple Mail (2.3124) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by mail.home.local id v2KEKNH6000302 Hello, Daniel. Sorry for bothering you, but could you please take a look at v6[1] series and tell what do you think about it? I see your commit[2] in the git, but I don’t understand well how to use it in rockchip driver. [1] https://lkml.org/lkml/2017/1/31/401 [2] https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/drivers/clocksource?id=376bc27150f180d9f5eddec6a14117780177589d Regards, Alexander. > 31 янв. 2017 г., в 15:43, Alexander Kochetkov написал(а): > > From: Alexander Kochetkov > > Hello, Daniel, Heiko. > > Here is try 6 :) Thanks a lot for helping me to bring the code > into kernel! > > This patch series contain: > - devicetree bindings clarification for rockchip timers > - dts files fixes for rk3228-evb, rk3229-evb and rk3188 > - implementation of clocksource and sched clock for rockchip SoC > > The clock supplying the arm-global-timer on the rk3188 is coming from the > the cpu clock itself and thus changes its rate everytime cpufreq adjusts > the cpu frequency making this timer unsuitable as a stable clocksource. > > The rk3188, rk3288 and following socs share a separate timer block already > handled by the rockchip-timer driver. Therefore adapt this driver to also > be able to act as clocksource on rk3188. > > In order to test clocksource you can run following commands and check > how much time it take in real. On rk3188 it take about ~45 seconds. > > cpufreq-set -f 1.6GHZ > date; sleep 60; date > > rk3288 (and probably anything newer) is irrelevant to this patch, > as it has the arch timer interface. This patch may be usefull > for Cortex-A9/A5 based parts. > > Regards, > Alexander. > > Changes in v6: > - Removed Reviewed-by: Heiko Stübner tag > - Merge 5/8, 6/8, 7/8, 8/9 into single file > - split init paths into rk_clkevt_init() and rk_clksrc_init() > so the driver code could be adopted to CLOCKEVENT_OF_DECLARE() > - clockevents implemented using clocksource_mmio_init() > - fixed commit message for 4/8 (thanks a lot Daniel) > > Changes in v5: > - Add Acked-by: Rob Herring to 1/8 > http://lists.infradead.org/pipermail/linux-rockchip/2016-December/013308.html > - Add Reviwed-by: Heiko Stübner to series > - change timer compatible property in the rk322x.dtsi 2/8 > http://lists.infradead.org/pipermail/linux-rockchip/2017-January/013784.html > - updated comment message for 4/8 > http://lists.infradead.org/pipermail/linux-rockchip/2017-January/013786.html > - updated comment message for 5/8 > http://lists.infradead.org/pipermail/linux-rockchip/2017-January/013787.html > - fixed build error for 8/8 > http://lists.infradead.org/pipermail/linux-rockchip/2017-January/013789.html > > Alexander Kochetkov (5): > dt-bindings: clarify compatible property for rockchip timers > ARM: dts: rockchip: update compatible property for rk322x timer > clocksource/drivers/rockchip_timer: implement clocksource timer > ARM: dts: rockchip: add timer entries to rk3188 SoC > ARM: dts: rockchip: disable arm-global-timer for rk3188 > > .../bindings/timer/rockchip,rk-timer.txt | 12 +- > arch/arm/boot/dts/rk3188.dtsi | 17 ++ > arch/arm/boot/dts/rk322x.dtsi | 2 +- > drivers/clocksource/Kconfig | 1 + > drivers/clocksource/rockchip_timer.c | 218 ++++++++++++++------ > 5 files changed, 185 insertions(+), 65 deletions(-) > > -- > 1.7.9.5 > From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexander Kochetkov Subject: Re: [PATCH v6 0/5] Implement clocksource for rockchip SoC using rockchip timer Date: Mon, 20 Mar 2017 16:18:49 +0300 Message-ID: References: <1485866596-32254-1-git-send-email-al.kochet@gmail.com> Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\)) Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1485866596-32254-1-git-send-email-al.kochet@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.infradead.org To: Daniel Lezcano , Heiko Stuebner , LKML , devicetree@vger.kernel.org, LAK , linux-rockchip@lists.infradead.org Cc: Mark Rutland , Huang Tao , Russell King , Rob Herring , Thomas Gleixner , Caesar Wang List-Id: devicetree@vger.kernel.org SGVsbG8sIERhbmllbC4KClNvcnJ5IGZvciBib3RoZXJpbmcgeW91LCBidXQgY291bGQgeW91IHBs ZWFzZSB0YWtlIGEgbG9vayBhdCB2NlsxXSBzZXJpZXMgYW5kIHRlbGwgd2hhdCBkbyB5b3UgdGhp bmsgYWJvdXQgaXQ/Ckkgc2VlIHlvdXIgY29tbWl0WzJdIGluIHRoZSBnaXQsIGJ1dCBJIGRvbuKA mXQgdW5kZXJzdGFuZCB3ZWxsIGhvdyB0byB1c2UgaXQgaW4gcm9ja2NoaXAgZHJpdmVyLgoKWzFd IGh0dHBzOi8vbGttbC5vcmcvbGttbC8yMDE3LzEvMzEvNDAxClsyXSBodHRwczovL2dpdC5rZXJu ZWwub3JnL3B1Yi9zY20vbGludXgva2VybmVsL2dpdC9uZXh0L2xpbnV4LW5leHQuZ2l0L2NvbW1p dC9kcml2ZXJzL2Nsb2Nrc291cmNlP2lkPTM3NmJjMjcxNTBmMTgwZDlmNWVkZGVjNmExNDExNzc4 MDE3NzU4OWQKClJlZ2FyZHMsCkFsZXhhbmRlci4KCj4gMzEg0Y/QvdCyLiAyMDE3INCzLiwg0LIg MTU6NDMsIEFsZXhhbmRlciBLb2NoZXRrb3YgPGFsLmtvY2hldEBnbWFpbC5jb20+INC90LDQv9C4 0YHQsNC7KNCwKToKPiAKPiBGcm9tOiBBbGV4YW5kZXIgS29jaGV0a292IDxha29jaGV0a292QGxp bnRlY2gucnU+Cj4gCj4gSGVsbG8sIERhbmllbCwgSGVpa28uCj4gCj4gSGVyZSBpcyB0cnkgNiA6 KSBUaGFua3MgYSBsb3QgZm9yIGhlbHBpbmcgbWUgdG8gYnJpbmcgdGhlIGNvZGUKPiBpbnRvIGtl cm5lbCEKPiAKPiBUaGlzIHBhdGNoIHNlcmllcyBjb250YWluOgo+IC0gZGV2aWNldHJlZSBiaW5k aW5ncyBjbGFyaWZpY2F0aW9uIGZvciByb2NrY2hpcCB0aW1lcnMKPiAtIGR0cyBmaWxlcyBmaXhl cyBmb3IgcmszMjI4LWV2YiwgcmszMjI5LWV2YiBhbmQgcmszMTg4Cj4gLSBpbXBsZW1lbnRhdGlv biBvZiBjbG9ja3NvdXJjZSBhbmQgc2NoZWQgY2xvY2sgZm9yIHJvY2tjaGlwIFNvQwo+IAo+IFRo ZSBjbG9jayBzdXBwbHlpbmcgdGhlIGFybS1nbG9iYWwtdGltZXIgb24gdGhlIHJrMzE4OCBpcyBj b21pbmcgZnJvbSB0aGUKPiB0aGUgY3B1IGNsb2NrIGl0c2VsZiBhbmQgdGh1cyBjaGFuZ2VzIGl0 cyByYXRlIGV2ZXJ5dGltZSBjcHVmcmVxIGFkanVzdHMKPiB0aGUgY3B1IGZyZXF1ZW5jeSBtYWtp bmcgdGhpcyB0aW1lciB1bnN1aXRhYmxlIGFzIGEgc3RhYmxlIGNsb2Nrc291cmNlLgo+IAo+IFRo ZSByazMxODgsIHJrMzI4OCBhbmQgZm9sbG93aW5nIHNvY3Mgc2hhcmUgYSBzZXBhcmF0ZSB0aW1l ciBibG9jayBhbHJlYWR5Cj4gaGFuZGxlZCBieSB0aGUgcm9ja2NoaXAtdGltZXIgZHJpdmVyLiBU aGVyZWZvcmUgYWRhcHQgdGhpcyBkcml2ZXIgdG8gYWxzbwo+IGJlIGFibGUgdG8gYWN0IGFzIGNs b2Nrc291cmNlIG9uIHJrMzE4OC4KPiAKPiBJbiBvcmRlciB0byB0ZXN0IGNsb2Nrc291cmNlIHlv dSBjYW4gcnVuIGZvbGxvd2luZyBjb21tYW5kcyBhbmQgY2hlY2sKPiBob3cgbXVjaCB0aW1lIGl0 IHRha2UgaW4gcmVhbC4gT24gcmszMTg4IGl0IHRha2UgYWJvdXQgfjQ1IHNlY29uZHMuCj4gCj4g ICAgICAgY3B1ZnJlcS1zZXQgLWYgMS42R0haCj4gICAgICAgZGF0ZTsgc2xlZXAgNjA7IGRhdGUK PiAKPiByazMyODggKGFuZCBwcm9iYWJseSBhbnl0aGluZyBuZXdlcikgaXMgaXJyZWxldmFudCB0 byB0aGlzIHBhdGNoLAo+IGFzIGl0IGhhcyB0aGUgYXJjaCB0aW1lciBpbnRlcmZhY2UuIFRoaXMg cGF0Y2ggbWF5IGJlIHVzZWZ1bGwKPiBmb3IgQ29ydGV4LUE5L0E1IGJhc2VkIHBhcnRzLgo+IAo+ IFJlZ2FyZHMsCj4gQWxleGFuZGVyLgo+IAo+IENoYW5nZXMgaW4gdjY6Cj4gLSBSZW1vdmVkIFJl dmlld2VkLWJ5OiBIZWlrbyBTdMO8Ym5lciA8aGVpa29Ac250ZWNoLmRlPiB0YWcKPiAtIE1lcmdl IDUvOCwgNi84LCA3LzgsIDgvOSBpbnRvIHNpbmdsZSBmaWxlCj4gLSBzcGxpdCBpbml0IHBhdGhz IGludG8gcmtfY2xrZXZ0X2luaXQoKSBhbmQgcmtfY2xrc3JjX2luaXQoKQo+ICBzbyB0aGUgZHJp dmVyIGNvZGUgY291bGQgYmUgYWRvcHRlZCB0byBDTE9DS0VWRU5UX09GX0RFQ0xBUkUoKQo+IC0g Y2xvY2tldmVudHMgaW1wbGVtZW50ZWQgdXNpbmcgY2xvY2tzb3VyY2VfbW1pb19pbml0KCkKPiAt IGZpeGVkIGNvbW1pdCBtZXNzYWdlIGZvciA0LzggKHRoYW5rcyBhIGxvdCBEYW5pZWwpCj4gCj4g Q2hhbmdlcyBpbiB2NToKPiAtIEFkZCBBY2tlZC1ieTogUm9iIEhlcnJpbmcgPHJvYmggYXQga2Vy bmVsLm9yZz4gdG8gMS84Cj4gIGh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL3BpcGVybWFpbC9s aW51eC1yb2NrY2hpcC8yMDE2LURlY2VtYmVyLzAxMzMwOC5odG1sCj4gLSBBZGQgUmV2aXdlZC1i eTogSGVpa28gU3TDvGJuZXIgPGhlaWtvQHNudGVjaC5kZT4gdG8gc2VyaWVzCj4gLSBjaGFuZ2Ug dGltZXIgY29tcGF0aWJsZSBwcm9wZXJ0eSBpbiB0aGUgcmszMjJ4LmR0c2kgMi84Cj4gIGh0dHA6 Ly9saXN0cy5pbmZyYWRlYWQub3JnL3BpcGVybWFpbC9saW51eC1yb2NrY2hpcC8yMDE3LUphbnVh cnkvMDEzNzg0Lmh0bWwKPiAtIHVwZGF0ZWQgY29tbWVudCBtZXNzYWdlIGZvciA0LzgKPiAgaHR0 cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvcGlwZXJtYWlsL2xpbnV4LXJvY2tjaGlwLzIwMTctSmFu dWFyeS8wMTM3ODYuaHRtbAo+IC0gdXBkYXRlZCBjb21tZW50IG1lc3NhZ2UgZm9yIDUvOAo+ICBo dHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9waXBlcm1haWwvbGludXgtcm9ja2NoaXAvMjAxNy1K YW51YXJ5LzAxMzc4Ny5odG1sCj4gLSBmaXhlZCBidWlsZCBlcnJvciBmb3IgOC84Cj4gIGh0dHA6 Ly9saXN0cy5pbmZyYWRlYWQub3JnL3BpcGVybWFpbC9saW51eC1yb2NrY2hpcC8yMDE3LUphbnVh cnkvMDEzNzg5Lmh0bWwKPiAKPiBBbGV4YW5kZXIgS29jaGV0a292ICg1KToKPiAgZHQtYmluZGlu Z3M6IGNsYXJpZnkgY29tcGF0aWJsZSBwcm9wZXJ0eSBmb3Igcm9ja2NoaXAgdGltZXJzCj4gIEFS TTogZHRzOiByb2NrY2hpcDogdXBkYXRlIGNvbXBhdGlibGUgcHJvcGVydHkgZm9yIHJrMzIyeCB0 aW1lcgo+ICBjbG9ja3NvdXJjZS9kcml2ZXJzL3JvY2tjaGlwX3RpbWVyOiBpbXBsZW1lbnQgY2xv Y2tzb3VyY2UgdGltZXIKPiAgQVJNOiBkdHM6IHJvY2tjaGlwOiBhZGQgdGltZXIgZW50cmllcyB0 byByazMxODggU29DCj4gIEFSTTogZHRzOiByb2NrY2hpcDogZGlzYWJsZSBhcm0tZ2xvYmFsLXRp bWVyIGZvciByazMxODgKPiAKPiAuLi4vYmluZGluZ3MvdGltZXIvcm9ja2NoaXAscmstdGltZXIu dHh0ICAgICAgICAgICB8ICAgMTIgKy0KPiBhcmNoL2FybS9ib290L2R0cy9yazMxODguZHRzaSAg ICAgICAgICAgICAgICAgICAgICB8ICAgMTcgKysKPiBhcmNoL2FybS9ib290L2R0cy9yazMyMngu ZHRzaSAgICAgICAgICAgICAgICAgICAgICB8ICAgIDIgKy0KPiBkcml2ZXJzL2Nsb2Nrc291cmNl L0tjb25maWcgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDEgKwo+IGRyaXZlcnMvY2xvY2tz b3VyY2Uvcm9ja2NoaXBfdGltZXIuYyAgICAgICAgICAgICAgIHwgIDIxOCArKysrKysrKysrKysr Ky0tLS0tLQo+IDUgZmlsZXMgY2hhbmdlZCwgMTg1IGluc2VydGlvbnMoKyksIDY1IGRlbGV0aW9u cygtKQo+IAo+IC0tIAo+IDEuNy45LjUKPiAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1h cm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcv bWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 From: al.kochet@gmail.com (Alexander Kochetkov) Date: Mon, 20 Mar 2017 16:18:49 +0300 Subject: [PATCH v6 0/5] Implement clocksource for rockchip SoC using rockchip timer In-Reply-To: <1485866596-32254-1-git-send-email-al.kochet@gmail.com> References: <1485866596-32254-1-git-send-email-al.kochet@gmail.com> Message-ID: To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Hello, Daniel. Sorry for bothering you, but could you please take a look at v6[1] series and tell what do you think about it? I see your commit[2] in the git, but I don?t understand well how to use it in rockchip driver. [1] https://lkml.org/lkml/2017/1/31/401 [2] https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/drivers/clocksource?id=376bc27150f180d9f5eddec6a14117780177589d Regards, Alexander. > 31 ???. 2017 ?., ? 15:43, Alexander Kochetkov ???????(?): > > From: Alexander Kochetkov > > Hello, Daniel, Heiko. > > Here is try 6 :) Thanks a lot for helping me to bring the code > into kernel! > > This patch series contain: > - devicetree bindings clarification for rockchip timers > - dts files fixes for rk3228-evb, rk3229-evb and rk3188 > - implementation of clocksource and sched clock for rockchip SoC > > The clock supplying the arm-global-timer on the rk3188 is coming from the > the cpu clock itself and thus changes its rate everytime cpufreq adjusts > the cpu frequency making this timer unsuitable as a stable clocksource. > > The rk3188, rk3288 and following socs share a separate timer block already > handled by the rockchip-timer driver. Therefore adapt this driver to also > be able to act as clocksource on rk3188. > > In order to test clocksource you can run following commands and check > how much time it take in real. On rk3188 it take about ~45 seconds. > > cpufreq-set -f 1.6GHZ > date; sleep 60; date > > rk3288 (and probably anything newer) is irrelevant to this patch, > as it has the arch timer interface. This patch may be usefull > for Cortex-A9/A5 based parts. > > Regards, > Alexander. > > Changes in v6: > - Removed Reviewed-by: Heiko St?bner tag > - Merge 5/8, 6/8, 7/8, 8/9 into single file > - split init paths into rk_clkevt_init() and rk_clksrc_init() > so the driver code could be adopted to CLOCKEVENT_OF_DECLARE() > - clockevents implemented using clocksource_mmio_init() > - fixed commit message for 4/8 (thanks a lot Daniel) > > Changes in v5: > - Add Acked-by: Rob Herring to 1/8 > http://lists.infradead.org/pipermail/linux-rockchip/2016-December/013308.html > - Add Reviwed-by: Heiko St?bner to series > - change timer compatible property in the rk322x.dtsi 2/8 > http://lists.infradead.org/pipermail/linux-rockchip/2017-January/013784.html > - updated comment message for 4/8 > http://lists.infradead.org/pipermail/linux-rockchip/2017-January/013786.html > - updated comment message for 5/8 > http://lists.infradead.org/pipermail/linux-rockchip/2017-January/013787.html > - fixed build error for 8/8 > http://lists.infradead.org/pipermail/linux-rockchip/2017-January/013789.html > > Alexander Kochetkov (5): > dt-bindings: clarify compatible property for rockchip timers > ARM: dts: rockchip: update compatible property for rk322x timer > clocksource/drivers/rockchip_timer: implement clocksource timer > ARM: dts: rockchip: add timer entries to rk3188 SoC > ARM: dts: rockchip: disable arm-global-timer for rk3188 > > .../bindings/timer/rockchip,rk-timer.txt | 12 +- > arch/arm/boot/dts/rk3188.dtsi | 17 ++ > arch/arm/boot/dts/rk322x.dtsi | 2 +- > drivers/clocksource/Kconfig | 1 + > drivers/clocksource/rockchip_timer.c | 218 ++++++++++++++------ > 5 files changed, 185 insertions(+), 65 deletions(-) > > -- > 1.7.9.5 >