All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sebastian Reichel <sre@kernel.org>
To: Pavel Machek <pavel@ucw.cz>
Cc: ksummit-discuss@lists.linuxfoundation.org
Subject: Re: [Ksummit-discuss] [TECH TOPIC] mobile phones
Date: Tue, 27 Jun 2017 14:39:48 +0200	[thread overview]
Message-ID: <20170627123947.krne6a2saolcndih@earth> (raw)
In-Reply-To: <20170626083407.GA9621@amd>

[-- Attachment #1: Type: text/plain, Size: 4055 bytes --]

Hi,

On Mon, Jun 26, 2017 at 10:34:07AM +0200, Pavel Machek wrote:
> > > Situation around mobile phones is only improving very slowly. We now
> > > have hardware that is supported in the mainline kernel in useful way
> > > (Mitac Mio A701, Nokia N900, N9, N950). Graphics acceleration is still
> > > missing.
> > >
> > > But there are major pieces missing: first is userspace. That's not for
> > > us to solve. Then there's some kind of hardware abstraction layer;
> > > kernel currently does NOT provide enough information for userland to
> > > autoconfigure everything.
> > >
> > > There are big questions about kernel / user interface. We have whole
> > > subsystems missing. They include:
> > >
> > > 1) Who is responsible for shutting machine down on low battery, and
> > > not bringing it up unless safe?
> > 
> > My laptop hibernates when the battery level gets too low. Why should a
> > phone be any different?  User-space monitoring and policy seems a
> > suitable answer.
> 
> Phone is different... and I'm not talking orderly_shutdown here.
> 
> Boot your notebook with init=/bin/bash, and launch fsck on low
> battery. It will blink, it may beep, but in the end it will power off
> abruptly at maybe 3.6V per cell, before battery is damaged. Now try
> the same on N900. It will not blink, and it will run battery down to
> less then 3.0V; various components will fail, you'll get screen
> flicker, and presumably your MMC will be _really_ unhappy. Eventually,
> CPU fails, machine reboots, and machine will attempt to do _the same
> again_.
> 
> Basically we are missing one layer of protection here, compared to the
> PC case.

It should be fine to add something like Tony's orderly_poweroff to
the rx51 battery driver.

> > I think the "not bring up unless safe" decision needs to be made in
> > the boot-loader.  Once Linux boots, it tends to turn everything on,
> > then the unneeded things back off.  That is no good if all you want to
> > do is start the battery charging.  Changing this approach would need
> > a lot of work and buy-in from lots of people.  I doubt it will
> > happen.
> 
> Problem is that bootloader does not even know about battery charging,
> and is far from having required drivers. That's why I'd try to get
> buy-in ;-).

Actually Nokia Loader does know about battery charging and does so
for really empty batteries. Once the battery is full enough it tries
to boot operating system with better monitoring capabilities,
though.

> > > 3) How to handle differences between GSM modems and between GPS
> > > receivers? Is AT commands/NMEA good enough? What about AGPS upload?
> > 
> > My limited exposure to the different varieties of GSM and GPS protocols
> > that are supported suggests that this needs to be done in user-space.
> > There isn't any suitable abstract protocol that we could implement in a
> > kernel interface.
> > gpsd handles multiple GPS protocols and meets a lot of needs.  If it
> > isn't perfect, it can probably be improved.
> 
> It is not perfect, indeed.
> 
> So we currently have GPSes on serial, producing NMEA. Gpsd there may
> be good enough. But then we have different hardware, not producing
> NMEA (GPS on N900 is exposed as network packet over PHONET
> interface, there's drivers/usb/serial/garmin_gps.c with who-knows-what
> interface)... and it would be nice to have good, "native" GPS
> interface which would work in this case. (We'd like timestamps for
> incoming data and lat/long/alt + speed in lat/long/alt + error in
> lat/long/alt sampled at the same time, at the very least).
> 
> Its similar to mice, really. We used to have gpm, now we have real
> drivers.
> 
> Plus there's still issue of AGPS data upload.

On N950 there is an unsupported gps connected via i2c iirc (with
unknown protocol that needs to be RE'd) and TI's WiLink provides
GPS on a shared UART link with bluetooth-style header using yet
another protocol. I agree, that we should have a GPS subsystem.

-- Sebastian

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  parent reply	other threads:[~2017-06-27 12:39 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-25 10:48 [Ksummit-discuss] [TECH TOPIC] mobile phones Pavel Machek
2017-06-25 23:55 ` NeilBrown
2017-06-26  6:43   ` Geert Uytterhoeven
2017-06-26  6:49   ` Tony Lindgren
2017-06-26 11:12     ` Pavel Machek
2017-06-26 11:49       ` Tony Lindgren
2017-06-26 13:14         ` Pavel Machek
2017-06-26 13:49           ` Tony Lindgren
2017-06-26 20:49             ` Pavel Machek
2017-06-27  7:18               ` Tony Lindgren
2017-06-27 12:14                 ` Sebastian Reichel
2017-06-27 21:57                   ` Pavel Machek
2017-06-28 16:01                     ` Sebastian Reichel
2017-06-28 20:27                       ` Pavel Machek
2017-07-02 12:03                         ` Sebastian Reichel
2017-06-27 21:57                 ` Pavel Machek
2017-06-26  8:34   ` Pavel Machek
2017-06-26 11:20     ` Mark Brown
2017-06-26 12:22       ` Pavel Machek
2017-06-27 11:40         ` Mark Brown
2017-06-28 18:37           ` Pavel Machek
2017-07-02 12:11             ` Sebastian Reichel
2017-06-26 22:23     ` Alexandre Belloni
2017-06-27  7:06       ` Pavel Machek
2017-06-27 12:39     ` Sebastian Reichel [this message]
2017-06-27 21:57       ` Pavel Machek
2017-06-28 16:45         ` Sebastian Reichel
2017-06-28 21:10           ` Pavel Machek
2017-07-02 11:28             ` Sebastian Reichel
2017-07-02 18:14               ` Pavel Machek
2017-06-26 10:54 ` Mark Brown
2017-06-26 11:14   ` Pavel Machek
2017-06-26 11:49     ` Mark Brown
2017-06-26 12:38       ` Pavel Machek
2017-06-26 16:34         ` Mark Brown
2017-06-27 11:41   ` Sebastian Reichel
2017-06-28 14:38 ` Linus Walleij
2017-06-28 15:58   ` Arnd Bergmann
2017-06-28 16:04     ` Laurent Pinchart
2017-06-28 16:25   ` Pavel Machek
2017-06-28 18:26     ` Mark Brown
2017-06-28 17:01   ` Pavel Machek
2017-06-28 19:03     ` Tony Lindgren

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=20170627123947.krne6a2saolcndih@earth \
    --to=sre@kernel.org \
    --cc=ksummit-discuss@lists.linuxfoundation.org \
    --cc=pavel@ucw.cz \
    /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.