mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Leizhen (ThunderTown)" <thunder.leizhen@huawei.com>
To: Daniel Lezcano <daniel.lezcano@linaro.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	linux-kernel <linux-kernel@vger.kernel.org>
Cc: Libin <huawei.libin@huawei.com>,
	Kefeng Wang <wangkefeng.wang@huawei.com>,
	Jianguo Chen <chenjianguo3@huawei.com>
Subject: Re: [PATCH v2 0/9] clocksource: sp804: add support for Hisilicon sp804 timer
Date: Tue, 15 Sep 2020 09:27:42 +0800	[thread overview]
Message-ID: <b6bc2ed2-cf83-cca4-d599-ad4f20438349@huawei.com> (raw)
In-Reply-To: <20200912114536.2910-1-thunder.leizhen@huawei.com>

Hi, Daniel Lezcano, Thomas Gleixner:
  Do you have time to review these patches?

On 2020/9/12 19:45, Zhen Lei wrote:
> v1 --> v2:
> 1. Split the Patch 3 of v1 into three patches: Patch 3-5
> 2. Change compatible "hisi,sp804" to "hisilicon,sp804" in Patch 7.
> 3. Add dt-binding description of "hisilicon,sp804", Patch 9
> 
> Other patches are not changed.
> 
> 
> v1:
> The ARM SP804 supports a maximum of 32-bit counter, but Hisilicon extends
> it to 64-bit. That means, the registers: TimerXload, TimerXValue and
> TimerXBGLoad are 64bits, all other registers are the same as those in the
> SP804. The driver code can be completely reused except that the register
> offset is different
> 
> The register offset differences between ARM-SP804 and HISI-SP804 are as follows:
> 
> 	ARM-SP804			HISI-SP804
> TIMER_LOAD      0x00		HISI_TIMER_LOAD         0x00
> 				HISI_TIMER_LOAD_H       0x04
> TIMER_VALUE     0x04		HISI_TIMER_VALUE        0x08
> 				HISI_TIMER_VALUE_H      0x0c
> TIMER_CTRL      0x08		HISI_TIMER_CTRL         0x10
> TIMER_INTCLR    0x0c		HISI_TIMER_INTCLR       0x14
> TIMER_RIS       0x10		HISI_TIMER_RIS          0x18
> TIMER_MIS       0x14		HISI_TIMER_MIS          0x1c
> TIMER_BGLOAD    0x18		HISI_TIMER_BGLOAD       0x20
> 				HISI_TIMER_BGLOAD_H     0x24
> TIMER_2_BASE    0x20		HISI_TIMER_2_BASE       0x40
> ----------------
> 
> In order to make the timer-sp804 driver support both ARM-SP804 and HISI-SP804.
> Create a new structure "sp804_clkevt" to record the calculated registers
> address in advance, avoid judging and calculating the register address every
> place that is used.
> 
> For example:
> 	struct sp804_timer arm_sp804_timer = {
> 		.ctrl	= TIMER_CTRL,
> 	};
> 
> 	struct sp804_timer hisi_sp804_timer = {
> 		.ctrl	= HISI_TIMER_CTRL,
> 	};
> 
> 	struct sp804_clkevt clkevt;
> 
> In the initialization phase:
> 	if (hisi_sp804)
> 		clkevt.ctrl = base + hisi_sp804_timer.ctrl;
> 	else if (arm_sp804)
> 		clkevt.ctrl = base + arm_sp804_timer.ctrl;
> 
> After initialization:
> -	writel(0, base + TIMER_CTRL);
> +	writel(0, clkevt.ctrl);
> ----------------
> 
> Additional information:
> These patch series are the V2 of https://lore.kernel.org/patchwork/cover/681876/
> And many of the main ideas in https://lore.kernel.org/patchwork/patch/681875/ have been considered.
> Thanks for Daniel Lezcano's review comments.
> 
> Kefeng Wang (1):
>   clocksource: sp804: cleanup clk_get_sys()
> 
> Zhen Lei (8):
>   clocksource: sp804: remove unused sp804_timer_disable() and
>     timer-sp804.h
>   clocksource: sp804: delete the leading "__" of some functions
>   clocksource: sp804: remove a mismatched comment
>   clocksource: sp804: prepare for support non-standard register offset
>   clocksource: sp804: support non-standard register offset
>   clocksource: sp804: add support for Hisilicon sp804 timer
>   clocksource: sp804: enable Hisilicon sp804 timer 64bit mode
>   dt-bindings: sp804: add support for Hisilicon sp804 timer
> 
>  .../devicetree/bindings/timer/arm,sp804.txt   |   2 +
>  drivers/clocksource/timer-sp.h                |  47 +++++
>  drivers/clocksource/timer-sp804.c             | 195 ++++++++++++------
>  include/clocksource/timer-sp804.h             |  29 ---
>  4 files changed, 181 insertions(+), 92 deletions(-)
>  delete mode 100644 include/clocksource/timer-sp804.h
> 


  parent reply	other threads:[~2020-09-15  1:27 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-12 11:45 Zhen Lei
2020-09-12 11:45 ` [PATCH v2 1/9] clocksource: sp804: cleanup clk_get_sys() Zhen Lei
2020-09-12 11:45 ` [PATCH v2 2/9] clocksource: sp804: remove unused sp804_timer_disable() and timer-sp804.h Zhen Lei
2020-09-12 11:45 ` [PATCH v2 3/9] clocksource: sp804: delete the leading "__" of some functions Zhen Lei
2020-09-12 11:45 ` [PATCH v2 4/9] clocksource: sp804: remove a mismatched comment Zhen Lei
2020-09-12 11:45 ` [PATCH v2 5/9] clocksource: sp804: prepare for support non-standard register offset Zhen Lei
2020-09-12 11:45 ` [PATCH v2 6/9] clocksource: sp804: " Zhen Lei
2020-09-12 11:45 ` [PATCH v2 7/9] clocksource: sp804: add support for Hisilicon sp804 timer Zhen Lei
2020-09-18  8:53   ` Daniel Lezcano
2020-09-18  9:34     ` Leizhen (ThunderTown)
2020-09-12 11:45 ` [PATCH v2 8/9] clocksource: sp804: enable Hisilicon sp804 timer 64bit mode Zhen Lei
2020-09-12 11:45 ` [PATCH v2 9/9] dt-bindings: sp804: add support for Hisilicon sp804 timer Zhen Lei
2020-09-15  1:27 ` Leizhen (ThunderTown) [this message]
2020-09-17 12:34   ` [PATCH v2 0/9] clocksource: " 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=b6bc2ed2-cf83-cca4-d599-ad4f20438349@huawei.com \
    --to=thunder.leizhen@huawei.com \
    --cc=chenjianguo3@huawei.com \
    --cc=daniel.lezcano@linaro.org \
    --cc=huawei.libin@huawei.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tglx@linutronix.de \
    --cc=wangkefeng.wang@huawei.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

all inboxes | Powered by JetHome®