From: johan@kernel.org (Johan Hovold)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 00/20] rtc: omap: fixes and power-off feature
Date: Tue, 28 Oct 2014 09:16:16 +0100 [thread overview]
Message-ID: <20141028081616.GL2006@localhost> (raw)
In-Reply-To: <20141028002552.GX12379@n2100.arm.linux.org.uk>
On Tue, Oct 28, 2014 at 12:25:52AM +0000, Russell King - ARM Linux wrote:
> On Mon, Oct 27, 2014 at 04:22:51PM -0700, Andrew Morton wrote:
> > On Fri, 24 Oct 2014 21:55:32 +0200 Johan Hovold <johan@kernel.org> wrote:
> > > I will. :) Just wanted to see whether Andrew preferred I resend the
> > > whole series or just that one patch first.
> > >
> > > The diff is minimal:
> > >
> > > diff --git a/drivers/rtc/rtc-omap.c b/drivers/rtc/rtc-omap.c
> > > index e74750f00b18..e4f97ad9eb21 100644
> > > --- a/drivers/rtc/rtc-omap.c
> > > +++ b/drivers/rtc/rtc-omap.c
> > > @@ -423,6 +423,8 @@ static void omap_rtc_power_off(void)
> > > val = rtc_read(rtc, OMAP_RTC_INTERRUPTS_REG);
> > > rtc_writel(rtc, OMAP_RTC_INTERRUPTS_REG,
> > > val | OMAP_RTC_INTERRUPTS_IT_ALARM2);
> > > +
> > > + mdelay(2000);
> > > }
> >
> > Yes, having read this threadlet: we need a very good comment in there
> > explaining what's going on, please.
> >
> > Do we even need this delay on anything other than arm? Or even on all arm?
>
> I think I've already commented on the behaviour of the reboot syscalls
> such as power off which can return to userspace, pointing out that
> x86 can return to userspace.
>
> As long as x86 can return to userspace, I see no harm in ARM returning
> to userspace. If a driver which is hooking into the power off stuff
> is unable to immediately shut off the power (wtf it can't for 2 sec
> I've no idea) then having that driver work around that hardware's
> specific brokenness with a delay seems entirely reasonable.
Yeah, there are two issues here. If a power-off handler is crazy slow
there really should be a delay in the handler. That was just an
oversight on my part. [ In this case it takes between one and two
seconds due to the resolution of the rtc and they way it's alarm events
are triggered. ]
The other issue is whether arch code should inform the user about failed
power-off, in really exactly the same way as it does for failed reboot,
see:
ac15e00b1efe ("ARM: restart: move reboot failure handing into
machine_restart()"
by Russell.
It looks like we're soon to be having power-off call chains, with
configurable priorities, to shut of various parts of the hardware and
this is all at least partly configurable through DT. [1] I think it's
reasonable to expect to see more frequent failures to power off either
due to (DT) misconfiguration or broken or flakey hardware.
Having a short delay (I proposed 1s as for reboot) would also prevent
any oopses when returning to user-space for just quite slow devices
(e.g. millisecond range) without requiring explicit delays in these
handlers.
But as Andrew points out above, this really isn't an arm-specific issue,
and currently various arches deal with this differently, where some
return to user-space, some spin indefinitely (without an error message),
and some spin on failed reboot but not power-off (e.g. arm and arm64).
> That allows those SoCs which can do the right thing to do the right
> thing without being hindered by such silliness. And it also stops
> the next person coming along and bumping the delay from 2 to 3, to 5,
> and then what... 10 seconds?
That wouldn't be an issue then. Arch code would only handle the
non-crazy case and complete power-off failures.
> Keeping it in the driver means that the workaround for the broken
> hardware is kept with the driver for the broken hardware - exactly
> where it should be.
Agreed.
Johan
[1] https://lkml.org/lkml/2014/10/27/506
next prev parent reply other threads:[~2014-10-28 8:16 UTC|newest]
Thread overview: 113+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-09 19:06 [PATCH 00/12] rtc: omap: fixes and power-off feature Johan Hovold
2014-10-09 19:06 ` [PATCH 01/12] rtc: omap: fix clock-source configuration Johan Hovold
2014-10-10 17:55 ` Felipe Balbi
2014-10-09 19:06 ` [PATCH 02/12] rtc: omap: fix missing wakealarm attribute Johan Hovold
2014-10-10 17:55 ` Felipe Balbi
2014-10-09 19:06 ` [PATCH 03/12] rtc: omap: fix class-device registration Johan Hovold
2014-10-10 17:59 ` Felipe Balbi
2014-10-11 9:59 ` Johan Hovold
2014-10-13 15:57 ` Felipe Balbi
2014-10-09 19:06 ` [PATCH 04/12] rtc: omap: remove unused register-base define Johan Hovold
2014-10-10 17:59 ` Felipe Balbi
2014-10-09 19:06 ` [PATCH 05/12] rtc: omap: remove redundant debug message Johan Hovold
2014-10-10 17:59 ` Felipe Balbi
2014-10-09 19:06 ` [PATCH 06/12] rtc: omap: use dev_info and dev_dbg Johan Hovold
2014-10-10 18:00 ` Felipe Balbi
2014-10-09 19:06 ` [PATCH 07/12] rtc: omap: silence bogus power-up reset message at probe Johan Hovold
2014-10-10 18:00 ` Felipe Balbi
2014-10-10 18:02 ` Felipe Balbi
2014-10-11 10:20 ` Johan Hovold
2014-10-12 0:50 ` Felipe Balbi
2014-10-12 18:42 ` Johan Hovold
2014-10-13 15:56 ` Felipe Balbi
2014-10-09 19:06 ` [PATCH 08/12] rtc: omap: restore irq state after reading TC registers Johan Hovold
2014-10-10 18:02 ` Felipe Balbi
2014-10-11 10:12 ` Johan Hovold
2014-10-12 0:47 ` Felipe Balbi
2014-10-22 10:50 ` Johan Hovold
2014-10-23 18:52 ` Felipe Balbi
2014-10-09 19:06 ` [PATCH 09/12] rtc: omap: add support for pmic_power_en Johan Hovold
2014-10-10 18:07 ` Felipe Balbi
2014-10-11 10:31 ` Johan Hovold
2014-10-22 10:18 ` Johan Hovold
2014-10-23 18:52 ` Felipe Balbi
2014-10-09 19:06 ` [PATCH 10/12] rtc: omap: enable wake-up from power off Johan Hovold
2014-10-10 18:08 ` Felipe Balbi
2014-10-09 19:06 ` [PATCH 11/12] ARM: dts: am33xx: update rtc node compatible property Johan Hovold
2014-10-10 18:08 ` Felipe Balbi
2014-10-09 19:06 ` [PATCH 12/12] ARM: dts: am335x-bone-common: enable power off and rtc wake up Johan Hovold
2014-10-10 18:09 ` Felipe Balbi
2014-10-11 10:34 ` Johan Hovold
2014-10-10 17:54 ` [PATCH 00/12] rtc: omap: fixes and power-off feature Felipe Balbi
2014-10-11 9:38 ` Johan Hovold
2014-10-11 19:08 ` Tony Lindgren
2014-10-22 11:07 ` Johan Hovold
2014-10-22 15:29 ` Tony Lindgren
2014-10-22 16:21 ` Johan Hovold
2014-10-22 16:43 ` Tony Lindgren
2014-10-15 16:55 ` Felipe Balbi
2014-10-15 17:06 ` Johan Hovold
2014-10-15 17:08 ` Felipe Balbi
2014-10-22 10:23 ` Johan Hovold
2014-10-23 18:55 ` Felipe Balbi
2014-10-24 7:58 ` Johan Hovold
2014-10-21 17:37 ` [PATCH v2 00/20] " Johan Hovold
2014-10-21 17:37 ` [PATCH v2 01/20] rtc: omap: fix clock-source configuration Johan Hovold
2014-10-21 17:37 ` [PATCH v2 02/20] rtc: omap: fix missing wakealarm attribute Johan Hovold
2014-10-21 17:37 ` [PATCH v2 03/20] rtc: omap: fix interrupt disable at probe Johan Hovold
2014-10-21 17:37 ` [PATCH v2 04/20] rtc: omap: clean up probe error handling Johan Hovold
2014-10-21 17:37 ` [PATCH v2 05/20] rtc: omap: fix class-device registration Johan Hovold
2014-10-21 17:37 ` [PATCH v2 06/20] rtc: omap: remove unused register-base define Johan Hovold
2014-10-21 17:37 ` [PATCH v2 07/20] rtc: omap: use dev_info Johan Hovold
2014-10-21 17:37 ` [PATCH v2 08/20] rtc: omap: make platform-device id table const Johan Hovold
2014-10-21 17:37 ` [PATCH v2 09/20] rtc: omap: add device abstraction Johan Hovold
2014-10-21 17:37 ` [PATCH v2 10/20] rtc: omap: remove DRIVER_NAME macro Johan Hovold
2014-10-21 17:37 ` [PATCH v2 11/20] rtc: omap: add structured device-type info Johan Hovold
2014-10-21 17:37 ` [PATCH v2 12/20] rtc: omap: silence bogus power-up reset message at probe Johan Hovold
2014-10-21 17:37 ` [PATCH v2 13/20] rtc: omap: add helper to read raw bcd time Johan Hovold
2014-10-21 17:38 ` [PATCH v2 14/20] rtc: omap: add helper to read 32-bit registers Johan Hovold
2014-10-21 17:38 ` [PATCH v2 15/20] rtc: omap: add support for pmic_power_en Johan Hovold
2014-10-21 17:38 ` [PATCH v2 16/20] rtc: omap: enable wake-up from power off Johan Hovold
2014-10-21 17:38 ` [PATCH v2 17/20] rtc: omap: fix minor coding style issues Johan Hovold
2014-10-21 17:38 ` [PATCH v2 18/20] rtc: omap: add copyright entry Johan Hovold
2014-10-21 17:38 ` [PATCH v2 19/20] ARM: dts: am33xx: update rtc-node compatible property Johan Hovold
2014-10-21 17:38 ` [PATCH v2 20/20] ARM: dts: am335x-boneblack: enable power off and rtc wake up Johan Hovold
2014-10-24 16:08 ` [PATCH v2 00/20] rtc: omap: fixes and power-off feature Felipe Balbi
2014-10-24 19:02 ` Johan Hovold
2014-10-24 19:25 ` Felipe Balbi
2014-10-24 19:29 ` Felipe Balbi
2014-10-24 19:36 ` Johan Hovold
2014-10-24 19:44 ` Felipe Balbi
2014-10-24 19:55 ` Johan Hovold
2014-10-24 20:08 ` Felipe Balbi
2014-10-27 23:22 ` Andrew Morton
2014-10-28 0:25 ` Russell King - ARM Linux
2014-10-28 8:16 ` Johan Hovold [this message]
2014-10-28 8:47 ` Russell King - ARM Linux
2014-10-28 13:12 ` Johan Hovold
2014-10-28 15:16 ` Russell King - ARM Linux
2014-10-29 12:34 ` Johan Hovold
2014-10-29 12:55 ` Romain Perier
2014-10-29 13:00 ` Johan Hovold
2014-10-29 13:11 ` Romain Perier
2014-10-29 13:44 ` Johan Hovold
2014-10-29 13:10 ` Russell King - ARM Linux
2014-10-29 13:22 ` Johan Hovold
2014-10-29 15:25 ` Guenter Roeck
2014-10-29 15:51 ` Johan Hovold
2014-10-30 10:01 ` Johan Hovold
2014-10-29 13:20 ` Guenter Roeck
2014-10-29 13:35 ` Johan Hovold
2014-10-29 15:36 ` Guenter Roeck
2014-10-29 15:54 ` Johan Hovold
2014-10-27 8:09 ` [PATCH v3] rtc: omap: add support for pmic_power_en Johan Hovold
2014-10-27 16:45 ` Felipe Balbi
2014-10-27 16:56 ` Johan Hovold
2014-10-27 17:09 ` Felipe Balbi
2014-10-27 22:40 ` Andrew Morton
2014-10-28 8:36 ` Johan Hovold
2014-10-28 21:18 ` Andrew Morton
2014-10-29 12:46 ` Johan Hovold
2014-10-29 12:50 ` Johan Hovold
2014-10-29 19:14 ` Andrew Morton
2014-10-30 9:55 ` [PATCH v4] " Johan Hovold
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=20141028081616.GL2006@localhost \
--to=johan@kernel.org \
--cc=linux-arm-kernel@lists.infradead.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 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).