devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Xingyu Wu <xingyu.wu@starfivetech.com>
To: Daniel Lezcano <daniel.lezcano@linaro.org>
Cc: Thomas Gleixner <tglx@linutronix.de>,
	Emil Renner Berthing <emil.renner.berthing@canonical.com>,
	Christophe JAILLET <christophe.jaillet@wanadoo.fr>,
	<linux-riscv@lists.infradead.org>, <devicetree@vger.kernel.org>,
	Rob Herring <robh+dt@kernel.org>,
	"Krzysztof Kozlowski" <krzysztof.kozlowski+dt@linaro.org>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	Walker Chen <walker.chen@starfivetech.com>,
	Samin Guo <samin.guo@starfivetech.com>,
	<linux-kernel@vger.kernel.org>, Conor Dooley <conor@kernel.org>
Subject: Re: [PATCH v7 2/3] clocksource: Add JH7110 timer driver
Date: Thu, 9 Nov 2023 15:51:25 +0800	[thread overview]
Message-ID: <7c2e9b70-201c-45f8-9871-a823cc2ded16@starfivetech.com> (raw)
In-Reply-To: <1dd3d765-c583-4db9-a0aa-303bfcf871db@linaro.org>

On 2023/11/8 17:10, Daniel Lezcano wrote:
> On 08/11/2023 04:45, Xingyu Wu wrote:
>> On 2023/11/2 22:29, Daniel Lezcano wrote:
> 
> [ ... ]
> 
>> Thanks. The riscv-timer has a clocksource with a higher rating but a
>> clockevent with lower rating[1] than jh7110-timer. I tested the
>> jh7110-timer as clockevent and flagged as one shot, which could do
>> some of the works instead of riscv-timer. And the current_clockevent
>> changed to jh7110-timer.
>>
>> Because the jh7110-timer works as clocksource with lower rating and
>> only will be used as global timer at CPU idle time. Is it necessary
>> to be registered as clocksource? If not, should it just be registered
>> as clockevent?
> 
> Yes, you can register the clockevent without the clocksource.
> 
> You mentioned the JH7110 has a better rating than the CPU architected timers. The rating is there to "choose" the best timer, so it is up to the author of the driver check against which timers it compares on the platform.
> 
> Usually, CPU timers are the best.
> 
> It is surprising the timer-riscv has a so low rating. You may double check if jh7110 is really better. If it is the case, then implementing a clockevent per cpu would make more sense, otherwise one clockevent as a global timer is enough.
> 
> Unused clocksource, clockevents should be stopped in case the firmware let them in a undetermined state.
> 
> 

The interrupts of jh7110-timer each channel are global interrupts like SPI(Shared Peripheral Interrupt) not PPI (Private Peripheral Interrupt). They are up to PLIC to select which core to respond to. So it is hard to implement a clockevent per cpu core. I tested this with request_percpu_irq() and it failed.

I think it is enough to implement a clockevent as a global timer. Thank you for your advice.

Best regards,
Xingyu Wu

>> [1
>> https://git.kernel.org/pub/scm/linux/kernel/git/thermal/linux.git/tree/drivers/clocksource/timer-riscv.c#n45
>>
>>  Thanks, Xingyu Wu
> 


  reply	other threads:[~2023-11-09  7:58 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-19  5:34 [PATCH v7 0/3] Add timer driver for StarFive JH7110 RISC-V SoC Xingyu Wu
2023-10-19  5:34 ` [PATCH v7 1/3] dt-bindings: timer: Add timer for StarFive JH7110 SoC Xingyu Wu
2023-10-19  5:35 ` [PATCH v7 2/3] clocksource: Add JH7110 timer driver Xingyu Wu
2023-10-24 13:13   ` Emil Renner Berthing
2023-10-25  8:39     ` Xingyu Wu
2023-10-24 14:56   ` Daniel Lezcano
2023-10-25  9:04     ` Xingyu Wu
2023-10-25 14:39       ` Daniel Lezcano
2023-10-27  9:17         ` Xingyu Wu
2023-10-27 13:34           ` Daniel Lezcano
2023-11-02 13:15             ` Xingyu Wu
2023-11-02 14:29               ` Daniel Lezcano
2023-11-08  3:45                 ` Xingyu Wu
2023-11-08  9:10                   ` Daniel Lezcano
2023-11-09  7:51                     ` Xingyu Wu [this message]
2023-11-10 17:40                       ` Samuel Holland
2023-11-10 18:02                         ` Daniel Lezcano
2023-11-13  2:19                           ` Xingyu Wu
2023-10-19  5:35 ` [PATCH v7 3/3] riscv: dts: jh7110: starfive: Add timer node Xingyu Wu

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=7c2e9b70-201c-45f8-9871-a823cc2ded16@starfivetech.com \
    --to=xingyu.wu@starfivetech.com \
    --cc=aou@eecs.berkeley.edu \
    --cc=christophe.jaillet@wanadoo.fr \
    --cc=conor@kernel.org \
    --cc=daniel.lezcano@linaro.org \
    --cc=devicetree@vger.kernel.org \
    --cc=emil.renner.berthing@canonical.com \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-riscv@lists.infradead.org \
    --cc=p.zabel@pengutronix.de \
    --cc=palmer@dabbelt.com \
    --cc=paul.walmsley@sifive.com \
    --cc=robh+dt@kernel.org \
    --cc=samin.guo@starfivetech.com \
    --cc=tglx@linutronix.de \
    --cc=walker.chen@starfivetech.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).