From: Steven Toth <stoth@linuxtv.org>
To: Devin Heitmueller <devin.heitmueller@gmail.com>
Cc: linux-dvb <linux-dvb@linuxtv.org>
Subject: Re: [linux-dvb] Power management and dvb framework
Date: Sat, 13 Sep 2008 17:53:21 -0400 [thread overview]
Message-ID: <48CC3651.5040502@linuxtv.org> (raw)
In-Reply-To: <412bdbff0809131441k5f38931cr7d64dc3871c37987@mail.gmail.com>
Devin Heitmueller wrote:
> Hello,
>
> I have been doing some debugging of a USB DVB capture device, and I
> was hoping someone could answer the following question about the DVB
> framework:
>
> What facilities exist to power down a device after a user is done with it?
>
> Let's look at an example:
>
> I have a dib0700 based device. I specify my own frontend_attach()
> function, which twiddles various GPIOs for the demodulator, and I have
> a tuner_attach() function which I use to initialize the tuner. Both
> of these are called when I plug in the device.
>
> I had to set various GPIOs to bring components out of reset or
> properly set the sleep pin, but I do not see any way to put them back
> to sleep after the user is done with them.
See below.
>
> So in my case the USB device draws 100ma when plugged in, then goes to
> 320ma when I start streaming, but when I stop streaming I have no hook
> to put the demodulator back to sleep so it *stays* at 320ma until I
> unplug the device.
A common problem.
>
> I know I have similar issues with em28xx based devices I am responsible for.
>
> Is there some part of the framework I am simply missing? Ideally I
> would like to be able to power down the tuner and demodulator when the
> user is done with them. I know there are *_sleep functions but it's
> not clear how they are used and it doesn't look like they are commonly
> used by other devices. Are the sleep functions called when a user
> disconnects from the frontend, or is this purely a power management
> call that is used when a user suspends his workstation?
>
> Any advise anyone can give about the basic workflow here would be very useful.
I looked at some power stuff for the au0828 recently. I added a couple
of callbacks in the USB_register struct IIRC, I had those drive the
gpios. I don't recall the details but if you look at the definition of
the structure you should see some power related callbacks. Actually, I'm
not even sure if those patches got merged.
Also, the demod _init() and _sleep() callbacks get called by dvb-core
when the demod is required (or not). These might help.
Lastly, depending on how the driver implements DVB, is might use
videobuf - or it might do it's own buffer handing. In case of the
latter, look at the feed_start() feed_stop() functions and the struct
specific feed counter that usually accompanies this... you could
probably add some useful power related stuff with these indications.
- Steve
- Steve
_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
next prev parent reply other threads:[~2008-09-13 21:53 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-09-13 21:41 [linux-dvb] Power management and dvb framework Devin Heitmueller
2008-09-13 21:53 ` Steven Toth [this message]
2008-09-13 22:28 ` Devin Heitmueller
2008-09-14 3:21 ` Andreas Oberritter
2008-09-14 12:50 ` Devin Heitmueller
2008-09-14 16:03 ` Andreas Oberritter
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=48CC3651.5040502@linuxtv.org \
--to=stoth@linuxtv.org \
--cc=devin.heitmueller@gmail.com \
--cc=linux-dvb@linuxtv.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