Age | Commit message (Collapse) | Author |
|
dmesg spam produced by the mistakes noticed by stsp@, thanks
|
|
nice mp3s.
From brad, ok jakemsr
|
|
channel of the speaker.
|
|
VRef level and be sure to turn VRef off when not set for input.
|
|
tested by danh@, thanks!
|
|
that don't have selectable inputs. all connections are active, always.
showing all connections in the set rather than just one makes a lot
more sense.
|
|
instead they use the connection list setting like selectors do.
this is somewhat common in Analog Devices codecs. it's extremely
rare in all other codecs.
|
|
longer direcly affect other widgets
- if an unsolicited response is received from a volume knob widget,
adjust outputs.master according to the measured change in level of the
volume knob widget
|
|
function for creating "master" volume control.
- apply gpio quirks separately from and prior to configuring the mixer.
gpio manipulation can cause noise on output channels. configuring
gpio before amps are unmuted in the mixer configuration is a good
thing.
from Alexey Suslikov, thanks
|
|
magic numbers
from Alexey Suslikov
|
|
* move quirk for Dell E6400 into the group of quirks that set GPIO 0
from Alexey Suslikov, thanks
|
|
are not really useful as output devices and fixed speakers are not
really useful as input devices
|
|
outputs by default it's nice to have a way to control multiple sources/
outputs with a single control setting.
so here's an implementation of "master" controls that uses selectable
control lists, because the biggest problem is figuring out what should
be "master".
outputs.master.slaves is the current set of output mixer controls
that settings for outputs.master and outputs.master will be applied
to. record.volume.slaves works similarly for recording inputs.
|
|
"master" volume controls coming shortly.
|
|
like the way it looks.
- run the speaker mute handler when a muter jack changes I/O direction
|
|
jacks which can mute speaker output are chosen with the new mixer item
'outputs.spkr_muters'. e.g.
$ mixerctl -v outputs.spkr_muters
outputs.spkr_muters=hp,mic,line-in { hp mic line-in }
if a jack is present in any listed "muter" plug, AND that plug is
configured for output (e.g. outputs.hp_dir=output) the speaker will
be muted. the list of muters is selectable, selecting none turns of
muting altogether.
|
|
|
|
mixers. problem noticed by Tas. thanks!
|
|
and use it in 6 places.
|
|
|
|
- beep and CD support for a few more realtek codecs (ALC268 verified by
Alexey Suslikov, the others are quite similar based on datasheets)
- "ALC662-GR" is a part number. "ALC662" is a codec identifier.
|
|
|
|
|
|
it is about codec gpio quirks. so rename it as azalia_codec_gpio_quirks,
and move it to where the rest of the codec specific code is.
|
|
|
|
|
|
|
|
more clear.
|
|
- remove the codec datasheet URLs. URLs change and these particular
datasheets are all easy to find.
|
|
b) members of the widget connection list may be invalid.
so,
- change azalia_nid_to_index to azalia_widget_enabled, and have it only
check that the given nid is valid, and that the corresponding widget
is enabled.
- use azalia_widget_enabled every time members of the connection list
are used.
|
|
to not be redundant. important for understanding how widgets are
connected.
|
|
|
|
values read from pin complex widgets.
|
|
e.g. the first DAC in the converter group is now dac, the second
is dac2, etc.
unused converters (not in a converter group) will have a "u-" prefix.
these will disappear completely in the near future, as they are useless.
if there is more than one converter group, converters in the second
group will have a "dig-" prefix, since they are digital converters.
|
|
classes in azalia.h instead of azalia_codec.c. this will allow
the mixer class to be determined outside of azalia_generic_mixer_init.
|
|
controls on the widget that need to be configured.
|
|
an ADC.
|
|
to change.
|
|
- don't try to create formats for converter groups that don't exist
- don't allow playback or recording if there is no corresponding
converter group
- don't try to set audio processing parameters on converter groups
that don't exist
allows playback (or record) only devices to work, such as the
azalias found on ATI graphics devices.
note, the ATI devices generally attach before the onboard devices
do. that means they will be audio0 and onboard devices will be audio1.
don't forget to make sure the /dev/{audio[ctl],mixer,sound} links
point to the nodes of the device you want to be the default.
tested by naddy@, thanks
|
|
usable. better (generalized) solution forthcoming, but this is a
reasonable check anyway.
problem noted and fix tested by Alexey Suslikov, thanks.
|
|
reminder from Alexey Suslikov, thanks
|
|
- another place to use azalia_nid_to_index
|
|
- put selectors that feed ADCs into the record class like we do for
mixers
- use azalia_nid_to_index more
- shrink mixer items list by condensing mutes for multiple input
sources into a single _source control of type AUDIO_MIXER_SET.
for example,
record.mix6_mic_mute=off
record.mix6_mic2_mute=off
record.mix6_line_mute=off
record.mix6_hp_mute=off
record.mix6_spkr_mute=off
record.mix6_mix_mute=off
is now represented as
record.mix6_source=mic,mic2,line,hp,spkr,mix
to mute all sources but the mic just do
record.mix6_source=mic
reduces mixer items by about 25% on my machine. also shortens the
longest names.
|
|
- we're only interested in ADCs in the ADC converter group
|
|
assumed in places to be the index of the widget in the widget_t
array of the codec_t, but I'm paranoid.
use it to shrink/simplify/fortify some parts. will be used more
soon.
|
|
* configure widgets all in one place
* add a flag on the widget_t to let us know if the widget is not
connected; shaves a lot of connection checking code
* be sure not to add power widgets as connectable sources/sinks
* configure unconnected pins as output pins. should help some
MacBooks and be benign to other devices.
the last change has been tested by several as a separate diff. no
real functional changes otherwise.
from Alexey Suslikov. thanks!
|
|
on all (at least all tested) devices. briefly, it works like so:
group together all converters that can be reached from or can reach
a connected input or output pin. ordering in the converter groups
correlates to the association and sequence of the input/output pin.
remove lots of static converter groupings in favor of the generic
grouping method. the only static groups left are for codecs that
still have static mixer configurations.
tested by many. thanks to all who tested; this wouldn't have
happened without your support.
|
|
Add this and other missing entries to the pre-defined DAC groups.
Tested with ALC885; other models according to their data sheets.
ok jakemsr@
|
|
being the cause of PR5982. unfortunately, there's no easy and clean
solution to automatic muting. we can't always rely on the codec
giving us the right information. people have different preferences
as to what should be muted and what shouldn't. etc, etc.
so instead, just make the sense state of jacks that support sensing
available through the mixer interface. this allows for any possible
user configuration and supports all pins that have sense capabilities,
not just headpones. codecs that use the generic mixer configuration
(which is the plan for all codecs) and have sensing capable pins will
now get a few more read-only mixer items, such as:
outputs.hp_sense=plugged
outputs.mic_sense=unplugged
outputs.line_sense=unplugged
hopefully what they mean is self-explanatory.
based on much discussion with ratchov@ and Alexey Suslikov
|
|
- recognize several STAC (Sigmatel/IDT) codecs and create converter
groups for the multi-channel capable codecs.
- use the correct name for Sigmatel 7661/7662.
|