All of lore.kernel.org
 help / color / mirror / Atom feed
From: Pavel Machek <pavel@ucw.cz>
To: Tony Lindgren <tony@atomide.com>
Cc: pali.rohar@gmail.com, sre@kernel.org,
	kernel list <linux-kernel@vger.kernel.org>,
	linux-arm-kernel <linux-arm-kernel@lists.infradead.org>,
	linux-omap@vger.kernel.org, khilman@kernel.org,
	aaro.koskinen@iki.fi, ivo.g.dimitrov.75@gmail.com,
	patrikbachan@gmail.com, serge@hallyn.com
Subject: Re: N900 sleep mode (in 4.5-rc0, if that matters)
Date: Mon, 25 Jan 2016 23:23:17 +0100	[thread overview]
Message-ID: <20160125222317.GA7059@amd> (raw)
In-Reply-To: <20160125163332.GT19432@atomide.com>

Hi!

First, thanks for the help!

> > So far, the LEDs stubbornly stay on :-(. Machine is booted off
> > sd-card, and I'm connected to it over wifi. GSM is active, X is
> > running.
> 
> If LEDs stay on, you're not entering deeper idle states.

Yes... Strange thing is, I'm not entering deeper idle states, and it still breaks my wifi ;-).

> > 64 bytes from 192.168.43.15: icmp_seq=427 ttl=64 time=178 ms
> 
> Latencies of several hundred ms are expected when hitting off
> mode during idle as the latency for power off the system during
> idle is long. It could also be that there's a wakeirq config
> missing somewhere. Does the WLAN have a separate GPIO irq?

Fair enough.

        wl1251_pins: pinmux_wl1251 {
		     		   pinctrl-single,pins = < 0x0ce (PIN_OUTPUT | MUX_MODE4)
		     		   /* gpio 87 => w\ l1251 enable */
				                           0x05a (PIN_INPUT | MUX_MODE4)
		     		   /* gpio 42 => w\ l1251 irq */
				                   >;
 };

Aha. wl1251 is on the spi bus, too.

&mcspi4 {
        pinctrl-names = "default";
	        pinctrl-0 = <&mcspi4_pins>;

        wl1251@0 {
	...
	                interrupt-parent = <&gpio2>;
			                interrupts = <10 IRQ_TYPE_NONE>; /* gpio line 42 */
        };

And yes, it has a GPIO irq -- irq 42. What should be configured to
make gpio 42 wake the system from deep idle?

> > and touchscreen stops working:
> > 
> > [99480.564910] tsc2005 spi1.0: TSC200X not responding - resetting
...
> This could be because we're still lacking i2c-omap + pinctrl
> handling for erratum 1.158. Without that, any GPIO pins not in
> GPIO bank 1 used for enabling devices may have glitches during
> off-mode.
> 
> The workaround for now is to mux those pins permanently with
> PIN_INPUT_PULLUP | MUX_MODE7 to keep them high using the
> internal pull. So in this case, maybe give a try for adding
> a pinctrl entry for tsc2005 for gpio104 to have it always
> in PIN_INPUT_PULLUP | MUX_MODE7.

So the glitches on the GPIOs reset the tsc2005, even when it should be
operational? That would explain stuff.

I'll try to figure out the pinmux stuff. ... but I guess touchscreen
is not really usable with screen off.

> The long term solution is to do this dynamically for each GPIO
> pin.. I do have some WIP patches for that but those still need
> work before I dare to post them.

No patch is too ugly for testing :-).

> Yes you can dump the idlest regs during idle and see the blockers.
> Below is a hack patch I've been using, that could potentially
> be turned into something we could actually merge. Needs to have
> separate hooks for various SoCs though, this works only on omap3..

Thanks, wil try.

> > Power consumption seems to be in 500mA range, regardless of
> > off_mode. That would mean about 2 hours of battery life, AFAICT.
> 
> Sounds like you have USB connected and charging? You can
> get into just few mW range with the mainline kernel for sure
> on omap3. It's just a quetion of fixing whatever few drivers
> that are still causing issues on n900.
> 
> Typically you need at least USB disconnected and LCD blanked
> to start hitting the deeper idle states :)

Right. So I was able to get SD-card to work, so USB was disconnected,
but I was watching power consumption figures in a GTK window... on a
LCD. Ok. I guess I can monitor the power consumption over the wlan.

Thanks!
								Pavel
								
-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

WARNING: multiple messages have this Message-ID (diff)
From: pavel@ucw.cz (Pavel Machek)
To: linux-arm-kernel@lists.infradead.org
Subject: N900 sleep mode (in 4.5-rc0, if that matters)
Date: Mon, 25 Jan 2016 23:23:17 +0100	[thread overview]
Message-ID: <20160125222317.GA7059@amd> (raw)
In-Reply-To: <20160125163332.GT19432@atomide.com>

Hi!

First, thanks for the help!

> > So far, the LEDs stubbornly stay on :-(. Machine is booted off
> > sd-card, and I'm connected to it over wifi. GSM is active, X is
> > running.
> 
> If LEDs stay on, you're not entering deeper idle states.

Yes... Strange thing is, I'm not entering deeper idle states, and it still breaks my wifi ;-).

> > 64 bytes from 192.168.43.15: icmp_seq=427 ttl=64 time=178 ms
> 
> Latencies of several hundred ms are expected when hitting off
> mode during idle as the latency for power off the system during
> idle is long. It could also be that there's a wakeirq config
> missing somewhere. Does the WLAN have a separate GPIO irq?

Fair enough.

        wl1251_pins: pinmux_wl1251 {
		     		   pinctrl-single,pins = < 0x0ce (PIN_OUTPUT | MUX_MODE4)
		     		   /* gpio 87 => w\ l1251 enable */
				                           0x05a (PIN_INPUT | MUX_MODE4)
		     		   /* gpio 42 => w\ l1251 irq */
				                   >;
 };

Aha. wl1251 is on the spi bus, too.

&mcspi4 {
        pinctrl-names = "default";
	        pinctrl-0 = <&mcspi4_pins>;

        wl1251 at 0 {
	...
	                interrupt-parent = <&gpio2>;
			                interrupts = <10 IRQ_TYPE_NONE>; /* gpio line 42 */
        };

And yes, it has a GPIO irq -- irq 42. What should be configured to
make gpio 42 wake the system from deep idle?

> > and touchscreen stops working:
> > 
> > [99480.564910] tsc2005 spi1.0: TSC200X not responding - resetting
...
> This could be because we're still lacking i2c-omap + pinctrl
> handling for erratum 1.158. Without that, any GPIO pins not in
> GPIO bank 1 used for enabling devices may have glitches during
> off-mode.
> 
> The workaround for now is to mux those pins permanently with
> PIN_INPUT_PULLUP | MUX_MODE7 to keep them high using the
> internal pull. So in this case, maybe give a try for adding
> a pinctrl entry for tsc2005 for gpio104 to have it always
> in PIN_INPUT_PULLUP | MUX_MODE7.

So the glitches on the GPIOs reset the tsc2005, even when it should be
operational? That would explain stuff.

I'll try to figure out the pinmux stuff. ... but I guess touchscreen
is not really usable with screen off.

> The long term solution is to do this dynamically for each GPIO
> pin.. I do have some WIP patches for that but those still need
> work before I dare to post them.

No patch is too ugly for testing :-).

> Yes you can dump the idlest regs during idle and see the blockers.
> Below is a hack patch I've been using, that could potentially
> be turned into something we could actually merge. Needs to have
> separate hooks for various SoCs though, this works only on omap3..

Thanks, wil try.

> > Power consumption seems to be in 500mA range, regardless of
> > off_mode. That would mean about 2 hours of battery life, AFAICT.
> 
> Sounds like you have USB connected and charging? You can
> get into just few mW range with the mainline kernel for sure
> on omap3. It's just a quetion of fixing whatever few drivers
> that are still causing issues on n900.
> 
> Typically you need at least USB disconnected and LCD blanked
> to start hitting the deeper idle states :)

Right. So I was able to get SD-card to work, so USB was disconnected,
but I was watching power consumption figures in a GTK window... on a
LCD. Ok. I guess I can monitor the power consumption over the wlan.

Thanks!
								Pavel
								
-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

  reply	other threads:[~2016-01-25 22:23 UTC|newest]

Thread overview: 120+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-23 12:10 N900 sleep mode (in 4.5-rc0, if that matters) Pavel Machek
2016-01-23 12:10 ` Pavel Machek
2016-01-25 16:33 ` Tony Lindgren
2016-01-25 16:33   ` Tony Lindgren
2016-01-25 22:23   ` Pavel Machek [this message]
2016-01-25 22:23     ` Pavel Machek
2016-01-25 22:50     ` Tony Lindgren
2016-01-25 22:50       ` Tony Lindgren
2016-01-26 14:00   ` Pavel Machek
2016-01-26 14:00     ` Pavel Machek
2016-01-26 17:25     ` Tony Lindgren
2016-01-26 17:25       ` Tony Lindgren
2016-01-26 22:51       ` Tony Lindgren
2016-01-26 22:51         ` Tony Lindgren
2016-01-30 20:02       ` Pavel Machek
2016-01-30 20:02         ` Pavel Machek
2016-01-30 20:14         ` Pavel Machek
2016-01-30 20:14           ` Pavel Machek
2016-01-30 22:15           ` Pavel Machek
2016-01-30 22:15             ` Pavel Machek
2016-02-01 18:13             ` Tony Lindgren
2016-02-01 18:13               ` Tony Lindgren
2016-02-01 21:17               ` Pavel Machek
2016-02-01 21:17                 ` Pavel Machek
2016-02-01 22:11                 ` Tony Lindgren
2016-02-01 22:11                   ` Tony Lindgren
2016-02-04  5:35                   ` Tony Lindgren
2016-02-04  5:35                     ` Tony Lindgren
2016-02-07 21:37                     ` Pavel Machek
2016-02-07 21:37                       ` Pavel Machek
2016-02-07 21:37                       ` Pavel Machek
2016-02-08  8:51                       ` Pali Rohár
2016-02-08  8:51                         ` Pali Rohár
2016-02-07 21:23                   ` Pavel Machek
2016-02-07 21:23                     ` Pavel Machek
2016-02-09 17:24                     ` Tony Lindgren
2016-02-09 17:24                       ` Tony Lindgren
2016-02-09 17:38                       ` Tony Lindgren
2016-02-09 17:38                         ` Tony Lindgren
2016-03-20  8:38                         ` Pavel Machek
2016-03-20  8:38                           ` Pavel Machek
2016-02-11  1:08                       ` Tony Lindgren
2016-02-11  1:08                         ` Tony Lindgren
2016-02-11  1:08                         ` Tony Lindgren
2016-03-23 14:37                         ` Pavel Machek
2016-03-23 14:37                           ` Pavel Machek
2016-03-20  8:33                       ` Pavel Machek
2016-03-20  8:33                         ` Pavel Machek
2016-03-23 12:38                       ` Pavel Machek
2016-03-23 12:38                         ` Pavel Machek
2016-03-30 19:12                         ` Tony Lindgren
2016-03-30 19:12                           ` Tony Lindgren
2016-04-04 11:09                           ` Pali Rohár
2016-04-04 11:09                             ` Pali Rohár
2016-04-04 22:31                             ` Tony Lindgren
2016-04-04 22:31                               ` Tony Lindgren
2016-04-04 21:30                           ` Pavel Machek
2016-04-04 21:30                             ` Pavel Machek
2016-04-04 22:07                             ` Tony Lindgren
2016-04-04 22:07                               ` Tony Lindgren
2016-04-05 10:09                               ` Pavel Machek
2016-04-05 10:09                                 ` Pavel Machek
2016-04-05 13:17                               ` Pavel Machek
2016-04-05 13:17                                 ` Pavel Machek
2016-04-05 14:22                               ` 4.4: camera and unlock buttons produce tons of interrupts (was Re: N900 sleep mode) Pavel Machek
2016-04-05 14:22                                 ` Pavel Machek
2016-04-05 15:29                                 ` Tony Lindgren
2016-04-05 15:29                                   ` Tony Lindgren
2016-04-05 20:51                                   ` Pavel Machek
2016-04-05 20:51                                     ` Pavel Machek
2016-04-07 17:40                                     ` Tony Lindgren
2016-04-07 17:40                                       ` Tony Lindgren
2016-04-07 19:48                                       ` 4.4, 4.6: " Pavel Machek
2016-04-07 19:48                                         ` Pavel Machek
2016-04-07 21:32                                         ` Tony Lindgren
2016-04-07 21:32                                           ` Tony Lindgren
2016-04-07 23:01                                           ` Pavel Machek
2016-04-07 23:01                                             ` Pavel Machek
2016-04-07 23:41                                             ` Tony Lindgren
2016-04-07 23:41                                               ` Tony Lindgren
2016-04-08  9:19                                               ` Pavel Machek
2016-04-08  9:19                                                 ` Pavel Machek
2016-04-11  8:27                                               ` 4.6-rc2: regression with omap video and lockdep (was Re: 4.4, 4.6: camera and unlock buttons produce tons of interrupts (was Re: N900 sleep mode)) Pavel Machek
2016-04-11  8:27                                                 ` Pavel Machek
2016-04-11  9:30                                               ` 4.4, 4.6: camera and unlock buttons produce tons of interrupts (was Re: N900 sleep mode) Pavel Machek
2016-04-11  9:30                                                 ` Pavel Machek
2016-04-11  9:41                                                 ` Pavel Machek
2016-04-11  9:41                                                   ` Pavel Machek
2016-04-11 21:10                                                   ` Tony Lindgren
2016-04-11 21:10                                                     ` Tony Lindgren
2016-04-12 12:16                                                     ` Nokia N900 retention mode in v4.6, camera buttons fun Pavel Machek
2016-04-12 12:30                                                       ` Pavel Machek
2016-04-12 12:30                                                         ` Pavel Machek
2016-04-12 16:30                                                         ` Tony Lindgren
2016-04-12 16:30                                                           ` Tony Lindgren
2016-04-13  5:52                                                           ` Tomi Valkeinen
2016-04-13  5:52                                                             ` Tomi Valkeinen
2016-04-13  5:52                                                             ` Tomi Valkeinen
2016-04-13 15:15                                                             ` Tony Lindgren
2016-04-13 15:15                                                               ` Tony Lindgren
2016-04-17 17:55                                                           ` Pavel Machek
2016-04-17 17:55                                                             ` Pavel Machek
2016-04-18 23:47                                                             ` Tony Lindgren
2016-04-18 23:47                                                               ` Tony Lindgren
2016-04-21 13:04                                                             ` Pali Rohár
2016-04-21 13:04                                                               ` Pali Rohár
2016-04-21 21:28                                                               ` Pavel Machek
2016-04-21 21:28                                                                 ` Pavel Machek
2016-04-22  7:05                                                                 ` Pali Rohár
2016-04-22  7:05                                                                   ` Pali Rohár
2016-04-29 20:06                                                               ` Sebastian Reichel
2016-04-29 20:06                                                                 ` Sebastian Reichel
2016-05-01  8:52                                                                 ` Pavel Machek
2016-05-01  8:52                                                                   ` Pavel Machek
2016-05-01 15:48                                                                   ` Sebastian Reichel
2016-05-01 15:48                                                                     ` Sebastian Reichel
2016-05-02 20:12                                                                     ` Sebastian Reichel
2016-05-02 20:12                                                                       ` Sebastian Reichel
2016-05-28 11:09                                                                       ` Pavel Machek
2016-05-28 11:09                                                                         ` Pavel Machek

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=20160125222317.GA7059@amd \
    --to=pavel@ucw.cz \
    --cc=aaro.koskinen@iki.fi \
    --cc=ivo.g.dimitrov.75@gmail.com \
    --cc=khilman@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=pali.rohar@gmail.com \
    --cc=patrikbachan@gmail.com \
    --cc=serge@hallyn.com \
    --cc=sre@kernel.org \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.