[PATCH V2] clocksource/drivers/rda: Add sched_clock_register for RDA8810PL SoC

enlin.mu enlin.mu at linux.dev
Sun Nov 16 18:13:24 PST 2025


Hi Everyone

Who can help review this patch?

thanks

On 2025/11/7 14:33, Enlin Mu wrote:
> From: Enlin Mu <enlin.mu at unisoc.com>
> 
> The current system log timestamp accuracy is tick, which can not
> meet the usage requirements and needs to reach nanoseconds.
> Therefore, the sched_clock_register funciton needs to be add.
> 
> Signed-off-by: Enlin Mu <enlin.mu at unisoc.com>
> ---
>   drivers/clocksource/timer-rda.c | 9 ++++++++-
>   1 file changed, 8 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/clocksource/timer-rda.c b/drivers/clocksource/timer-rda.c
> index fd1199c189bf..0be8e05970e2 100644
> --- a/drivers/clocksource/timer-rda.c
> +++ b/drivers/clocksource/timer-rda.c
> @@ -13,6 +13,7 @@
>   
>   #include <linux/init.h>
>   #include <linux/interrupt.h>
> +#include <linux/sched_clock.h>
>   
>   #include "timer-of.h"
>   
> @@ -153,7 +154,7 @@ static struct timer_of rda_ostimer_of = {
>   	},
>   };
>   
> -static u64 rda_hwtimer_read(struct clocksource *cs)
> +static u64 rda_hwtimer_clocksource_read(void)
>   {
>   	void __iomem *base = timer_of_base(&rda_ostimer_of);
>   	u32 lo, hi;
> @@ -167,6 +168,11 @@ static u64 rda_hwtimer_read(struct clocksource *cs)
>   	return ((u64)hi << 32) | lo;
>   }
>   
> +static u64 rda_hwtimer_read(struct clocksource *cs)
> +{
> +	return rda_hwtimer_clocksource_read();
> +}
> +
>   static struct clocksource rda_hwtimer_clocksource = {
>   	.name           = "rda-timer",
>   	.rating         = 400,
> @@ -185,6 +191,7 @@ static int __init rda_timer_init(struct device_node *np)
>   		return ret;
>   
>   	clocksource_register_hz(&rda_hwtimer_clocksource, rate);
> +	sched_clock_register(rda_hwtimer_clocksource_read, 64, rate);
>   
>   	clockevents_config_and_register(&rda_ostimer_of.clkevt, rate,
>   					0x2, UINT_MAX);




More information about the linux-arm-kernel mailing list