From: "Hans J. Koch" <hjk@hansjkoch.de>
To: "Benenati, Chris J" <chris.j.benenati@intel.com>
Cc: "Hans J. Koch" <hjk@hansjkoch.de>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Greg KH <gregkh@suse.de>
Subject: Re: uio: power management of user-space drivers
Date: Wed, 16 Feb 2011 01:21:04 +0100 [thread overview]
Message-ID: <20110216001847.GF2785@local> (raw)
In-Reply-To: <0635488208022A4F82521A04A4772E15C555EE4E@orsmsx503.amr.corp.intel.com>
On Tue, Feb 15, 2011 at 03:27:10PM -0800, Benenati, Chris J wrote:
Could you please limit the line length in your mails to something like
80 characters?
> Thanks for your reply. I understand (pretty much) the suspend/resume interface and its registration via the Linux device model.
>
> However, that is a kernel-level interface. Assuming you have a kernel component to your driver, I suppose it could register a suspend() function and communicate it to the user space part of the driver.
>
> But in a case like suspend-to-RAM, the kernel freezes user space threads before the suspend() functions are invoked. By the time the suspend function is called, it is too late to communicate with user space.
>
> Is there a form of user-space driver notification supported by the kernel? Or does the kernel portion of the driver have to register for kernel notifications (which precede thread freezing) and alert the user space portion before it is frozen?
What are you trying to achieve?
Could you give an example of the problem you're facing in your application?
Let me guess: suspend/resume functions are supposed to leave your hardware in
a consistent state and you don't know the state if the suspend() catches you
in the middle of your userspace processing?
I remember the Android guys had problems like that and invented some
"suspend blockers". However, I don't remember what the final answer in that
discussion was. Greg?
Thanks,
Hans
>
> -----Original Message-----
> From: Hans J. Koch [mailto:hjk@hansjkoch.de]
> Sent: Tuesday, February 15, 2011 3:13 PM
> To: Benenati, Chris J
> Cc: hjk@hansjkoch.de
> Subject: Re: power management of user-space drivers
>
> On Tue, Feb 15, 2011 at 01:46:03PM -0800, Benenati, Chris J wrote:
> > Somebody brought your web page http://www.kernel.org/doc/htmldocs/uio-howto.html to my attention.
>
> Hi Chris,
> first of all: Please don't send private mail to kernel maintainers unless
> you're willing to pay for private consultation. UIO is discussed on the
> Linux Kernel Mailing List (LKML), and it's a benefit for everyone if these
> discussions are public and can be found in the archives by search engines.
>
> So, please make sure you Cc: LKML (linux-kernel@vger.kernel.org) in any
> further mails.
>
> >
> > How do you handle power management with such a driver? For example, if state has to be saved before a suspend-to-RAM, or reinitialized on the subsequent resume.
>
> You need to do that yourself, e.g. for a PCI card by implementing a suspend()
> and resume() function and setting the respective pointers in struct pci_driver.
> These functions will be called automatically by the driver core, and you can do
> whatever you need there.
>
> A way to implement such a thing for platform devices can be found in
> drivers/uio/uio_pdrv_genirq.c
>
> Thanks,
> Hans
>
>
next prev parent reply other threads:[~2011-02-16 1:33 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <0635488208022A4F82521A04A4772E15C555EC7E@orsmsx503.amr.corp.intel.com>
[not found] ` <20110215231236.GE2785@local>
2011-02-15 23:27 ` power management of user-space drivers Benenati, Chris J
2011-02-16 0:21 ` Hans J. Koch [this message]
2011-02-16 0:35 ` uio: " Benenati, Chris J
2011-02-16 1:40 ` Greg KH
2011-02-16 1:17 ` Greg KH
2011-02-16 18:15 ` Hans J. Koch
2011-02-16 0:20 ` Benenati, Chris J
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=20110216001847.GF2785@local \
--to=hjk@hansjkoch.de \
--cc=chris.j.benenati@intel.com \
--cc=gregkh@suse.de \
--cc=linux-kernel@vger.kernel.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