Messages in this thread | | | From | (Zygo Blaxell) | Subject | Re: New snapshot of modutils | Date | 24 Feb 1999 15:26:05 -0500 |
| |
In article <199902241250.HAA22093@furryterror.org>, David Woodhouse <David.Woodhouse@mvhi.com> wrote: >uixjjji1@umail.furryterror.org said: >I wasn't aware that the sound blaster with which I was testing my previous >patches had a 'deactivated' state. At power-on, I believe the levels would be >set to zero, but on module unloading and soft-reboot, the start of the >hardware wouldn't change. You can be quite happily listening to the radio >through the 'line in' port of the card while you reboot, or listening to a CD >while the module is unloaded and reloaded.
Hmmm...maybe I'm confusing myself. The bttv driver actually shuts off the audio when the device is closed. I think one of the ES1370, GUS, or GUS Max shuts down the card at module unload, but unfortunately they're all in another building and they aren't cross-wired well enough to test.
The GUS Max definitely goes silent on a soft reboot though. I haven't connected one to an analog input and tested module unloading in a number of years and I can't remember what it does in that case. It definitely forgets and reloads default values for the mixer when the module _is_ loaded, however, because I had to work around that behavior in a server application.
>The sb driver then sets up the levels again when it loads, and it is this >which causes the problem. If, however, the sb driver initialises the card with >the levels which were saved last time the card was unloaded, then the problem >is solved. This is what my patches did. First I read the original levels back >from the hardware - effectively just not resetting the mixer levels on >initialisation. That wasn't particularly reliable, so I changed to using >kerneld to store the mixer levels.
On cards with software mixers (i.e. Linux scales all audio before sending it to the card, or uses the card's wavetable synth with a volume setting to simulate a mixer control) there is no hardware to read back, and I'd imagine that there exist sound cards with write-only mixer controls.
What happens on laptops with sound hardware and power saving mode? Does the sound chipset power down if the sound driver is unloaded? Would that be a good idea if it wasn't already happening?
>This problem could be worked around by adding a parameter to each sound card >driver, allowing the startup levels to be set at insmod time. The levels could >be recorded by a userspace utility just before unloading the module, and >automatically added to the module's arguments by modprobe.
In the interest of consistent semantics between different modules for wildly different sound hardware, I would advocate that the card default to silent unless explicitly told otherwise, and not be active (even for analog pass-through) if the device driver is unloaded. Of course I'd like mixer controls calibrated in dB and better realtime synchronization with the sound hardware too. Maybe this is more of a topic for the ALSA group.
-- Zygo Blaxell, Linux Engineer, Corel Corporation, zygob@corel.ca (work), zblaxell@furryterror.org (play). It's my opinion, I tell you! Mine! All MINE! Size of 'diff -Nurw [...] winehq corel' as of Wed Feb 24 15:14:01 EST 1999 Lines/files: In 3729 / 60, Out 8397 / 130, Both 10195 / 157
- 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/
| |