Age | Commit message (Collapse) | Author |
|
Adapted from NetBSD
OK jakemsr@
|
|
dma to start at the wrong place. Workaround this limitation by
starting at the current offset.
From Christopher Zimmermann <madroach at zakweb.de>
Thanks a lot!
ok jakemsr
|
|
from Brad
|
|
makes 4 channel output work for Anathae Townsend. thanks for testing.
ok ratchov@
|
|
values of the audio_params structure during AUDIO_SETINFO if the
hardware cannot be set to exactly the requested mode.
some drivers do this sometimes. others always return EINVAL if there
isn't an exact match.
be more consistent. only return EINVAL if an absurd parameter was
requested, otherwise return a supported set of parameters, as close
as possible to what was requested.
with/ok ratchov@
|
|
from NetBSD
tested by a few with no regressions. optical works for jsg@.
ok ratchov@
|
|
tested by a few. no regressions, but 4 and 6 channel playback
is not working with all codecs yet.
ok ratchov@
|
|
instead of using a linked list to describe the dma segments
use three distinct pointers.
also, this driver only needs 1 buffer descriptor for each dma
segment, since each buffer descriptor can handle as many samples
as each segment can hold.
makes the code a little easier to read and allows us to free
the calibration buffer when we're done with it.
idea originally from ratchov@ a while back. tested by ratchov@
and myself.
ok ratchov@
|
|
they may have codecs which only handle 48kHz sampling rates.
ok ratchov@
|
|
instead of 8-bit mono mulaw @ 8kHz.
this is just the infrastructure; no drivers are specifying a default
yet.
ok ratchov@, deanna@
|
|
|
|
fixed-rate, regardless of what sample rate we tried to set, without
an error.
so, instead of checking for an error after we've set the rate on all
dacs, we need to check that ac97_set_rate() successfully set the rate
we wanted, which may not be exactly the rate the user specified, due to
auich's sample rate scaling.
finally, we need to set the sample rate for the dacs in this order:
lfe, surround, front. this is necessary because ac97_set_rate()
will return without checking for fixed-rate if the dac is
unsupported. so, if the lfe dac is set last on a stereo only
fixed-rate codec, then we will not know whether we have a fixed-rate
codec. all codecs have a front dac, and some codecs may have a
surround dac but not lfe.
discussed with brad@, who noticed that the previous commit was
slightly bogus.
|
|
when configuring for full-duplex.
fixes problem noticed by todd@
ok todd@
|
|
user visible changes:
- when setting up ac97(4) mixer items, for some features like surround
sound, check if the feature if supported by the codec and only add
items for that feature if it is
- auvia(4) now supports multichannel playback with at least some
multichannel ac97(4) codecs
fixes problems for me and ajacoutot with different auvia(4)
devices/codecs. no regressions reported by testers.
if you have an ac97(4) audio device and are using mixerctl.conf(5),
you may want/need to update it.
ok ratchov
|
|
machine-dependent #defines
- use the correct conversions for slinear_le:16 -> ulinear_be:16
- fix mono recording by using various stereo -> mono conversions
|
|
auich. fixes recording from the microphone input as well as
full-duplex operation.
tested by brad@, sthen@, deanna@ and ckuethe@. thanks.
|
|
|
|
tested by brad@
|
|
|
|
|
|
From bsh@NetBSD
|
|
as well going by the Linux driver.
"fine by me" jason@
|
|
order reversed, wrong modifiers. ok deraadt@ marco@ mickey@
|
|
|
|
here, use FALLTHRU or FALLTHROUGH to make lint even happier.
ok marco@ miod@
|
|
but are desireable. Tested by Mark Peoples, ok mickey@
|
|
pcisubmatch(); kettenis@ testing; brad@ ok
|
|
|
|
NOW: someone remove vtophys from the amd64 port before someone else gets
the silly idea that it somehow "works" on that port.
|
|
|
|
This lets an application know, should it bother testing, that a
requested bit rate is not available. 'looks ok to me' mickey@
|
|
|
|
Some SiS 7012 chips come muted by default, so un-mute all SiS 7012 chips at
attach time the way Linux does it. Reported and tested by Jonathan
Schleifer, I checked it didn't break my own 7012 device which doesn't need
that manipulation.
|
|
|
|
from 71@becile.com pr4162
|
|
reset then ignored the calculated value. Also, move the underrun
and overrun printfs to AUICH_DEBUG. As it was, you'd get at least
one underrun per play reported to the console. Changes OK mickey@
|
|
io-mapped if that fails; from Lars Heidieke via Michael van der Westhuizen
|
|
|
|
<janj+openbsd@wenf.org>auich.c
|
|
``go for it'' deraadt@
|
|
be trusted. ok deraadt, several testers. solves pr3814. while here, art says
use microuptime.
|
|
|
|
Will not work on machine with > 4G phys memory. OK deraadt@
|
|
|
|
high and sound particularly awful on playback. Thanks to millert and marc
for testing (and frantzen for giving me a broken machine).
|
|
I've skipped the GNU stuff for now. From Patrick Latifi.
|
|
the question does it play the damn music. see if anybody report problems w/ it now
|
|
|
|
ok mickey@
|
|
|