summaryrefslogtreecommitdiff
path: root/sys/dev/pci/azalia_codec.c
AgeCommit message (Collapse)Author
2010-03-21another macbook that needs reference voltage for output.Jacob Meuser
problem reported and fix tested by Ted Roby.
2010-03-21deal with the possibility of two internal speaker pins, like onJacob Meuser
macbooks that have a "normal" pair of stereo speakers as well as subwoofer(s). problem reported and fix tested by Ted Roby.
2010-02-11"unmute" GPIO 0 on all Dell machines with IDT 92HD71B7 codecs.Jacob Meuser
desilences E4300 for drahn@. ok drahn@
2010-02-01unmute GPIO 0 on IDT 92HD73C1 codecs found in Dell machinesJacob Meuser
2009-11-03gpio quirk for Dell Precision M4400. from Geoff Sanders. thanks!Jacob Meuser
2009-10-20recognize the VIA VT1702 codecKevin Lo
ok jakemsr@
2009-09-12GPIO quirk for Dell Inspiron 1400Jacob Meuser
2009-09-09move code to enable widget unsolicited event generation into it'sJacob Meuser
own function
2009-09-09handle mixer get/set requests for class type mixer items in the underlyingJacob Meuser
mixer get/set routines instead of in the MI audio routines.
2009-09-09make sure node id for stream mode mixer items is validJacob Meuser
2009-06-26the 'inputs.usingdac' mixer item was used to select which group ofJacob Meuser
DACs to use. for several months, there have been at most two groups, the first being all usable analog DACs and the second being all usable digital DACs. so 'inputs.usingdac' essentially was used to switch between analog and digital modes. this was entirely unclear to most users because the DACs were listed by their NIDs, which means nothing unless you know how azalia(4) internals works. rename 'inputs.usingdac' to 'outputs.mode', and replace the lists of DAC NIDs with 'analog' and 'digital'. similarly for recording, change 'record.usingadc' to 'record.mode', and replace the lists of ADC NIDs with 'analog' and 'digital'.
2009-06-09AD1981HD output amps are weird. they report 63 volume steps but theJacob Meuser
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.
2009-06-09quirks for MacBookPro3,1 inspired by FreeBSD's snd_hda. problemJacob Meuser
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.
2009-05-31zap _generic from the names of several functions. there are noJacob Meuser
more non-generic versions, and there never will be again.
2009-05-31- all codecs now use the same functions, always. call the functionsJacob Meuser
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.
2009-05-31remove special handling for STAC9225 (aka STAC7661). it was justJacob Meuser
choosing the default recording source and muting ADC input after the device has been configured. the commit message that added these doesn't give a reason why this is done, and it is inconsistent with every other codec. if you really want these settings, either set them in mixerctl.conf, or convince me why this should be done for all codecs.
2009-05-29register all GPIO and widget "quirks" in a bitmask instead of usingJacob Meuser
macros and codec->init_widget. now there is only only place to look to see what special handling a specific codec will get.
2009-05-29if a control in outputs.master.slaves is muted, don't change it'sJacob Meuser
volume when outputs.master is changed
2009-05-25Add Dell Latitude E5500 to the mute quirk list.Robert Nagy
ok jakemsr@
2009-05-17recognize more Analog Devices codecsJacob Meuser
2009-05-12- try to identify a "main input mixer"Jacob Meuser
- 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.
2009-05-01recognize several more IDT/Sigmatel codecs. IDs taken from the codecs'Jacob Meuser
datasheets.
2009-05-01allow jack sensing to mute the DAC the speaker is connected to byJacob Meuser
default, as long is the first output pin is not also connected to that DAC. cleanup a bit now that there are multiple muting methods.
2009-04-27it's easier to have the speaker dac in the converter group thanJacob Meuser
to special case the speaker dac ...
2009-04-25beep generators are input endpoints. but ther are not supposedJacob Meuser
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.
2009-04-24remove no longer needed workaroundJacob Meuser
2009-04-24the internal/fixed speaker is special. the dac it connects toJacob Meuser
by default might not be in a converter group. make sure such a dac is not disabled and gets a meaningful name.
2009-04-24use the direction/association/sequence ordered lists of i/o pins toJacob Meuser
create the converter group lists. start with converters that are connected to pins by default, then add converters that can be connected to pins.
2009-04-24drop _generic from azalia_generic_codec_fnode(). there will notJacob Meuser
be a non-generic version. move the prototype to azalia.h so it can also be used in azalia.c in the future.
2009-01-24fix a couple mistakes from rev 1.109Jacob Meuser
dmesg spam produced by the mistakes noticed by stsp@, thanks
2009-01-07Add Dell Latitude E6500 to mute quirk. This makes my shiny E6500 play someMarco Peereboom
nice mp3s. From brad, ok jakemsr
2009-01-05allow sense capable pins to mute the speaker by disabling the outputJacob Meuser
channel of the speaker.
2009-01-05expand the _dir controls for output pins to also be able to selectJacob Meuser
VRef level and be sure to turn VRef off when not set for input.
2009-01-05no longer needed codec specific codeJacob Meuser
tested by danh@, thanks!
2009-01-05use AUDIO_MIXER_SET instead of AUDIO_MIXER_ENUM to display mixersJacob Meuser
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.
2009-01-04some mixers don't use input amp muting to "select" their sources.Jacob Meuser
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.
2009-01-03- configure volume knob widgets for indirect mode, which means they noJacob Meuser
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
2009-01-02- get rid of the function that was mostly just a wrapper for the oldJacob Meuser
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
2009-01-02add macros for setting/getting GPIO polarity instead of usingJacob Meuser
magic numbers from Alexey Suslikov
2009-01-02* add GPIO quirk for Dell Vostro 1400 (from FreeBSD)Jacob Meuser
* move quirk for Dell E6400 into the group of quirks that set GPIO 0 from Alexey Suslikov, thanks
2009-01-02this is what I really wanted with r1.100 of azalia.c - fixed micsJacob Meuser
are not really useful as output devices and fixed speakers are not really useful as input devices
2009-01-02now that some devices will get output from/to two different sources/Jacob Meuser
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.
2009-01-02remove azalia_generic_mixer_create_virtual and all it's uses. nicerJacob Meuser
"master" volume controls coming shortly.
2008-12-31- avoid using an argument twice, once as a pointer. I just don'tJacob Meuser
like the way it looks. - run the speaker mute handler when a muter jack changes I/O direction
2008-12-31reimplement jack sense/speaker auto muting using unsolicited responses.Jacob Meuser
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.
2008-12-28get output from the first DAC to the line-out on the MacMini1,1Jacob Meuser
2008-12-26don't try to create mutesets for selectors, they are only forJacob Meuser
mixers. problem noticed by Tas. thanks!
2008-12-26add a function for initializing mixer_devinfo_t off/on enumsJacob Meuser
and use it in 6 places.
2008-12-26nuke unused macros. from Alexey Suslikov.Jacob Meuser
2008-12-26- recognize a few more realtek codecsJacob Meuser
- 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.