linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Alexander Kochetkov <al.kochet@gmail.com>
To: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-rockchip@lists.infradead.org
Cc: Thomas Gleixner <tglx@linutronix.de>,
	Heiko Stuebner <heiko@sntech.de>,
	Mark Rutland <mark.rutland@arm.com>,
	Rob Herring <robh+dt@kernel.org>,
	Russell King <linux@armlinux.org.uk>,
	Caesar Wang <wxt@rock-chips.com>,
	Huang Tao <huangtao@rock-chips.com>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Alexander Kochetkov <al.kochet@gmail.com>
Subject: [PATCH v4 0/9] Implement clocksource for rockchip SoC using rockchip timer
Date: Tue, 29 Nov 2016 19:14:43 +0300	[thread overview]
Message-ID: <1480436092-10728-1-git-send-email-al.kochet@gmail.com> (raw)
In-Reply-To: <1480343486-25539-1-git-send-email-al.kochet@gmail.com>

Hello,

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.

This is try 4. Please discard all v1, v2, v3 patches.

Changes in v4:
merged 7 and 8 from series 3
merged 10, 11, 12, 13 from series 3
fixed commit message

Changes in v3:
added patches:
ARM: dts: rockchip: disable arm-global-timer for rk3188
clocksource/drivers/rockchip_timer: Prevent ftrace recursion

devicetree v1 patches:
https://patchwork.ozlabs.org/patch/699019/
https://patchwork.ozlabs.org/patch/699020/

kernel v1 patches:
https://patchwork.kernel.org/patch/9443975/
https://patchwork.kernel.org/patch/9443971/
https://patchwork.kernel.org/patch/9443959/
https://patchwork.kernel.org/patch/9443963/
https://patchwork.kernel.org/patch/9443979/
https://patchwork.kernel.org/patch/9443989/
https://patchwork.kernel.org/patch/9443987/
https://patchwork.kernel.org/patch/9443977/
https://patchwork.kernel.org/patch/9443991/

Alexander Kochetkov (9):
  dt-bindings: clarify compatible property for rockchip timers
  ARM: dts: rockchip: update compatible property for rk3228 timer
  ARM: dts: rockchip: update compatible property for rk3229 timer
  ARM: dts: rockchip: add timer entries to rk3188 SoC
  ARM: dts: rockchip: disable arm-global-timer for rk3188
  clocksource/drivers/rockchip_timer: split bc_timer into rk_timer and
    rk_clock_event_device
  clocksource/drivers/rockchip_timer: low level routines take rk_timer
    as parameter
  clocksource/drivers/rockchip_timer: move TIMER_INT_UNMASK out of
    rk_timer_enable()
  clocksource/drivers/rockchip_timer: implement clocksource timer

 .../bindings/timer/rockchip,rk-timer.txt           |   12 +-
 arch/arm/boot/dts/rk3188.dtsi                      |   17 ++
 arch/arm/boot/dts/rk3228-evb.dts                   |    4 +
 arch/arm/boot/dts/rk3229-evb.dts                   |    4 +
 drivers/clocksource/rockchip_timer.c               |  207 +++++++++++++++-----
 5 files changed, 190 insertions(+), 54 deletions(-)

-- 
1.7.9.5

  parent reply	other threads:[~2016-11-29 16:15 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-28 14:31 [PATCHv2 00/11] Implement clocksource for rockchip SoC using rockchip timer Alexander Kochetkov
2016-11-28 14:31 ` [PATCHv2 01/11] dt-bindings: clarify compatible property for rockchip timers Alexander Kochetkov
2016-11-28 14:31 ` [PATCHv2 02/11] ARM: dts: rockchip: update compatible property for rk3228 timer Alexander Kochetkov
2016-11-28 14:31 ` [PATCHv2 03/11] ARM: dts: rockchip: update compatible property for rk3229 timer Alexander Kochetkov
2016-11-28 14:31 ` [PATCHv2 04/11] ARM: dts: rockchip: add timer entries to rk3188 dtsi Alexander Kochetkov
2016-11-28 14:31 ` [PATCHv2 05/11] clocksource/drivers/rockchip_timer: split bc_timer into rk_timer and rk_clock_event_device Alexander Kochetkov
2016-11-28 14:31 ` [PATCHv2 06/11] clocksource/drivers/rockchip_timer: low level routines take rk_timer as parameter Alexander Kochetkov
2016-11-28 14:31 ` [PATCHv2 07/11] clocksource/drivers/rockchip_timer: drop unused rk_base() and rk_ctrl() Alexander Kochetkov
2016-11-28 14:31 ` [PATCHv2 08/11] clocksource/drivers/rockchip_timer: move TIMER_INT_UNMASK out of rk_timer_enable() Alexander Kochetkov
2016-11-28 14:31 ` [PATCHv2 09/11] clocksource/drivers/rockchip_timer: implement loading 64bit value into timer Alexander Kochetkov
2016-11-28 14:31 ` [PATCHv2 10/11] clocksource/drivers/rockchip_timer: implement reading 64bit value from timer Alexander Kochetkov
2016-11-28 14:31 ` [PATCHv2 11/11] clocksource/drivers/rockchip_timer: implement clocksource timer Alexander Kochetkov
2016-11-29 13:45 ` [PATCH v3 00/13] Implement clocksource for rockchip SoC using rockchip timer Alexander Kochetkov
2016-11-29 13:45   ` [PATCH v3 01/13] dt-bindings: clarify compatible property for rockchip timers Alexander Kochetkov
2016-11-29 13:45   ` [PATCH v3 02/13] ARM: dts: rockchip: update compatible property for rk3228 timer Alexander Kochetkov
2016-11-29 13:45   ` [PATCH v3 03/13] ARM: dts: rockchip: update compatible property for rk3229 timer Alexander Kochetkov
2016-11-29 13:45   ` [PATCH v3 04/13] ARM: dts: rockchip: add timer entries to rk3188 dtsi Alexander Kochetkov
2016-11-29 13:45   ` [PATCH v3 05/13] ARM: dts: rockchip: disable arm-global-timer for rk3188 Alexander Kochetkov
2016-11-29 13:45   ` [PATCH v3 06/13] clocksource/drivers/rockchip_timer: split bc_timer into rk_timer and rk_clock_event_device Alexander Kochetkov
2016-11-29 13:45   ` [PATCH v3 07/13] clocksource/drivers/rockchip_timer: low level routines take rk_timer as parameter Alexander Kochetkov
2016-11-29 13:45   ` [PATCH v3 08/13] clocksource/drivers/rockchip_timer: drop unused rk_base() and rk_ctrl() Alexander Kochetkov
2016-11-29 15:03     ` Heiko Stübner
2016-11-29 13:45   ` [PATCH v3 09/13] clocksource/drivers/rockchip_timer: move TIMER_INT_UNMASK out of rk_timer_enable() Alexander Kochetkov
2016-11-29 13:45   ` [PATCH v3 10/13] clocksource/drivers/rockchip_timer: implement loading 64bit value into timer Alexander Kochetkov
2016-11-29 13:45   ` [PATCH v3 11/13] clocksource/drivers/rockchip_timer: implement reading 64bit value from timer Alexander Kochetkov
2016-11-29 13:45   ` [PATCH v3 12/13] clocksource/drivers/rockchip_timer: implement clocksource timer Alexander Kochetkov
2016-11-29 13:45   ` [PATCH v3 13/13] clocksource/drivers/rockchip_timer: Prevent ftrace recursion Alexander Kochetkov
2016-11-29 15:01     ` Heiko Stübner
2016-11-29 15:36       ` Alexander Kochetkov
2016-11-29 16:14 ` Alexander Kochetkov [this message]
2016-11-29 16:14   ` [PATCH v4 1/9] dt-bindings: clarify compatible property for rockchip timers Alexander Kochetkov
2016-12-05 22:22     ` Rob Herring
2016-11-29 16:14   ` [PATCH v4 2/9] ARM: dts: rockchip: update compatible property for rk3228 timer Alexander Kochetkov
2017-01-23 15:40     ` Daniel Lezcano
2017-01-23 16:12       ` Heiko Stübner
2017-01-23 16:13       ` Alexander Kochetkov
2016-11-29 16:14   ` [PATCH v4 3/9] ARM: dts: rockchip: update compatible property for rk3229 timer Alexander Kochetkov
2016-11-29 16:14   ` [PATCH v4 4/9] ARM: dts: rockchip: add timer entries to rk3188 SoC Alexander Kochetkov
2016-11-29 16:14   ` [PATCH v4 5/9] ARM: dts: rockchip: disable arm-global-timer for rk3188 Alexander Kochetkov
2017-01-23 16:14     ` Heiko Stübner
2016-11-29 16:14   ` [PATCH v4 6/9] clocksource/drivers/rockchip_timer: split bc_timer into rk_timer and rk_clock_event_device Alexander Kochetkov
2017-01-23 16:26     ` Daniel Lezcano
2017-01-23 16:45       ` Alexander Kochetkov
2016-11-29 16:14   ` [PATCH v4 7/9] clocksource/drivers/rockchip_timer: low level routines take rk_timer as parameter Alexander Kochetkov
2016-11-29 16:14   ` [PATCH v4 8/9] clocksource/drivers/rockchip_timer: move TIMER_INT_UNMASK out of rk_timer_enable() Alexander Kochetkov
2016-11-29 16:14   ` [PATCH v4 9/9] clocksource/drivers/rockchip_timer: implement clocksource timer Alexander Kochetkov
2017-01-23 17:09     ` Heiko Stübner
2016-12-21 14:21   ` [PATCH v4 0/9] Implement clocksource for rockchip SoC using rockchip timer Alexander Kochetkov
2017-01-23 14:47     ` Daniel Lezcano
2017-01-23 17:12       ` Heiko Stübner
2017-01-23 17:24         ` Alexander Kochetkov
2017-01-23 17:57           ` Daniel Lezcano
2017-01-26 11:08             ` Alexander Kochetkov
2017-01-26 13:19               ` Daniel Lezcano

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=1480436092-10728-1-git-send-email-al.kochet@gmail.com \
    --to=al.kochet@gmail.com \
    --cc=daniel.lezcano@linaro.org \
    --cc=devicetree@vger.kernel.org \
    --cc=heiko@sntech.de \
    --cc=huangtao@rock-chips.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=linux@armlinux.org.uk \
    --cc=mark.rutland@arm.com \
    --cc=robh+dt@kernel.org \
    --cc=tglx@linutronix.de \
    --cc=wxt@rock-chips.com \
    /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).