aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/patch_sigmatel.c
Commit message (Collapse)AuthorAge
* [ALSA] hda-codec - Fix conflict of Master volume in STAC92xx codecTakashi Iwai2007-10-23
| | | | | | | | | | The addition of volume knob as Master volume resulted in conflict with the existing one by stac92xx_auto_create_hp_ctls(). This patch fixes the conflict, and still keeps the Master control for codecs without volume knob as much as possible. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
* [ALSA] hda-codec - Add array terminator for dmic in STAC codecTakashi Iwai2007-10-16
| | | | | | | | | Reported by Jan-Marek Glogowski. The dmic array is passed to snd_hda_parse_pin_def_config() and should be zero-terminated. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
* [ALSA] hda-codec - Fix STAC922x volume knob controlTakashi Iwai2007-10-16
| | | | | | | | | | Reported by zhejiang <zhe.jiang@intel.com> 'I found that STAC_VOLKNOB hardwired the KNOB nid to 0x24. It is okay for stac9205 and stac927x. But the VolumeKnob nid of stac9220-9221 is 0x16.' Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
* [ALSA] hda-codec - Fix input_mux numbers for vaio stac92xxTakashi Iwai2007-10-16
| | | | | | | | | My bad, I forgot to update the num_items field when added a new item to vaio_mux items table, so the last item 'PCM' disappeared. Now it has the right number 3. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
* [ALSA] hda-codec - Re-add quirk support for Dell XPS 1330 and Inspiron 1420Tim Gardner2007-10-16
| | | | | | Signed-off-by: Tim Gardner <tim.gardner@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
* [ALSA] hda-codec - Fix Gateway laptops with STAC9200Takashi Iwai2007-10-16
| | | | | | | | | | | | Fix the output of Gateway laptops with STAC9200 codec chip. They require the EAPD control for some pins. These pins shouldn't be powered down. To enable EAPD control, a new model 'gateway' was added to STAC9200. The known PCI SSIDs are included in the quirk list. The fix was originally suggested by Brian Hinz, in ALSA bug#2948. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
* [ALSA] hda: More subsystem id BIOS changesMatthew Ranostay2007-10-16
| | | | | | | | | | More laptop BIOS changes the subsystem id for STAC9205 cards if the microphone is toggled on/off in the settings. The patch removes the old STAC_9205_M43xx and use STAC_9205_DELL_M43. Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
* [ALSA] hda: BIOS changing subsystem idMatthew Ranostay2007-10-16
| | | | | | | | | Some laptop BIOS change the subsystem id for STAC9205 cards if the microphone isn't toggled on/off in the settings. Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
* [ALSA] hda-codec - Fix wrong pin config order in STAC92xx dell modelsTakashi Iwai2007-10-16
| | | | | | | | | | The last patch to change/add Dell models have wrong pin config orders. This patch fixes the pin positions. Taken from ALSA bug#3319, https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3319 Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
* [ALSA] hda-codec - Fix support for sigmatel codecs that have 2 or more ADCsMaxim Levitsky2007-10-16
| | | | | | | | | | 1) Create seperate mixer controls for each ADC 2) Make number of substreams of capture PCM device be equal to number of ADCs Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
* [ALSA] hda-codec - make volume knob, the master volume for sigmatel codecsMaxim Levitsky2007-10-16
| | | | | | | | | | | VolumeKnob is present on most sigmatel codecs, it allows to decrease volume of all DACs at once, it is a kind of post-procesing volume. Note that all output amps of sigmatel only decrease volume, and all input amps only increase volume. Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
* [ALSA] hda-codec - add support for analog loopback to STAC9204/9205/922x/927xMaxim Levitsky2007-10-16
| | | | | | | | | The analog loopback routes the sound just before it enters ADC0 to output of DAC0. Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
* [ALSA] hda-codec - add support for swapping center/LFE channels to STAC codecsMaxim Levitsky2007-10-16
| | | | | | | | | Center/LFE channels are located on same jack, so it can be usefull to swap them. Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
* [ALSA] hda-codec - Avoid zero NID in line_out_pins[] of STAC codecsTakashi Iwai2007-10-16
| | | | | | | | | The STAC codes adds line_out_pins[] for shared mic/line-inputs accordingly. But, the current code may give a hole with NID=0 in some setting, which results in an error at probe. This patch fixes the problem. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
* [ALSA] hda-codec - Fix wrong pin-setup at resume of STAC codecsTakashi Iwai2007-10-16
| | | | | | | | | The resume procedure for STAC codecs overrides the cached values and results in the wrong (reset) PIN state. The patch gets rid of the overriding part and simplifies the resume. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
* [ALSA] hda-codec - code cleanups in patch_sigmatel.cMaxim Levitsky2007-10-16
| | | | | | | | Clean up the mixer entries for Input Source using a macro. Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
* [ALSA] hda-codec - Fix Dell laptops support with STAC codecsTakashi Iwai2007-10-16
| | | | | | | | | | | Fixed Dell laptops support with STAC92xx codecs. Many pin-config models are introduced. See ALSA-Configuration.txt for details. The patch taken from ALSA bug#3319, originally by Jorg Prante: https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3319 Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
* [ALSA] hda-codec - Add auto-mute function to Sony VAIO with STAC9872Takashi Iwai2007-10-16
| | | | | | | | Added auto-mute function with HP jack to Sony VAIO laptop with STAC9872 codec. The patch taken from ALSA bug#3275. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
* [ALSA] This patch adds more support for Dell systems with Stac9205 codecs.Tobin Davis2007-10-16
| | | | | | | | | | Tested against a couple of different systems (with different pin configs), but the others should also work. Also cleaned up some of the 9205 patch code. Signed-off-by: Tobin Davis <tdavis@dsl-only.net> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
* [ALSA] hda-intel - Add POWER_SAVE optionTakashi Iwai2007-10-16
| | | | | | | | | | | | | | | | | | | | | | | | | | Added CONFIG_SND_HDA_POWER_SAVE kconfig. It's an experimental option to achieve an aggressive power-saving. With this option, the driver will turn on/off the power of each codec and controller chip dynamically on demand. The patch introduces a new module option 'power_save'. It specifies the second of time-out for automatic power-down. As default, it's 10 seconds. Setting 0 means to suppress the power-saving feature. The codec may have analog-input loopbacks, which are usually represented by mixer elements such as 'Mic Playback Switch' or 'CD Playback Switch'. When these are on, we cannot turn off the mixer and the codec chip has to be kept on. For bookkeeping these states, a new codec-callback is introduced. For the bus-controller side, a new callback pm_notify is introduced, which can be used to turn on/off the contoller appropriately. Note that this power-saving might cause slight click-noise at power-on/off. Also, it might take some time to wake up the codec, and might even drop some tones at the very beginning. This seems to be the side-effect of turning off the controller chip. This turn-off of the controller can be disabled by undefining HDA_POWER_SAVE_RESET_CONTOLLER in hda_intel.c. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
* [ALSA] hda-codec - Clean up bind-controlsTakashi Iwai2007-10-16
| | | | | | | | We have already a generic bind-control helper, so let's clean up the codes using it. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
* [ALSA] hda-codec - add snd_hda_codec_stereo() functionTakashi Iwai2007-10-16
| | | | | | | | | Added snd_hda_codec_amp_stereo() function that changes both of stereo channels with the same mask and value bits. It simplifies most of amp-handling codes. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
* [ALSA] hda-codec - optimize resume using cachesTakashi Iwai2007-10-16
| | | | | | | | | | | | | So far, the driver looked the table of snd_kcontrol_new used for creating mixer elements and forces to call each of its put callbacks in PM resume code. This is too ugly and hackish. Now, the resume is simplified using the codec amp and command register caches. The driver simply restores the values that have been written in the cache table. With this simplification, most codec support codes don't require any special resume callback. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
* [ALSA] hda-codec - Add more Dell systemsTobin Davis2007-10-16
| | | | | | | | This patch adds support for Dell E520 and a couple of other 965 based systems. Signed-off-by: Tobin Davis <tdavis@dsl-only.net> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
* [ALSA] hda-codec - Fix GPIO in resumeTakashi Iwai2007-10-16
| | | | | | | Reinitialize GPIO in resume callback if necessary. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
* [ALSA] Clean up with common snd_ctl_boolean_*_info callbacksTakashi Iwai2007-10-16
| | | | | | | Clean up codes using the new common snd_ctl_boolean_*_info() callbacks. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
* [ALSA] hda-codec - Fix input with STAC92xxTakashi Iwai2007-07-20
| | | | | | | | | The recent fix for STAC92xx surround outputs broke the input pin setting for shared line-in and mic jacks. This patch fixes the breakage. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
* [ALSA] hda: Enable SPDIF in/out on some stac9205 boardsMatthew Ranostay2007-07-20
| | | | | | | | | Added support for some boards with SPDIF in/out, and cleaned up the GPIO enable function. Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
* [ALSA] hda: stac9202 mixer fixMatthew Ranostay2007-07-20
| | | | | | | | | | Added support for line out controls for STAC9202 cards, and fixed issue where master mixer control was being created twice for headphone and speaker outs. Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
* [ALSA] hda-codec - Fix number of pin widgets with STAC codecsTakashi Iwai2007-07-20
| | | | | | | | | | Use ARRAY_SIZE() to calculate the number of pin widgets for each codec chip. This also fixes a typo in STAC9205 code that gives a wrong number (14 instead of 12), which resulted in fatal communication errors. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
* [ALSA] hda-codec - Fix the recording selection on VAIO laptopTakashi Iwai2007-07-20
| | | | | | | | Fix the mismatch of init verb and capture mux with VAIO STAC9872. Also, changed the item names to be more intuitive. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
* [ALSA] hda-codec - Fix the error in DAC assignment of STAC codecTakashi Iwai2007-07-20
| | | | | | | | | | | The STAC codec support code has the automatic recognition of additional side-output pins, and this may result in an error when the assigned pin has no corresponding DAC connection. The patch fixes the problem -- it corrects the line_outs again without such additional pins. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
* [ALSA] hda: add eapd support to additional idt codecsMatthew Ranostay2007-07-20
| | | | | | | | | | Added support for EAPD on the 927x, and 9227-8 IDT HDA codecs. Enabling EAPD powers the internal speaker amp otherwise there is no sound on systems with an internal amp. Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
* [ALSA] hda-codec - Add model dell for Dell XPS M1210Takashi Iwai2007-07-20
| | | | | | | Added a new model 'dell' for Dell XPS M1210 with STAC922x codec chip. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
* [ALSA] hda-codec - Fix STAC922x capture boost levelTakashi Iwai2007-07-20
| | | | | | | | | | | | | STAC922x provides the capture boost level up to 4, but actually it works only up to 2. Since the range of the mixer is automatically defined from amp-capability bits, we need to override the value beforehand. snd_hda_override_amp_caps() is introduced for this purpose. The function patch_stac922x() calls this for NID 0x12 (Mux Capture Volume). This should fix another recording problem on Intel Macs. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
* [ALSA] hda-codec - Fix pin configs for Intel MacsIvan N. Zlatev2007-07-20
| | | | | | | | | | | * adds the pinconfigs for all 5 Apple boards and 14 Subsystem IDs (support for possibly all iMac, Mac, MacMini etc etc) * adds 'intel-mac-v1' to v5 models which replace the current * reflects changes in Alsa-Configuration.txt Signed-off-by: Ivan N. Zlatev <contact@i-nz.net> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
* [ALSA] hda-codec - Add support of newer version of Intel iMacTakashi Iwai2007-07-20
| | | | | | | | Added the pin configs for newer version of Intel iMac. The information provided by Ivan N. Zlatev <contact@i-nz.net>. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
* [ALSA] hda-codec - Fix STAC922x capture boost levelTakashi Iwai2007-05-31
| | | | | | | | | | | | | STAC922x provides the capture boost level up to 4, but actually it works only up to 2. Since the range of the mixer is automatically defined from amp-capability bits, we need to override the value beforehand. snd_hda_override_amp_caps() is introduced for this purpose. The function patch_stac922x() calls this for NID 0x12 (Mux Capture Volume). This should fix another recording problem on Intel Macs. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
* [ALSA] hda-codec - Fix input with STAC92xxTakashi Iwai2007-05-31
| | | | | | | | | The recent fix for STAC92xx surround outputs broke the input pin setting for shared line-in and mic jacks. This patch fixes the breakage. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
* [ALSA] hda-codec - Fix pin configs for Gateway MX6453Steve Longerbeam2007-05-31
| | | | | | | | | Fix pin default configs for speaker associations and sequence for Gateway MX6453 machine with STAC925x codecs. Signed-off-by: Steve Longerbeam <stevel@embeddedalley.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
* [ALSA] HDA: Add more systems to Sigmatel codecTobin Davis2007-05-31
| | | | | | | | | This patch adds more Dell systems and a Panasonic laptop with STAC9200 codecs. Signed-off-by: Tobin Davis <tdavis@dsl-only.net> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
* [ALSA] HDA: Add support for Gateway NX860Tobin Davis2007-05-31
| | | | | | | | This patch adds support for the Gateway NX860 system. Signed-off-by: Tobin Davis <tdavis@dsl-only.net> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
* [ALSA] Include quirks from Ubuntu Dapper/Edgy/FeistyDaniel T Chen2007-05-16
| | | | | | | | | Included is a patch against current alsa-kernel hg tip adding quirks that Ubuntu Dapper/Edgy/Feisty contains. Signed-off-by: Daniel T Chen <crimsun@ubuntu.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
* [ALSA] hda-codec - bug fixes for stac92xx HDA codecs.Steve Longerbeam2007-05-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * fixed surround playback on stac922x. Pin direction control bits were not being set correctly in stac92xx_set_pinctl(). Specifically it would refuse to set the port as an output if the port was already configured as an input. Last hunk (#8). * fixed an input mux bug on 92xx codecs. When there is more than one possible input calculated for the muxes, the actual mux widget never gets set from its reset default, which is index 0, in the stac9221 case that is port E. So alsamixer/amixer/gnome-mixer report the Mic as being the selected input source, but in fact is something else (line-in port E in stac9221 case). Another problem with this is that if you actually try to set the mux input to 'Mic', nothing happens because *cur_val == idx (see snd_hda_input_mux_put). You have to actually toggle input source to line-in then back to mic to actually set the mux widget. Hunk #7. * fixed some typos in patch_sigmatel.c. Hunk #6. * fix to stac92xx_add_dyn_out_pins() that fixes surround playback on codecs with less that 4 DACs (stac9205 for example). It reads the widget caps cache created by hda_codec to count the total number of analog DACs found. It then uses that to determine whether there will be enough independent DACs available for line/mic switch controls. Hunk #1, #2, and #3. * improvements to stac92xx_auto_fill_dac_nids() to make it more general. This fixes surround playback on some codecs in combination with the fix to stac92xx_add_dyn_out_pins() above. It reads the full connection list now, instead of just the first entry, and then locates an analog DAC in the list. If one is found and it's free, assign it to that line-out. If no free DAC is found for the line-out, return -ENODEV. It also makes sure to actually select the chosen DAC if more than one DAC is input to the pin. Hunks #4, #5. Signed-off-by: Steve Longerbeam <stevel@embeddedalley.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
* [ALSA] hda-codec - Fix resume of STAC92xx codecsTakashi Iwai2007-05-11
| | | | | | | Added a missing call to resume mixer controls for STAC92xx codecs. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
* [ALSA] snd_hda_intel: fix for intel imacSylvain FORET2007-05-11
| | | | | | | | | Add handling of Intel-iMac-specific pinconfig of the sound card. Intel-iMac now handled as a separated subsystem. Signed-off-by: Sylvain FORET <sylvain.foret@anu.edu.au> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
* [ALSA] hda-codec - Add first generation macbook subsystem IDAbhijit Bhopatkar2007-05-11
| | | | | | | | | | First generation MacBooks were getting ignored by sigmatel drivers and wrongly being identified as MACMINI. This patch makes them identify as MACBOOK. Signed-off-by: Abhijit Bhopatkar <bainonline@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
* [ALSA] hda-codec - Fix SPDIF outputTakashi Iwai2007-05-11
| | | | | | | | | | | Fix SPDIF output (at least on Realtek codecs). The DIGI_CONVERT verbs have to be reset before the PCM stream is set up. Otherwise the digital setup is screwed up. Also, check the AMP capability before setting AMP of the digital out widget. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
* [ALSA] hda-codec - Fix Macmini and Macbook pin configsTakashi Iwai2007-05-11
| | | | | | | | | Original idea from Nicolas Boichat <nicolas@boichat.ch>. The pin configurations of Macmini and MacBook (1st generation, at least) seem identical with MacBook Pro (1st generation). Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
* [ALSA] hda-codec - Code clean up of patch_sigmatel.cTakashi Iwai2007-05-11
| | | | | | | | - Remove superfluous array member in stac9205_dmic_nids[] - Use ARRAY_SIZE() instead of hard-coded numbers Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>