All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andreas Kemnade <andreas@kemnade.info>
To: "Markus Schneider-Pargmann (TI)" <msp@baylibre.com>
Cc: Daniel Lezcano <daniel.lezcano@kernel.org>,
	Thomas Gleixner <tglx@kernel.org>,
	"H. Nikolaus Schaller" <hns@goldelico.com>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] clocksource/drivers/timer-ti-dm: Register clocksource/event only for am654
Date: Fri, 28 Aug 2026 23:04:45 +0200	[thread overview]
Message-ID: <20260828230445.3c2510b9@kemnade.info> (raw)
In-Reply-To: <20260828-v7-3-next-topic-ti-timer-dm-clocksource-omap-fix-v1-1-85f0e4dc6f9f@baylibre.com>

On Fri, 28 Aug 2026 20:47:45 +0200
"Markus Schneider-Pargmann (TI)" <msp@baylibre.com> wrote:

> Registering clocksource/clockevent for the older platforms breaks
> booting them. The older platforms have their own implementation in early
> boot that is used to register clocksource/clockevent in
> timer-ti-dm-systimer.c.
> 
> With am654, the timer is much more complex with more dependencies so
> doing this in early boot with the other driver is very difficult and
> gets ugly. Instead it is implemented in the platform driver for am654.
> However the old platforms may not register clocksource/clockevent in
> this driver as that would break the boot.
> 
> Add a system_timer_capable flag that is only set for am654-timer that
> gates the clocksource/clockevent registration.
> 
> Reported-by: H. Nikolaus Schaller <hns@goldelico.com>
> Closes: https://lore.kernel.org/r/2013A99A-0502-4128-ACFA-B04886224393@goldelico.com
> Fixes: b8eeeca55456 ("clocksource/drivers/timer-ti-dm: Add clocksource support")
> Signed-off-by: Markus Schneider-Pargmann (TI) <msp@baylibre.com>

Tested-by: Andreas Kemnade <andreas@kemnade.info> # OMAP3 GTA04
> ---
>  drivers/clocksource/timer-ti-dm.c          | 4 +++-
>  include/linux/platform_data/dmtimer-omap.h | 2 ++
>  2 files changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/clocksource/timer-ti-dm.c b/drivers/clocksource/timer-ti-dm.c
> index 6787acac9a43..ae8777d03215 100644
> --- a/drivers/clocksource/timer-ti-dm.c
> +++ b/drivers/clocksource/timer-ti-dm.c
> @@ -1475,7 +1475,8 @@ static int omap_dm_timer_probe(struct platform_device *pdev)
>  
>  	timer->pdev = pdev;
>  
> -	if (timer->capability & OMAP_TIMER_ALWON && !IS_ERR_OR_NULL(timer->fclk)) {
> +	if (pdata->system_timer_capable &&
> +	    timer->capability & OMAP_TIMER_ALWON && !IS_ERR_OR_NULL(timer->fclk)) {
>  		if (!omap_dm_timer_sched_clock_counter) {
>  			ret = omap_dm_timer_setup_clocksource(timer);
>  			if (ret)
> @@ -1585,6 +1586,7 @@ static const struct dmtimer_platform_data omap3plus_pdata = {
>  
>  static const struct dmtimer_platform_data am6_pdata = {
>  	.timer_ops = &dmtimer_ops,
> +	.system_timer_capable = true,
>  };
>  
>  static const struct of_device_id omap_timer_match[] = {
> diff --git a/include/linux/platform_data/dmtimer-omap.h b/include/linux/platform_data/dmtimer-omap.h
> index 726d89143842..b78ee4676b98 100644
> --- a/include/linux/platform_data/dmtimer-omap.h
> +++ b/include/linux/platform_data/dmtimer-omap.h
> @@ -57,6 +57,8 @@ struct dmtimer_platform_data {
>  	u32 timer_errata;
>  	int (*get_context_loss_count)(struct device *);
>  	const struct omap_dm_timer_ops *timer_ops;
> +	/* always-on timers can be used for clocksource/clockevent */
> +	bool system_timer_capable;
>  };
>  
>  #endif /* __PLATFORM_DATA_DMTIMER_OMAP_H__ */
> 
> ---
> base-commit: e30626823a406725ce29bc75cb8ec467d3e1e326
> change-id: 20260828-v7-3-next-topic-ti-timer-dm-clocksource-omap-fix-418786f115bc
> 
> Best regards,
> --  
> Markus Schneider-Pargmann (TI) <msp@baylibre.com>
> 
> 


  reply	other threads:[~2026-08-28 21:04 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-28 18:47 [PATCH] clocksource/drivers/timer-ti-dm: Register clocksource/event only for am654 Markus Schneider-Pargmann (TI)
2026-08-28 21:04 ` Andreas Kemnade [this message]
2026-08-29  7:23   ` H. Nikolaus Schaller
2026-08-31 17:44     ` Kevin Hilman
2026-09-16  9:02     ` Markus Schneider-Pargmann
2026-09-16  8:59 ` Markus Schneider-Pargmann
2026-10-02 10:04 ` 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=20260828230445.3c2510b9@kemnade.info \
    --to=andreas@kemnade.info \
    --cc=daniel.lezcano@kernel.org \
    --cc=hns@goldelico.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=msp@baylibre.com \
    --cc=tglx@kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.