[PATCH] riscv: Access time mmio instead of rdtime.

Djordje Todorovic Djordje.Todorovic at htecgroup.com
Wed Apr 9 06:00:10 PDT 2025


HTEC Public

Thanks a lot for your feedback. We will address those comments in
the v2 for the change.

Best,
Djordje

________________________________________
From: Palmer Dabbelt <palmer at dabbelt.com>
Sent: Wednesday, February 5, 2025 4:31 PM
To: Conor Dooley <conor at kernel.org>
Cc: arikalo at gmail.com <arikalo at gmail.com>; linux-riscv at lists.infradead.org <linux-riscv at lists.infradead.org>; Paul Walmsley <paul.walmsley at sifive.com>; aou at eecs.berkeley.edu <aou at eecs.berkeley.edu>; daniel.lezcano at linaro.org <daniel.lezcano at linaro.org>; tglx at linutronix.de <tglx at linutronix.de>; Djordje Todorovic <djordje.todorovic at htecgroup.com>; Dragan.Mladjenovic at syrmia.com <Dragan.Mladjenovic at syrmia.com>; linux-kernel at vger.kernel.org <linux-kernel at vger.kernel.org>
Subject: Re: [PATCH] riscv: Access time mmio instead of rdtime.

CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe.


On Sun, 29 Dec 2024 07:09:13 PST (-0800), Conor Dooley wrote:
> On Fri, Dec 27, 2024 at 04:00:56PM +0100, Aleksandar Rikalo wrote:
>> +#if defined(CONFIG_RISCV_TIME_MMIO)
>> +    if (!of_property_read_u64(n, "clock-reg", &mmio_addr)) {
>
> This is a non-standard, undocumented property. reg & reg-names are what
> you should be using here.

We were talking some in the patchwork meeting.  If this system has a
CLINT then it's probably best to refactor the timers such that MMIO
CLINT access is independent from M-mode (as there's some patches
floating around to make M-mode use rdtime on systems that implement
rdtime).

>> +            riscv_time_val = ioremap((long)mmio_addr, 8);
>> +            if (riscv_time_val) {
>> +                    pr_info("Using mmio time register at 0x%llx\n", mmio_addr);
>> +                    static_branch_enable(&riscv_time_mmio_available);
>> +            } else {
>> +                    pr_warn("Unable to use mmio time at 0x%llx\n", mmio_addr);
>> +            }
>> +    }
>> +#endif



More information about the linux-riscv mailing list