From: Shengjiu Wang <shengjiu.wang@gmail.com>
To: Francesco Dolcini <francesco@dolcini.it>
Cc: Shengjiu Wang <shengjiu.wang@nxp.com>,
abelvesa@kernel.org, peng.fan@nxp.com, mturquette@baylibre.com,
sboyd@kernel.org, shawnguo@kernel.org, s.hauer@pengutronix.de,
kernel@pengutronix.de, festevam@gmail.com, linux-imx@nxp.com,
linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v4] clk: imx: imx8mp: Add pm_runtime support for power saving
Date: Thu, 25 Apr 2024 14:36:45 +0800 [thread overview]
Message-ID: <CAA+D8AMxcAOdeSUhLnFdX2tjXSiWKg8-oxfZ8oT06-qQPnNKqA@mail.gmail.com> (raw)
In-Reply-To: <20240424164725.GA18760@francesco-nb>
On Thu, Apr 25, 2024 at 12:47 AM Francesco Dolcini <francesco@dolcini.it> wrote:
>
> On Thu, Mar 21, 2024 at 09:14:02PM +0800, Shengjiu Wang wrote:
> > Add pm_runtime support for power saving. In pm runtime suspend
> > state the registers will be reseted, so add registers save
> > in pm runtime suspend and restore them in pm runtime resume.
> >
> > Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
> > Reviewed-by: Peng Fan <peng.fan@nxp.com>
>
> Is this introducing a regression?
>
> 800 13:50:19.713052 <6>[ 16.531134] clk: Disabling unused clocks
> 801 13:50:19.727524 <2>[ 16.535413] SError Interrupt on CPU2, code 0x00000000bf000002 -- SError
> 802 13:50:19.731400 <4>[ 16.535421] CPU: 2 PID: 1 Comm: swapper/0 Not tainted 6.9.0-rc5-next-20240424 #1
> 803 13:50:19.742514 <4>[ 16.535428] Hardware name: Toradex Verdin iMX8M Plus on Dahlia Board (DT)
> 804 13:50:19.747157 <4>[ 16.535431] pstate: 80000005 (Nzcv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
> 805 13:50:19.758468 <4>[ 16.535442] pc : clk_imx8mp_audiomix_runtime_resume+0x24/0x48
> 806 13:50:19.759372 <4>[ 16.535456] lr : pm_generic_runtime_resume+0x2c/0x44
> 807 13:50:19.759587 <4>[ 16.535465] sp : ffff800082b8bb90
> 808 13:50:19.774512 <4>[ 16.535468] x29: ffff800082b8bb90 x28: 0000000000000000 x27: 0000000000000000
> 809 13:50:19.775367 <4>[ 16.535482] x26: 0000000000000000 x25: 0000000000000000 x24: 0000000000000000
> 810 13:50:19.790567 <4>[ 16.535495] x23: ffff0000c0f7a4e0 x22: ffff0000c26922f8 x21: 0000000000000000
> 811 13:50:19.791308 <4>[ 16.535508] x20: ffff0000c2692000 x19: ffff0000c0e30c10 x18: 0000000000000000
> 812 13:50:19.794834 <4>[ 16.535521] x17: 000000007e4712cb x16: ffff80008296f800 x15: 0000000000000030
> 813 13:50:19.807341 <4>[ 16.535532] x14: ffff0000c00b8080 x13: 00000000000003f9 x12: 0000000000000000
> 814 13:50:19.810740 <4>[ 16.535545] x11: 0000000000000000 x10: 0000000000000aa0 x9 : ffff800082b8bb20
> 815 13:50:19.822528 <4>[ 16.535559] x8 : ffff0000c00b8b00 x7 : 0000000000000000 x6 : ffff0000c00b8000
> 816 13:50:19.827173 <4>[ 16.535570] x5 : ffff8000836b0000 x4 : ffff0000c2f3a488 x3 : ffff8000813660d0
> 817 13:50:19.838446 <4>[ 16.535583] x2 : 0000000000000004 x1 : 0000000000000001 x0 : 00000000ff777777
> 818 13:50:19.839321 <0>[ 16.535597] Kernel panic - not syncing: Asynchronous SError Interrupt
> 819 13:50:19.839983 Matched prompt #9: Kernel panic - not syncing
> 820 13:50:19.840155 Setting prompt string to ['end Kernel panic[^\\r]*\\r', '/ #', 'Login timed out', 'Login incorrect']
> 821 13:50:19.854524 <4>[ 16.535601] CPU: 2 PID: 1 Comm: swapper/0 Not tainted 6.9.0-rc5-next-20240424 #1
> 822 13:50:19.855261 <4>[ 16.535609] Hardware name: Toradex Verdin iMX8M Plus on Dahlia Board (DT)
> 823 13:50:19.858660 <4>[ 16.535613] Call trace:
> 824 13:50:19.870455 <4>[ 16.535616] dump_backtrace+0x94/0xec
> 825 13:50:19.870763 <4>[ 16.535626] show_stack+0x18/0x24
> 826 13:50:19.871258 <4>[ 16.535635] dump_stack_lvl+0x38/0x90
> 827 13:50:19.874714 <4>[ 16.535647] dump_stack+0x18/0x24
> 828 13:50:19.874964 <4>[ 16.535656] panic+0x388/0x3c8
> 829 13:50:19.886551 <4>[ 16.535667] nmi_panic+0x48/0x94
> 830 13:50:19.888318 <4>[ 16.535679] arm64_serror_panic+0x6c/0x78
> 831 13:50:19.888531 <4>[ 16.535688] do_serror+0x3c/0x78
> 832 13:50:19.892592 <4>[ 16.535693] el1h_64_error_handler+0x30/0x48
> 833 13:50:19.902540 <4>[ 16.535703] el1h_64_error+0x64/0x68
> 834 13:50:19.903437 <4>[ 16.535709] clk_imx8mp_audiomix_runtime_resume+0x24/0x48
> 835 13:50:19.907712 <4>[ 16.535719] __genpd_runtime_resume+0x30/0xa8
> 836 13:50:19.918505 <4>[ 16.535729] genpd_runtime_resume+0xb4/0x29c
> 837 13:50:19.918770 <4>[ 16.535741] __rpm_callback+0x48/0x198
> 838 13:50:19.919372 <4>[ 16.535749] rpm_callback+0x68/0x74
> 839 13:50:19.922715 <4>[ 16.535754] rpm_resume+0x3cc/0x680
> 840 13:50:19.934495 <4>[ 16.535762] __pm_runtime_resume+0x4c/0x90
> 841 13:50:19.934784 <4>[ 16.535769] clk_pm_runtime_get_all+0x58/0x164
> 842 13:50:19.935344 <4>[ 16.535780] clk_disable_unused+0x2c/0x178
> 843 13:50:19.938873 <4>[ 16.535793] do_one_initcall+0x6c/0x1b0
> 844 13:50:19.950539 <4>[ 16.535799] kernel_init_freeable+0x1c8/0x290
> 845 13:50:19.951360 <4>[ 16.535812] kernel_init+0x20/0x1dc
> 846 13:50:19.951585 <4>[ 16.535821] ret_from_fork+0x10/0x20
> 847 13:50:19.954803 <2>[ 16.535831] SMP: stopping secondary CPUs
> 848 13:50:19.966688 <0>[ 16.535838] Kernel Offset: disabled
> 849 13:50:19.967221 <0>[ 16.535841] CPU features: 0x0,00000040,00100000,4200421b
> 850 13:50:19.967360 <0>[ 16.535845] Memory Limit: none
> 851 13:50:19.985117 <0>[ 16.788060] ---[ end Kernel panic - not syncing: Asynchronous SError Interrupt ]---
>
> from
>
> https://storage.kernelci.org/next/master/next-20240424/arm64/defconfig/gcc-10/lab-broonie/baseline-imx8mp-verdin-nonwifi-dahlia.html
> https://lore.kernel.org/all/66293535.170a0220.21fe.a2e7@mx.google.com/
>
Sorry that I didn't use a clean community kernel for the test.
On my local side I added delay in drivers/pmdomain/imx/gpcv2.c
so there was no such issue.
But according to drivers/pmdomain/imx/gpcv2.c, seems that I need
to add delay in this driver, like this:
static int clk_imx8mp_audiomix_runtime_resume(struct device *dev)
{
+ /*
+ * According to the drivers/pmdomain/imx/gpcv2.c
+ * need to wait for reset to propagate
+ */
+ udelay(5);
+
I will submit a patch for it.
Thanks for reporting it
Best regards
Shengjiu Wang
> Francesco
>
next prev parent reply other threads:[~2024-04-25 6:36 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-21 13:14 [PATCH v4] clk: imx: imx8mp: Add pm_runtime support for power saving Shengjiu Wang
2024-03-21 14:11 ` Marc Kleine-Budde
2024-04-22 10:22 ` Abel Vesa
2024-04-24 16:47 ` Francesco Dolcini
2024-04-25 6:36 ` Shengjiu Wang [this message]
2024-04-25 8:32 ` Marco Felsch
2024-04-25 8:43 ` Shengjiu Wang
2024-05-27 12:24 ` Mark Brown
2024-05-27 12:36 ` Shengjiu Wang
2024-06-06 18:08 ` Adam Ford
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=CAA+D8AMxcAOdeSUhLnFdX2tjXSiWKg8-oxfZ8oT06-qQPnNKqA@mail.gmail.com \
--to=shengjiu.wang@gmail.com \
--cc=abelvesa@kernel.org \
--cc=festevam@gmail.com \
--cc=francesco@dolcini.it \
--cc=kernel@pengutronix.de \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-imx@nxp.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mturquette@baylibre.com \
--cc=peng.fan@nxp.com \
--cc=s.hauer@pengutronix.de \
--cc=sboyd@kernel.org \
--cc=shawnguo@kernel.org \
--cc=shengjiu.wang@nxp.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 read-only IMAP folder(s) and NNTP newsgroup(s).