Re: power managing maestro.c 0.14 available.

From: Jamie Lokier (lkd@tantalophile.demon.co.uk)
Date: Sat Jan 29 2000 - 10:13:44 EST


Zach Brown wrote:
> > If /dev/dsp is closed, and all the input mixers are zeroed, and all the
> > outputs are at max volume... there still isn't any sound.
>
> what about a playing CD? the analog audio outs on the cd are hooked
> up to the analog bits of the ac97. maestro.c currently has no way
> of knowing if that stuff is making noise or not. now, if you add
> _output_ mixers being zeroed to the requirement then you can safely
> power down everyone involved.

Oh, _analogue_ mixing... I hadn't realised.

To rephrase: when there is no path through the mixer from any source,
then turn it off. And when a source isn't playing, don't count it.
That turns it off when nobody is using the appropriate part of /dev/dsp.

> > It might be nice to add a notifier chain specifically for CD drivers to
> > say when they're playing something and when they're not. Something very
>
> If this could be made reliable I'd be all for it :) I'd worry about
> sketchy drives. I know the drive in my laptop does very wacky things
> on coming back from resume. [given the behaviour of varios cd players,
> it sesms that requests to play still work, but track queries don't.
> not that I've really investigated]

Well that's ok then, with the notifier the combined driver + mixer will
do whacky things. I'm sure the user experience will be of similar
quality, i.e. you get sound or you don't get sound after a resume.

If it's wrong, user loads player app and clicks "Stop" or "Play" as
preferred. From there, everything works again.

If there's anything more difficult going on, it's something the CD
driver should be attempting to correct, perhaps by resetting the drive
after a power status change.

have a nice day,
-- Jamie

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon Jan 31 2000 - 21:00:24 EST