Age | Commit message (Collapse) | Author |
|
|
|
mixer name.
|
|
This is needed for the addition of further suspend/resume actions.
Okay deraadt@, marco@.
|
|
codecs a controller can support
* dynamically allocate memory for the array of codec structures
|
|
* instead of printing "initialization failure", print "initialization
failure, detaching". perhaps instills more confidence that the
failure was handled in an orderly manner.
|
|
usable. detach the driver if the device is only capable of HDMI.
this keeps an unusable device from being /dev/audio0 (thus
/dev/audio by default), while /dev/audio1 is fully functional.
|
|
controllers. according to ALSA and OSS, these enable input and
output stream DMA coherency.
fixes broken playback problem reported by Laurence Tratt (laurie at
tratt dot net), who graciously tested a number of previous attempts
to solve this problem.
|
|
problem reported by martynas@. this bug has been there a long
time (r1.61), but sloppy RIRB handling was hiding it ...
|
|
the one with the lowest association.
|
|
and into it's own function, azalia_get_ctrlr_caps()
|
|
rather than in it's user(s)
|
|
|
|
own function
|
|
of information about a stream
|
|
mixer get/set routines instead of in the MI audio routines.
|
|
* remove irrelevant comment
* this driver uses at most 2 converter groups per group set, don't
allocate more than needed
* remove unused members from codec_t
azalia.c:
* macros for register values
|
|
* move the code for azalia_comresp() to be nearer the functions it
uses (azalia_set_command() and azalia_get_response()) for easier
comprehension.
* don't turn off RIRB interrupts in azalia_set_command(), then reenable
them in azalia_get_response(). it's ugly, problematic, and the code
is already at SPL_AUDIO.
* in azalia_get_response(), wait for a solicited response (the response
from azalia_set_command()) instead of "waiting" for just any response
as there may already be an unsolicited response in the RIRB.
* no need to run the unsolicited response handler in azalia_get_response().
since RIRB interrupts aren't being disables, the unsolicited response
handler will be run by the RIRB interrupt handler.
* in azalia_rirb_intr(), when a solicited response is found in the RIRB,
instead of stopping and losing the response, print a debug message
and keep going. there should never be a solicited response in the
RIRB at this point.
* remove some now useless #if 0'd debug cruft.
* minor KNF while here.
|
|
RIRB DMA engines
|
|
|
|
the line out jack have different colors, use the colors in the
line out mixer item names.
|
|
MCP89.
From Brad based on information from Peer Chen @ NVIDIA via Linux.
|
|
first 30 do nothing. perhaps there are other codecs with such
amps? (ab)use some reserved bits in the amplifier capabilities
parameter to store the first volume step that actually changes the
volume. problem reported and patch tested by LEVAI Daniel.
|
|
reported and patch tested by Bryan Chapman. according to FreeBSD,
this might be needed for other MacBookPro models but no one else has
told me their MacBookPro doesn't work.
|
|
more non-generic versions, and there never will be again.
|
|
directly instead of through pointers in the codec_t.
- fold azalia_generic_{g,s}et_port into azalia_{g,s}et_port since both
are small and partly duplicated eachother.
|
|
macros and codec->init_widget. now there is only only place to look
to see what special handling a specific codec will get.
|
|
the output jacks to different DACs.
- multichannel codecs often have a front headphone jack that is
intended to be used separately from the multichannel jacks. if a front
headphone jack exists, try to connect it to a DAC not used by the
multichannel jacks.
|
|
- another case where a selector can be considered part of another
widget
factors out a mixer control and lets the volume buttons work on
ajacoutot@'s x300
|
|
the node id of the "parent" widget
- initialize widgets' mixer_class ealier
|
|
- don't unmute input from a built-in mic on the main input mixer
intended to stop possible feedback loops between buit-in speakers
and built-in mics. built-in mics also tend to capture machine
noise, especially fans. actual recording should not be affected.
|
|
|
|
|
|
connects to be default. if that's not possible, try to make it so
that the speaker and the first output pin do not connect to the same
DAC by default. allows more configuration freedom.
|
|
- if any pin can select both the target and other nids, it is not
a sole connection
- if there is more than a single selection but the other selections are
disabled, that's a sole connection as well
|
|
to special case the speaker dac ...
|
|
source or endpoint.
|
|
to be listed in other widgets' connection lists. if a beep
generator is found in another widget's connection list, treat it
as a dead end.
|
|
|
|
by default might not be in a converter group. make sure such a
dac is not disabled and gets a meaningful name.
|
|
the pin nids, the default converter the pin connects to and the
pin's priority. priority is based on the pin's default direction
and the association and sequence numbers from the vendor. according
to the hda spec, lower association/priority means higher priority.
sort the list in order of highest to lowest priority.
|
|
default
- a function to find the first adc in the adc list that a node is
connected to
- use these functions to find which adc the internal mic is connected
to by default
|
|
and do some further initialization and information gathering:
- disable mixer and selector widgets that don't have any enabled
connections
- create lists of analog and digital input and output converters
- find the internal/fixed connection microphone and speaker, and
which converters they are connected to by default
- create a list of jack sensing capable pins
some of this was already being done in other places, but moved here
for simplification/better organization
|
|
connections to a mixer widget are enabled and unmuted by default.
when finding a default connection through a mixer, check all
connections, not just the "selected" connection.
|
|
- don't mix use of const and non-const pointers
problem noted by Jordi Beltran Creix on tech@
|
|
The fact that this has only just been implemented, and that this
hardware is only found on x86 shows that this flag should not be needed
for operation of this hardware. It's been here since the initial netbsd
commit the code came from.
"sounds good to me" jakemsr@, ok kettenis@.
|
|
handling.
ok ratchov; tested by naddy, thanks
|
|
for mixers and selectors when choosing the defaults for
outputs.master.slaves.
|
|
allow transmission/reception of 32-bit audio, so don't allow it.
pointed out by naddy@, thanks.
|
|
- don't set vref bits on mic pins unless the pin says it supports it
- fall back on 50% vref if 80% vref isn't supported
|
|
possibly matching a nonexistent hp or spkr dac.
|