* [PATCH] bus: ti-sysc: Don't reserve the system timers on AM33xx
@ 2026-11-03 13:24 Markus Schneider-Pargmann (TI)
2026-11-04 15:53 ` Judith Mendez
0 siblings, 1 reply; 3+ messages in thread
From: Markus Schneider-Pargmann (TI) @ 2026-11-03 13:24 UTC (permalink / raw)
To: Aaro Koskinen, Andreas Kemnade, Kevin Hilman, Roger Quadros,
Tony Lindgren, Alexander Stein, Matthias Schiffer
Cc: linux-omap, linux-kernel, Julien Panis, Mendez, Judith, Francis,
Sebin, stable, Markus Schneider-Pargmann (TI)
Commit
3f6178392050 ("ti-sysc: allow OMAP2 and OMAP4 timers to be reserved on AM33xx")
introduced handling of am33 SoC timers that are already active as
reserved. During probe this means the clocks are enabled and a reference
is kept.
On AM33xx deep sleep is entered by the PM coprocessor which
requires the PER power domain to be idle. The system timer driver
disables the clock during suspend but the additional reference held by
ti-sysc leads to the PER power domain not being idle:
pm33xx pm33xx: PM: Could not transition all powerdomains to target state
The reserved status is only needed where the
gpt12 system timer must be kept from idling, see commit
3ff340e24c9d ("bus: ti-sysc: Fix gpt12 system timer issue with reserved status")
The timer configuration in the devicetree is the same on all SoCs, so
there is no reason to reserve the timers on AM33xx.
Return -ENODEV for the system timers on all other SoCs. Like -EBUSY it
stops the probe but the driver core doesn't report it as failure.
Fixes: 3f6178392050 ("ti-sysc: allow OMAP2 and OMAP4 timers to be reserved on AM33xx")
Cc: stable@vger.kernel.org
Signed-off-by: Markus Schneider-Pargmann (TI) <msp@baylibre.com>
---
drivers/bus/ti-sysc.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/drivers/bus/ti-sysc.c b/drivers/bus/ti-sysc.c
index e118b900c9ac..922a90d4c5a3 100644
--- a/drivers/bus/ti-sysc.c
+++ b/drivers/bus/ti-sysc.c
@@ -48,7 +48,6 @@ enum sysc_soc {
SOC_UNKNOWN,
SOC_2420,
SOC_2430,
- SOC_AM33,
SOC_3430,
SOC_AM35,
SOC_3630,
@@ -2917,7 +2916,6 @@ static void ti_sysc_idle(struct work_struct *work)
static const struct soc_device_attribute sysc_soc_match[] = {
SOC_FLAG("OMAP242*", SOC_2420),
SOC_FLAG("OMAP243*", SOC_2430),
- SOC_FLAG("AM33*", SOC_AM33),
SOC_FLAG("AM35*", SOC_AM35),
SOC_FLAG("OMAP3[45]*", SOC_3430),
SOC_FLAG("OMAP3[67]*", SOC_3630),
@@ -3124,13 +3122,12 @@ static int sysc_check_active_timer(struct sysc *ddata)
* A to B4 at some point.
*/
switch (sysc_soc->soc) {
- case SOC_AM33:
case SOC_3430:
case SOC_AM35:
error = -ENXIO;
break;
default:
- error = -EBUSY;
+ error = -ENODEV;
}
if ((ddata->cfg.quirks & SYSC_QUIRK_NO_RESET_ON_INIT) &&
---
base-commit: 6628e7d4c6b25c8d18f1345e3a20d21829aae7e4
change-id: 20261030-v7-3-topic-am335lpm-ti-sysc-13f0219c9d67
Best regards,
--
Markus Schneider-Pargmann (TI) <msp@baylibre.com>
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [PATCH] bus: ti-sysc: Don't reserve the system timers on AM33xx
2026-11-03 13:24 [PATCH] bus: ti-sysc: Don't reserve the system timers on AM33xx Markus Schneider-Pargmann (TI)
@ 2026-11-04 15:53 ` Judith Mendez
2026-11-06 11:15 ` Kory Maincent
0 siblings, 1 reply; 3+ messages in thread
From: Judith Mendez @ 2026-11-04 15:53 UTC (permalink / raw)
To: Markus Schneider-Pargmann (TI),
Aaro Koskinen, Andreas Kemnade, Kevin Hilman, Roger Quadros,
Tony Lindgren, Alexander Stein, Matthias Schiffer
Cc: linux-omap, linux-kernel, Julien Panis, Francis, Sebin, stable
Hi Markus
On 11/3/26 7:24 AM, Markus Schneider-Pargmann (TI) wrote:
> Commit
> 3f6178392050 ("ti-sysc: allow OMAP2 and OMAP4 timers to be reserved on AM33xx")
> introduced handling of am33 SoC timers that are already active as
> reserved. During probe this means the clocks are enabled and a reference
> is kept.
>
> On AM33xx deep sleep is entered by the PM coprocessor which
> requires the PER power domain to be idle. The system timer driver
> disables the clock during suspend but the additional reference held by
> ti-sysc leads to the PER power domain not being idle:
>
> pm33xx pm33xx: PM: Could not transition all powerdomains to target state
>
> The reserved status is only needed where the
> gpt12 system timer must be kept from idling, see commit
> 3ff340e24c9d ("bus: ti-sysc: Fix gpt12 system timer issue with reserved status")
>
> The timer configuration in the devicetree is the same on all SoCs, so
> there is no reason to reserve the timers on AM33xx.
>
> Return -ENODEV for the system timers on all other SoCs. Like -EBUSY it
> stops the probe but the driver core doesn't report it as failure.
>
> Fixes: 3f6178392050 ("ti-sysc: allow OMAP2 and OMAP4 timers to be reserved on AM33xx")
> Cc: stable@vger.kernel.org
> Signed-off-by: Markus Schneider-Pargmann (TI) <msp@baylibre.com>
Thanks for the patch, tested on various AM3* boards.
Tested-by: Judith Mendez <jm@ti.com>
> ---
> drivers/bus/ti-sysc.c | 5 +----
> 1 file changed, 1 insertion(+), 4 deletions(-)
>
> diff --git a/drivers/bus/ti-sysc.c b/drivers/bus/ti-sysc.c
> index e118b900c9ac..922a90d4c5a3 100644
> --- a/drivers/bus/ti-sysc.c
> +++ b/drivers/bus/ti-sysc.c
> @@ -48,7 +48,6 @@ enum sysc_soc {
> SOC_UNKNOWN,
> SOC_2420,
> SOC_2430,
> - SOC_AM33,
> SOC_3430,
> SOC_AM35,
> SOC_3630,
> @@ -2917,7 +2916,6 @@ static void ti_sysc_idle(struct work_struct *work)
> static const struct soc_device_attribute sysc_soc_match[] = {
> SOC_FLAG("OMAP242*", SOC_2420),
> SOC_FLAG("OMAP243*", SOC_2430),
> - SOC_FLAG("AM33*", SOC_AM33),
> SOC_FLAG("AM35*", SOC_AM35),
> SOC_FLAG("OMAP3[45]*", SOC_3430),
> SOC_FLAG("OMAP3[67]*", SOC_3630),
> @@ -3124,13 +3122,12 @@ static int sysc_check_active_timer(struct sysc *ddata)
> * A to B4 at some point.
> */
> switch (sysc_soc->soc) {
> - case SOC_AM33:
> case SOC_3430:
> case SOC_AM35:
> error = -ENXIO;
> break;
> default:
> - error = -EBUSY;
> + error = -ENODEV;
> }
>
> if ((ddata->cfg.quirks & SYSC_QUIRK_NO_RESET_ON_INIT) &&
>
> ---
> base-commit: 6628e7d4c6b25c8d18f1345e3a20d21829aae7e4
> change-id: 20261030-v7-3-topic-am335lpm-ti-sysc-13f0219c9d67
>
> Best regards,
> --
> Markus Schneider-Pargmann (TI) <msp@baylibre.com>
>
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [PATCH] bus: ti-sysc: Don't reserve the system timers on AM33xx
2026-11-04 15:53 ` Judith Mendez
@ 2026-11-06 11:15 ` Kory Maincent
0 siblings, 0 replies; 3+ messages in thread
From: Kory Maincent @ 2026-11-06 11:15 UTC (permalink / raw)
To: Judith Mendez, Markus Schneider-Pargmann (TI),
Aaro Koskinen, Andreas Kemnade, Kevin Hilman, Roger Quadros,
Tony Lindgren, Alexander Stein, Matthias Schiffer
Cc: linux-omap, linux-kernel, Julien Panis, Francis, Sebin, stable
On 11/4/26 16:53, Judith Mendez wrote:
> Hi Markus
>
> On 11/3/26 7:24 AM, Markus Schneider-Pargmann (TI) wrote:
>> Commit
>> 3f6178392050 ("ti-sysc: allow OMAP2 and OMAP4 timers to be
>> reserved on AM33xx")
>> introduced handling of am33 SoC timers that are already active as
>> reserved. During probe this means the clocks are enabled and a reference
>> is kept.
>>
>> On AM33xx deep sleep is entered by the PM coprocessor which
>> requires the PER power domain to be idle. The system timer driver
>> disables the clock during suspend but the additional reference held by
>> ti-sysc leads to the PER power domain not being idle:
>>
>> pm33xx pm33xx: PM: Could not transition all powerdomains to
>> target state
>>
>> The reserved status is only needed where the
>> gpt12 system timer must be kept from idling, see commit
>> 3ff340e24c9d ("bus: ti-sysc: Fix gpt12 system timer issue with
>> reserved status")
>>
>> The timer configuration in the devicetree is the same on all SoCs, so
>> there is no reason to reserve the timers on AM33xx.
>>
>> Return -ENODEV for the system timers on all other SoCs. Like -EBUSY it
>> stops the probe but the driver core doesn't report it as failure.
>>
>> Fixes: 3f6178392050 ("ti-sysc: allow OMAP2 and OMAP4 timers to be
>> reserved on AM33xx")
>> Cc: stable@vger.kernel.org
>> Signed-off-by: Markus Schneider-Pargmann (TI) <msp@baylibre.com>
>
> Thanks for the patch, tested on various AM3* boards.
>
> Tested-by: Judith Mendez <jm@ti.com>
Tested-by: Kory Maincent <kory.maincent@bootlin.com>
On BeagleBone Green Eco.
Thank you!
--
Köry Maincent, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-11-06 11:15 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-11-03 13:24 [PATCH] bus: ti-sysc: Don't reserve the system timers on AM33xx Markus Schneider-Pargmann (TI)
2026-11-04 15:53 ` Judith Mendez
2026-11-06 11:15 ` Kory Maincent
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®