summaryrefslogtreecommitdiffstats
path: root/sound
Commit message (Collapse)AuthorAgeFilesLines
* ALSA: hda - Check the external mic pin more strictly for Conexant chipsTakashi Iwai2010-09-171-1/+2
| | | | | | | | The external mic jack for auto-mic switch must be really an external jack and with a presense-detection capability. This patch makes the check more paranoia. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Make snd_hda_get_input_pin_attr() helperTakashi Iwai2010-09-176-67/+59
| | | | | | | | Make the helper function to give the input-pin attribute for jack connectivity and location. This simplifies checks of input-pin jacks a bit in some places. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: HDA: Sort CXT5066 quirk tableDavid Henningsson2010-09-171-5/+5
| | | | | | | It was just a boring day. Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: HDA: Fix spelling (change VOSTO to VOSTRO)David Henningsson2010-09-171-5/+5
| | | | | | | It was just a boring day. Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix mic attribute check for internal micsTakashi Iwai2010-09-171-2/+5
| | | | | | | Now Windows claims that the BIOS sets pins for internal mics to be BOTH connection instead of FIXED. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix automatic MIC switching and include dock MIC for IDT codecsCharles Chin2010-09-171-11/+29
| | | | | Signed-off-by: Charles Chin <Charles.Chin@idt.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix input-pin setup for Realtek codecsTakashi Iwai2010-09-161-6/+6
| | | | | | | | Through the transition of autocfg to individual inputs array, I forgot to rewrite the argument passed to alc_set_input_pin(). This resulted in wrongly setup input pins. Fixed now. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix initialization of secondary headphone and speakerTakashi Iwai2010-09-161-4/+9
| | | | | | | The secondary or later headphones or speakers aren't initialized preoprly for some codecs. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Add quirk for Acer laptop with CX20585 codecTakashi Iwai2010-09-161-0/+1
| | | | | | Its pin configuration is compatible with ideapad. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Reduce pci id list for Intel with class idTakashi Iwai2010-09-161-13/+5
| | | | | | | | | Most of Intel controllers work as generic HD-audio without quirks, and it'll be hopefully so in future. Let's mark pci id with the PCI_CLASS_MULTIMEDIA_HD_AUDIO for Intel so that the driver will work with any new control chips in future. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Preliminary support for new Conexant audio codecsTakashi Iwai2010-09-161-1/+639
| | | | | | | | | | | This patch adds the preliminary support for new Conexant audio codecs with 14f1:5097, 14f1:5098, 14f1:50a1, 14f1:50a2, 14f1:50ab, 14f1:50ac, 14f1:50b8 and 14f1:50b9. Unlike other Conexant parsers, this is designed to be mostly automatic, parsing from BIOS pin configurations. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* Merge branch 'fix/hda' into topic/hdaTakashi Iwai2010-09-1616-40/+98
|\
| * ALSA: patch_nvhdmi.c: Fix supported sample rate list.Stephen Warren2010-09-141-1/+1
| | | | | | | | | | | | | | | | 22050 isn't a valid HDMI sample rate. 32000 is. Signed-off-by: Stephen Warren <swarren@nvidia.com> Acked-By: Wei Ni <wni@nvidia.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Add quirk for Toshiba C650D using a Conexant CX20585Anisse Astier2010-09-131-0/+1
| | | | | | | | | | | | | | | | Add a quirk for laptop Toshiba Satellite C650D to have proper external HP and external Mic support. Signed-off-by: Anisse Astier <anisse@astier.eu> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda_intel: ALSA HD Audio patch for Intel Patsburg DeviceIDsSeth Heasley2010-09-131-0/+3
| | | | | | | | | | | | | | This patch adds the Intel Patsburg (PCH) HD Audio Controller DeviceIDs. Signed-off-by: Seth Heasley <seth.heasley@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * Merge branch 'fix/hda' into for-linusTakashi Iwai2010-09-104-1/+110
| |\
| * | ALSA: rawmidi: fix the get next midi device ioctlDan Carpenter2010-09-091-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we pass in a device which is higher than SNDRV_RAWMIDI_DEVICES then the "next device" should be -1. This function just returns device + 1. But the main thing is that "device + 1" can lead to a (harmless) integer overflow and that annoys static analysis tools. [fix the case for device == SNDRV_RAWMIDI_DEVICE by tiwai] Signed-off-by: Dan Carpenter <error27@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: seq/oss - Fix double-free at error path of snd_seq_oss_open()Takashi Iwai2010-09-081-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The error handling in snd_seq_oss_open() has several bad codes that do dereferecing released pointers and double-free of kmalloc'ed data. The object dp is release in free_devinfo() that is called via private_free callback. The rest shouldn't touch this object any more. The patch changes delete_port() to call kfree() in any case, and gets rid of unnecessary calls of destructors in snd_seq_oss_open(). Fixes CVE-2010-3080. Reported-and-tested-by: Tavis Ormandy <taviso@cmpxchg8b.com> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: msnd-classic: Fix invalid cfg parameterTakashi Iwai2010-09-081-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | The driver doesn't probe the device properly because of left-over cfg[] that isn't used at all for msnd-classic device. This is only for msnd- pinnacle. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: usb - Release capture substream URBs properlyTakashi Iwai2010-09-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Due to the wrong "return" in the loop, a capture substream won't be released at disconnection properly if the device is capture only and has no playback substream. This caused Oops occasionally at the device reconnection. Reported-by: Kim Minhyoung <minhyoung.kim@lge.com> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: virtuoso: fix setting of Xonar DS line-in/mic-in controlsClemens Ladisch2010-09-081-1/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Line and Mic inputs cannot be used at the same time, so the driver has to automatically disable one of them if both are set. However, it forgot to notify userspace about this change, so the mixer state would be inconsistent. To fix this, check if the other control gets muted, and send a notification event in this case. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Reported-and-tested-by: Nathan Schagen Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: virtuoso: work around missing reset in the Xonar DS Windows driverClemens Ladisch2010-09-084-3/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For the WM8776 chip, this driver uses a different sample format and more features than the Windows driver. When rebooting from Linux into Windows, the latter driver does not reset the chip but assumes all its registers have their default settings, so we get garbled sound or, if the output happened to be muted before rebooting, no sound. To make that driver happy, hook our driver's cleanup function into the shutdown notifier and ensure that the chip gets reset. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Reported-and-tested-by: Nathan Schagen Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: usb-audio: fix detection of vendor-specific device protocol settingsClemens Ladisch2010-09-036-26/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Audio Class v2 support code in 2.6.35 added checks for the bInterfaceProtocol field. However, there are devices (usually those detected by vendor-specific quirks) that do not have one of the predefined values in this field, which made the driver reject them. To fix this regression, restore the old behaviour, i.e., assume that a device with an unknown bInterfaceProtocol field (other than UAC_VERSION_2) has more or less UAC-v1-compatible descriptors. [compile warning fixes by tiwai] Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Cc: Daniel Mack <daniel@caiaq.de> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: usb-audio: Assume first control interface is for audioDaniel Mack2010-09-021-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For devices with more than one control interface, let's assume the first one contains the audio controls. Unfortunately, there is no field in any of the descriptors to tell us whether a control interface is for audio or MIDI controls, so a better check is not easy to implement. On a composite device with audio and MIDI functions, for example, the code currently overwrites chip->ctrl_intf, causing operations on the control interface to fail if they are issued after the device probe. Signed-off-by: Daniel Mack <daniel@caiaq.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - Set up COEFs for ALC269 to avoid click noises at power-savingKailang Yang2010-09-161-0/+114
| | | | | | | | | | | | | | | | | | | | | | | | For avoiding the click noises at power-saving, set some COEF values for ALC269* codecs. Signed-off-by: Kailang Yang <kailang@realtek.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - Add input jack layer support to Realtek codecKailang Yang2010-09-141-0/+98
| | | | | | | | | | | | | | | Signed-off-by: Kailang Yang <kailang@realtek.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - Sort input pins in snd_hda_parse_pin_def_config()Takashi Iwai2010-09-091-0/+19
| | | | | | | | | | | | | | | | | | | | | Sort inputs[] array in autocfg so that the codec parsers can filter out easily per input pin types. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - Add comments to new helper functionsTakashi Iwai2010-09-091-0/+23
| | | | | | | | | | | | Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - Reduce redundant mic location prefix in input source labelsTakashi Iwai2010-09-091-13/+77
| | | | | | | | | | | | | | | | | | | | | When the mic pins are assigned to the same location, we can omit the redundant location prefix like "Front" or "Rear". Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - Improve the input source name labelsTakashi Iwai2010-09-099-267/+174
| | | | | | | | | | | | | | | | | | | | | | | | This patch improves the input-source label strings to be generated from the pin information instead of fixed strings per AUTO_PIN_* type. This gives more suitable labels, especially for mic and line-in pins. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - Remove AUTO_PIN_FRONT_{MIC|LINE}Takashi Iwai2010-09-097-78/+31
| | | | | | | | | | | | | | | | | | | | | | | | We can assign multiple pins to a single role now, let's reduce the redundant FRONT_MIC and FRONT_LINE. Also, autocfg->input_pins[] is no longer used, so this is removed as well. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - Keep char arrays in input_mux itemsTakashi Iwai2010-09-097-39/+34
| | | | | | | | | | | | | | | | | | | | | | | | Keep char array in the input_mux item itself instead of pointing to an external string. This is a preliminary work for improving the input-mux name based on the pin role. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: HDA: Add fixup pins for Ideapad Y550David Henningsson2010-09-091-1/+25
| | | | | | | | | | | | | | | | | | | | | | | | By adding the subwoofer as a speaker pin, it is treated correctly when auto-muting. BugLink: https://launchpad.net/bugs/611803 Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - Add fixup for FSC Celsius H270Takashi Iwai2010-09-081-0/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added a fixup table for ALC262 codec containing the entry for FSC Celsius H270. Now both headphone jacks are detected properly as headphones. Reference: Novell bnc637263 https://bugzilla.novell.com/show_bug.cgi?id=637263 Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - Add multiple headphone support to ALC262 codecTakashi Iwai2010-09-081-29/+42
| | | | | | | | | | | | | | | | | | | | | This patch changes the alc262 auto-parser to allow multiple pins assigned for a single purpose (line-out, headphone or speaker). Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - Support multiple headphone auto-muteTakashi Iwai2010-09-081-42/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently headphone auto-mute using alc_automute_pin() assumes only the single pin used for the headphone output. Since there are devices with multiple headphone jacks, we need to check all these pins there, too. Also this patch merges the common code between alc_automute_pin() and alc_automute_amp() helper functions. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - Clear left-over hp_pins in snd_hda_parse_pin_def_config()Takashi Iwai2010-09-081-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | In snd_hda_parse_def_config(), some unused values may remain in hp_pins[] array during the headphone-reassignment workaround. This patch clears the unused array members. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | Merge branch 'fix/hda' into topic/hdaTakashi Iwai2010-09-081-1/+1
|\ \ \ | | |/ | |/|
| * | ALSA: hda - Fix wrong HP pin detection in snd_hda_parse_pin_def_config()Takashi Iwai2010-09-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | snd_hda_parse_pin_def_config() has some workaround for re-assigning some pins declared as headphones to line-outs. This didn't work properly for some cases because it used memmove() stupidly wrongly. Reference: Novell bnc#637263 https://bugzilla.novell.com/show_bug.cgi?id=637263 Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - Improve input control names for IDT/STAC codecsVitaliy Kulikov2010-09-081-19/+88
| | | | | | | | | | | | | | | | | | | | | | | | Changing the way the input controls are named using port connection type and jack location info. Signed-off-by: Vitaliy Kulikov <Vitaliy.Kulikov@idt.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - Adding support for new IDT 92HD90BXX and 92HD91BXX codecsVitaliy Kulikov2010-09-081-33/+46
| | | | | | | | | | | | | | | | | | | | | Adding support for digital MIC in 92HD83/90/91XXX codecs family. Signed-off-by: Vitaliy Kulikov <Vitaliy.Kulikov@idt.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | Merge branch 'fix/hda' into topic/hdaTakashi Iwai2010-09-082-0/+51
|\| |
| * | ALSA: hda - Enable PC-beep for EeePC with ALC269 codecTakashi Iwai2010-09-081-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | EeePC 1001HAG has a similar problem like other ASUS machine, which doesn't set the codec SSID properly for indicating the beep capability. To enable PC-beep again, put this to the whitelist. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Add errata initverb sequence for CS42xx codecsBrian Austin2010-09-081-0/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add init verb sequence for errata ER880C3 http://www.cirrus.com/en/pubs/errata/ER880C3.pdf Signed-off-by: Brian Austin <brian.austin@cirrus.com> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | Merge branch 'fix/hda' into topic/hdaTakashi Iwai2010-09-071-0/+58
|\| |
| * | ALSA: hda - Add quirk for Lenovo T400sTakashi Iwai2010-09-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Lenovo T400s requires the quirk to make automatic HP/mic switching working. Reported-by: Frank Becker <fb@alien8.de> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Add a new hp-laptop model for Conexant 5066, tested on HP G60David Henningsson2010-09-021-0/+57
| |/ | | | | | | | | | | | | | | | | | | | | | | This new model adds the following functionality to HP G60: - Automute of internal speakers - Autoswitch of internal/external mics - Remove SPDIF not physically present BugLink: http://launchpad.net/bugs/587388 Cc: stable@kernel.org Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Use new inputs[] field to parse input-pins for VIA codecsTakashi Iwai2010-08-301-71/+73
| | | | | | | | Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Use new inputs[] field to parse input-pins for STAC/IDT codecsTakashi Iwai2010-08-301-87/+96
| | | | | | | | Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Use new inputs[] field to parse input-pins for Realtek codecsTakashi Iwai2010-08-301-98/+110
| | | | | | | | Signed-off-by: Takashi Iwai <tiwai@suse.de>