From: Johan Hovold <johan-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
To: Russell King - ARM Linux <linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org>
Cc: "Andrew Morton"
<akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>,
"Johan Hovold" <johan-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
"Felipe Balbi" <balbi-l0cyMroinI0@public.gmane.org>,
"Alessandro Zummo"
<a.zummo-BfzFCNDTiLLj+vYz1yj4TQ@public.gmane.org>,
"Tony Lindgren" <tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>,
"Benoît Cousson"
<bcousson-rdvid1DuHRBWk0Htik3J/w@public.gmane.org>,
"Lokesh Vutla" <lokeshvutla-l0cyMroinI0@public.gmane.org>,
"Guenter Roeck" <linux-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>,
nsekhar-l0cyMroinI0@public.gmane.org,
t-kristo-l0cyMroinI0@public.gmane.org,
j-keerthy-l0cyMroinI0@public.gmane.org,
linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
rtc-linux-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [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-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
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-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.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
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
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
[not found] ` <1413913086-12730-1-git-send-email-johan-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
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
[not found] ` <20141028002552.GX12379-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
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
[not found] ` <CABgxDo+ewxNwb3RrBVZA7kqYMvSujLb9U6A6FCvnHQH1W8V0kg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
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
[not found] ` <20141027154031.4492ea11d401045ca04a3ff8-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
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-dgejt+ai2ygdnm+yrofe0a@public.gmane.org \
--cc=a.zummo-BfzFCNDTiLLj+vYz1yj4TQ@public.gmane.org \
--cc=akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org \
--cc=balbi-l0cyMroinI0@public.gmane.org \
--cc=bcousson-rdvid1DuHRBWk0Htik3J/w@public.gmane.org \
--cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=j-keerthy-l0cyMroinI0@public.gmane.org \
--cc=linux-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org \
--cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org \
--cc=linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=lokeshvutla-l0cyMroinI0@public.gmane.org \
--cc=nsekhar-l0cyMroinI0@public.gmane.org \
--cc=rtc-linux-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org \
--cc=t-kristo-l0cyMroinI0@public.gmane.org \
--cc=tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.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).