linux-omap.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Carlos Hernandez <ceh@ti.com>
To: Daniel Lezcano <daniel.lezcano@linaro.org>,
	Tony Lindgren <tony@atomide.com>,
	Thomas Gleixner <tglx@linutronix.de>
Cc: <linux-kernel@vger.kernel.org>, <linux-omap@vger.kernel.org>,
	<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH] clocksource/drivers/timer-ti-dm: Fix suspend and resume for am3 and am4
Date: Mon, 20 Jul 2020 09:56:50 -0400	[thread overview]
Message-ID: <10b49f3f-7778-b391-27ca-0d28b282a55d@ti.com> (raw)
In-Reply-To: <f96cb9d8-c940-672a-b1d2-a26570d6f775@ti.com>


On 7/17/20 5:34 PM, Carlos Hernandez wrote:
>
>
> On 7/17/20 6:29 AM, Daniel Lezcano wrote:
>> On 13/07/2020 18:26, Tony Lindgren wrote:
>>> Carlos Hernandez<ceh@ti.com>  reported that we now have a suspend and
>>> resume regresssion on am3 and am4 compared to the earlier kernels. While
>>> suspend and resume works with v5.8-rc3, we now get errors with rtcwake:
>>>
>>> pm33xx pm33xx: PM: Could not transition all powerdomains to target state
>>> ...
>>> rtcwake: write error
>>>
>>> This is because we now fail to idle the system timer clocks that the
>>> idle code checks and the error gets propagated to the rtcwake.
>>>
>>> Turns out there are several issues that need to be fixed:
>>>
>>> 1. Ignore no-idle and no-reset configured timers for the ti-sysc
>>>     interconnect target driver as otherwise it will keep the system timer
>>>     clocks enabled
>>>
>>> 2. Toggle the system timer functional clock for suspend for am3 and am4
>>>     (but not for clocksource on am3)
>>>
>>> 3. Only reconfigure type1 timers in dmtimer_systimer_disable()
>>>
>>> 4. Use of_machine_is_compatible() instead of of_device_is_compatible()
>>>     for checking the SoC type
>>>
>>> Fixes: 52762fbd1c47 ("clocksource/drivers/timer-ti-dm: Add clockevent and clocksource support")
>>> Reported-by: Carlos Hernandez<ceh@ti.com>
>>> Signed-off-by: Tony Lindgren<tony@atomide.com>
>>> ---
>> Carlos, were you able to test this patch ?
>
> Tested the patch on top of 5.8-rc5.
>
> cbdb2617290d (HEAD) clocksource/drivers/timer-ti-dm: Fix suspend and 
> resume for am3 and am4
> 11ba468877bb (tag: v5.8-rc5) Linux 5.8-rc5
>
> It works on am335x-evm but fails on am437x-evm
>
> am3:
>
> [ 122.541423] PM: suspend entry (deep)
> [ 122.545498] Filesystems sync: 0.000 seconds
> [ 122.549711] PM: Preparing system for sleep (deep)
> [ 122.564217] Freezing user space processes ... (elapsed 0.003 
> seconds) done.
> [ 122.575110] OOM killer disabled.
> [ 122.578370] Freezing remaining freezable tasks ... (elapsed 0.001 
> seconds) done.
> [ 122.587604] PM: Suspending system (deep)
> [ 122.591572] printk: Suspending console(s) (use no_console_suspend to 
> debug)
> [ 122.735877] cpsw 4a100000.ethernet eth0: Link is Down
> [ 122.742365] PM: suspend of devices complete after 142.546 msecs
> [ 122.742397] PM: start suspend of devices complete after 143.777 msecs
> [ 122.748722] PM: late suspend of devices complete after 6.257 msecs
> [ 122.754662] PM: noirq suspend of devices complete after 5.632 msecs
> [ 122.754689] Disabling non-boot CPUs ...
> [ 122.754715] pm33xx pm33xx: PM: Successfully put all powerdomains to 
> target state
> [ 122.754715] PM: Wakeup source RTC Alarm
> [ 122.766169] ti-sysc 4a101200.target-module: OCP softreset timed out
> [ 122.769222] PM: noirq resume of devices complete after 14.367 msecs
> [ 122.772956] PM: early resume of devices complete after 3.428 msecs
> [ 122.775749] cpsw 4a100000.ethernet: initializing cpsw version 1.12 (0)
> [ 122.857132] Qualcomm Atheros AR8031/AR8033 4a101000.mdio:00: 
> attached PHY driver [Qualcomm Atheros AR8031/AR8033] 
> (mii_bus:phy_addr=4a101000.mdio:00, irq=POLL)
> [ 122.874236] ti-sysc 4802a000.target-module: OCP softreset timed out
> [ 122.879559] PM: Timekeeping suspended for 18.212 seconds
> [ 122.994120] PM: resume of devices complete after 221.091 msecs
> [ 123.101133] PM: Finishing wakeup.
> [ 123.104493] OOM killer enabled.
> [ 123.107657] Restarting tasks ... done.
> [ 123.168294] PM: suspend exit
> [ 126.005262] cpsw 4a100000.ethernet eth0: Link is Up - 1Gbps/Full - 
> flow control off
> [ 122.742365] PM: suspend of devices complete after 142.546 msecs
>
>
> am4:
>
> |TRACE LOG|Inside do_cmd:CMD=echo 1 > /sys/kernel/debug/pm_debug/enable_off_mode|
> |TRACE LOG|suspend function: power_state: mem|
> |TRACE LOG|suspend function: max_stime: 10|
> |TRACE LOG|suspend function: max_atime: 5|
> |TRACE LOG|suspend function: iterations: 2|
> |TRACE LOG|suspend function: usb_remove: 0|
> |TRACE LOG|suspend function: usb_module: |
> |TRACE LOG|===suspend iteration 0===|
> sh1577:1590898691->1590898692(1):: wakeup - 9 sec 0 msec
> sh1577:1590898691->1590898692(1):: Use rtc to suspend resume, adding 10 secs to suspend time
> rtcwake: wakeup from "mem" using /dev/rtc0 at Sun May 31 04:18:33 2020
> [  106.401004] PM: suspend entry (deep)
> [  106.420151] Filesystems sync: 0.015 seconds
> [  106.424598] PM: Preparing system for sleep (deep)
> [  106.434312] Freezing user space processes ... (elapsed 0.001 seconds) done.
> [  106.442808] OOM killer disabled.
> [  106.446152] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
> [  106.454894] PM: Suspending system (deep)
> [  106.458893] printk: Suspending console(s) (use no_console_suspend to debug)
> CCCCCCCC** 1196 printk messages dropped **
> [  107.379605] [<c0573bd8>] (gic_handle_irq) from [<c0100b6c>] (__irq_svc+0x6c/0x90)
> ** 41 printk messages dropped **
> [  107.412635] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G        W         5.8.0-rc5-00001-gcbdb2617290d #1
> ** 37 printk messages dropped **
> [  107.429822] [<c0198358>] (handle_irq_event) from [<c019cdf8>] (handle_fasteoi_irq+0xc4/0x188)
> ** 37 printk messages dropped **
> [  107.446915] [<c09573f8>] (cpu_idle_poll) from [<c016d0e4>] (do_idle+0x7c/0x2b4)
> [  107.446946] [<c016d0e4>] (do_idle) from [<c016d5d4>] (cpu_startup_entry+0x18/0x1c)
> ** 34 printk messages dropped **
> [  107.479851] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G        W         5.8.0-rc5-00001-gcbdb2617290d #1
> ** 42 printk messages dropped **
> [  107.497182] Exception stack(0xc0e01f10 to 0xc0e01f58)
> [  107.497202] 1f00:                                     000429e8 00000000 c0e00000 00000001
> ** 34 printk messages dropped **
> [  107.514208] ---[ end trace c18ea2591ccbc697 ]---
> [  107.524884] usb 1-1: reset high-speed USB device number 2 using xhci-hcd
> ** 34 printk messages dropped **
> [  107.547126] [<c0111b08>] (unwind_backtrace) from [<c010ba54>] (show_stack+0x10/0x14)
> [  107.547164] [<c010ba54>] (show_stack) from [<c055ad98>] (dump_stack+0xc4/0xe0)
> ** 42 printk messages dropped **
> [  107.564441] 1e60: c0e00000 00000002 ffffb4d5 c0e01e88 c013f95c c01012fc 60000153 ffffffff
> [  107.564473] [<c0100b6c>] (__irq_svc) from [<c01012fc>] (__do_softirq+0x7c/0x390)
> ** 43 printk messages dropped **
> [  107.597112] 44000000.ocp:L3 Custom Error: MASTER DSS TARGET GPMC (Read): Data Access in User mode during Functional access
> ** 34 printk messages dropped **
> [  107.614456] [<c0138a40>] (__warn) from [<c0138e08>] (warn_slowpath_fmt+0x90/0xc0)
> [  107.614491] [<c0138e08>] (warn_slowpath_fmt) from [<c057581c>] (l3_interrupt_handler+0x250/0x370)
> ** 42 printk messages dropped **
> [  107.631781] [<c016d0e4>] (do_idle) from [<c016d5d4>] (cpu_startup_entry+0x18/0x1c)
> ** 35 printk messages dropped **
> [  107.664649] Hardware name: Generic AM43 (Flattened Device Tree)
> [  107.664711] [<c0111b08>] (unwind_backtrace) from [<c010ba54>] (show_stack+0x10/0x14)
> ** 42 printk messages dropped **
> [  107.682068] 1f20: c0e00000 c0e05234 c0ec3b9c c0e05234 00000000 c0d48a40 c0d766b0 c0e055e0
> [  107.682089] 1f40: 00000000 c0e01f60 c0957380 c09573d0 20000153 ffffffff
> ** 38 printk messages dropped **
> [  107.720215] CPU: 0 PID: 1604 Comm: rtcwake Tainted: G        W         5.8.0-rc5-00001-gcbdb2617290d #1
> ** 44 printk messages dropped **
> [  107.734583] CPU: 0 PID: 1604 Comm: rtcwake Tainted: G        W         5.8.0-rc5-00001-gcbdb2617290d #1
> [  107.734594] Hardware name: Generic AM43 (Flattened Device Tree)
> ** 39 printk messages dropped **
> [  107.747964] ti-sysc 44e0b000.target-module: OCP softreset timed out
>
> -- 
> Carlos

-- 
Carlos


  parent reply	other threads:[~2020-07-20 13:57 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-13 16:26 [PATCH] clocksource/drivers/timer-ti-dm: Fix suspend and resume for am3 and am4 Tony Lindgren
2020-07-15 10:17 ` Grygorii Strashko
2020-07-15 17:32   ` Tony Lindgren
2020-07-15 18:43     ` Grygorii Strashko
2020-07-17 10:29 ` Daniel Lezcano
     [not found]   ` <f96cb9d8-c940-672a-b1d2-a26570d6f775@ti.com>
2020-07-20 13:56     ` Carlos Hernandez [this message]
2020-07-20 14:30     ` Tony Lindgren
2020-07-21  3:35       ` Sekhar Nori
2020-07-21 13:11   ` Carlos Hernandez
2020-07-21 13:49     ` 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=10b49f3f-7778-b391-27ca-0d28b282a55d@ti.com \
    --to=ceh@ti.com \
    --cc=daniel.lezcano@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=tglx@linutronix.de \
    --cc=tony@atomide.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).