summaryrefslogtreecommitdiffstats
path: root/sound
Commit message (Collapse)AuthorAgeFilesLines
* ALSA: hda - fix noise issue when recording from digital mic with alc268Herton Ronaldo Krzesinski2009-08-121-26/+36
| | | | | | | | | | | | | | | | | | | | | With auto config model of alc268 realtek codec, it allows to select any of possible available digital microphone inputs when only one is available. For example, when only digital mic in nid 0x12 is available, on second input source it will allow you to select unavailable digital mic in nid 0x13. The problem is that selecting unavailable digital mic creates a source of noise when recording (I'm not sure if this happens on all machines with alc268 and only one digital mic input, but testing on a quanta uw1 netbook a lot of noise is introduced in recording from digital mic 0x12/first input source, when you select the unavailable digital mic 0x13 for capture source 0x24 in the second input source in mixer). Then to avoid noise when recording from digital mic with auto model in this case, prevent a digital mic input source to be selected if microphone is not available. Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Clean up init and setup hooks for Realtek codecsTakashi Iwai2009-08-111-414/+310Star
| | | | | | | | | | Move static codes to setup from init_hook for each model. Also, use the common auto-mic selection helper for devices that support auto-mic selection. They just need to set up ext_mic, int_mic and auto_mic flag in the setup section. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Add setup hook to ALC preset structTakashi Iwai2009-08-111-10/+15
| | | | | | | | | Added setup hook to ALC preset struct to be called at in the parser but not at each init callback. This can be used for setting up the static pins, etc, while the init hook should be used for updating the status again. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Add a white-list for MSI optionTakashi Iwai2009-08-111-1/+25
| | | | | | | | | | | Created a white-list to enable MSI since some devices require MSI explicitly due to BIOS/ACPI problems. Simply using a quirk list. As the first case, take HP Compaq CQ40. Reference: Novell bnc#529971 https://bugzilla.novell.com/show_bug.cgi?id=529971 Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Check connectivity for auto-mic of Realtek codecsTakashi Iwai2009-08-111-32/+51
| | | | | | | | | | | | | | | | Some Realtek codecs don't provide the full connections for certain pins from each ADC; e.g. ACL662/ALC272 gives only one of two digital-mic pins for each ADC. Thus, depending on the digital mic pin, the ADC/MUX to be used has to be chosen properly. This patch adds the check of the connectivity of pins at auto-mic mode. If no proper connectivity is found, auto_mic flag is turned off to be sure. Also the mux_idx is determined during this check so it won't be checked in the unsol event any more. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* Merge branch 'fix/hda' into topic/hdaTakashi Iwai2009-08-111-6/+12
|\
| * ALSA: hda - Don't override ADC definitions for ALC codecsTakashi Iwai2009-08-111-6/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | ALC269 and ALC861-VD parsers override the ADC definitions unconditionally without checking the spec definition. This causes the problem when any inconsistent ADC is set up in the device quirk (like ALC272 with digital-mic). This patch avoids the overriding by adding the proper checks. Reference: Novell bnc#529467 https://bugzilla.novell.com/show_bug.cgi?id=529467 Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Use only one capture stream for auto-micTakashi Iwai2009-08-101-2/+4
| | | | | | | | | | | | | | When the auto-mic feature is enabled, we should support only one capture stream. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Add auto-mic support for Realtek codecsTakashi Iwai2009-08-101-42/+135
| | | | | | | | | | | | | | | | Added the support for automatic mic selection via plugging for Realtek codecs (in auto-probing mode). The auto-mic mode is enabled only when one internal mic and one external mic are present. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge branch 'fix/hda' into topic/hdaTakashi Iwai2009-08-101-0/+2
|\|
| * ALSA: hda - Add missing vmaster initialization for ALC269Takashi Iwai2009-08-101-0/+2
| | | | | | | | | | | | | | | | | | | | | | Without the initialization of vmaster NID, the dB information got confused for ALC269 codec. Reference: Novell bnc#527361 https://bugzilla.novell.com/show_bug.cgi?id=527361 Signed-off-by: Takashi Iwai <tiwai@suse.de> Cc: <stable@kernel.org>
* | ALSA: hda - Fix Oops due to STAC/IDT auto-mic changesTakashi Iwai2009-08-101-2/+3
| | | | | | | | | | | | | | The previous auto-mic patch for STAC/IDT codecs causes the Oops on machines without digital mic pins. This patch fixes the problem. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Add quirks for some HP laptopsTakashi Iwai2009-08-061-0/+2
| | | | | | | | | | | | The new HP laptops have PCI SSID 103c:701x and requires model=hp-dv5. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Fix line-out jack handling with STAC/IDT codecTakashi Iwai2009-08-041-3/+1Star
| | | | | | | | | | | | | | | | | | | | | | When the line-out jack is plugged/unplugged, the driver needs to check the headphone plug, not only the line-out jack itself. Otherwise the headphone or the speaker may be wrongly muted/unmuted. As a result, both STAC_HP_EVENT and STAC_LO_EVENT need to call the same function, stac92xx_hp_detect(). Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Fix line-out jack detectionTakashi Iwai2009-08-031-2/+2
| | | | | | | | | | | | | | | | The commit fefd67f31ee7f5259344e36a237d59b47e8715cf ALSA: hda - Add line-out jack detection on IDT/STAC codecs enabled wrong pins for jack detections. Fixed to the correct ones. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge branch 'fix/hda' into topic/hdaTakashi Iwai2009-08-035-36/+88
|\|
| * ALSA: hda - Read buffer overflowRoel Kluin2009-08-031-1/+1
| | | | | | | | | | | | | | Check whether index is within bounds before testing the element. Signed-off-by: Roel Kluin <roel.kluin@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda: Correct EAPD for Dell Inspiron 1525Chengu Wang2009-08-031-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The commit 24918b61b55c21e09a3e07cd82e1b3a8154782dc statically changes the model from dell-bios to dell-3stack to solve the sound decreasing regression (http://lkml.org/lkml/2008/9/12/203), however it leads to another problem that the 2nd headphone jack doesn't work (https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3987). So I think the commit 249**2dc is just a workaround. I would like to give a true solution here. The datasheet for STAC9228 says, GPIO2 is the same pin as VOL DOWN, and the EAPD pin is GPIO0. This is why the sound decreases if we set EAPD as GPIO2. This patch changes EAPD to GPIO0 to solve the problem. Signed-off-by: Chengu Wang <wangchengu@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda: warn on spurious responseWu Fengguang2009-08-031-1/+5
| | | | | | | | | | | | | | To help disclose hardware bugs. Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda: remember last command for each codecWu Fengguang2009-08-031-5/+6
| | | | | | | | | | Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda: read CORBWP inside reg_lockWu Fengguang2009-08-031-1/+3
| | | | | | | | | | | | | | This converts the last CORBWP access outside of reg_lock. Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda: take reg_lock in azx_init_cmd_io/azx_free_cmd_ioWu Fengguang2009-08-031-0/+4
| | | | | | | | | | | | | | | | Just for safety. azx_init_cmd_io() and azx_free_cmd_io() may be called when switching to single command mode. Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda: take cmd_mutex in probe_codec()Wu Fengguang2009-08-031-0/+2
| | | | | | | | | | | | | | | | | | | | Now that each codec will have its own module, it is possible for the user to load one codec while another one is running. So cmd_mutex would be a safe addition to probe_codec(). Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda: track CIRB/CORB command/response states for each codecWu Fengguang2009-08-033-24/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | Recently we hit a bug in our dev board, whose HDMI codec#3 may emit redundant/spurious responses, which were then taken as responses to command for another onboard Realtek codec#2, and mess up both codecs. Extend the azx_rb.cmds and azx_rb.res to array and track each codec's commands/responses separately. This helps keep good codec safe from broken ones. Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Fix quirk for Toshiba Satellite A135-S4527Takashi Iwai2009-08-031-1/+1
| | | | | | | | | | | | | | | | | | | | Use model=lenovo instead of model=dallas for Toshiba Satellite A135-S4527 with ALC861-VD codec. Reference: Novell bnc#526325 https://bugzilla.novell.com/show_bug.cgi?id=526325 Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Increase PCM stream name buf in patch_realtek.cTakashi Iwai2009-07-311-2/+2
| | | | | | | | | | | | | | The name buf with size 16 is too short for some codec names, e.g. truncated like "ALC861-VD Analo". Now the size is doubled. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda: add IbexPeak/Clarkdale HDMI model with static cvt/pin numberWu Fengguang2009-08-031-52/+52
| | | | | | | | | | | | | | | | The new IbexPeak HDMI codec has 3 pin nodes and 2 converter nodes. Here we assume only the first ones will be used. Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge branch 'topic/hda-cirrus' into topic/hdaTakashi Iwai2009-07-304-0/+1212
|\ \
| * | ALSA: hda - Enable HP output with Macbook Pro 5, 5Stelian Pop2009-07-301-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The patch below, to be applied on the latest sound-unstable-2.6.git, enables headphones output on my MacBookPro 5,5, together with the automuting feature. Here is the exact soundcard id: Vendor Id: 0x10134206 Subsystem Id: 0x106b4d00 Revision Id: 0x100301 Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - don't build digital output controls if not existTakashi Iwai2009-07-091-0/+3
| | | | | | | | | | | | Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Fix compile warnings in patch_cirrus.cTakashi Iwai2009-07-081-10/+5Star
| | | | | | | | | | | | Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Fix the speaker volume control nameTakashi Iwai2009-07-071-1/+1
| | | | | | | | | | | | | | | | | | | | | Increase the name string buffer size so that "Surround Speaker Playback Volume" won't be truncated. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Add GPIO setup for MacBook pro 5,5 with CS420xTakashi Iwai2009-07-071-13/+36
| | | | | | | | | | | | | | | | | | | | | GPIO3 seems corresponding to EAPD that is required for the speaker output. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Add quirk for MacBook Pro 5,5 with CS4206Takashi Iwai2009-07-061-0/+57
| | | | | | | | | | | | | | | | | | Add the default pin configs for MBP55. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Fix double creation of SPDIF input controlsTakashi Iwai2009-07-061-6/+3Star
| | | | | | | | | | | | Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Add CS420x-specific coef setupTakashi Iwai2009-07-061-0/+110
| | | | | | | | | | | | Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Force to initialize input mixer setup for CS420xTakashi Iwai2009-07-061-5/+7
| | | | | | | | | | | | Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Fix cirrus codec parsingTakashi Iwai2009-07-061-133/+198
| | | | | | | | | | | | | | | | | | | | | | | | The parser wasn't called in the proper order. Split now the parser to be called in patch_cirrus(), and the rest are just for building PCMs and controls. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Add Cirrus Logic CS420x supportTakashi Iwai2009-07-014-0/+955
| | | | | | | | | | | | Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | Merge branch 'fix/hda' into topic/hdaTakashi Iwai2009-07-302-2/+4
|\ \ \ | | |/ | |/|
| * | ALSA: hda: fix out-of-bound hdmi_eld.sad[] writeRoel Kluin2009-07-291-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | e->sad[] is declared with size ELD_MAX_SAD=16, but the guard allows range 0-31. Signed-off-by: Roel Kluin <roel.kluin@gmail.com> Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Add quirk for Dell Studio 1555Takashi Iwai2009-07-281-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Added a quirk entry for Dell Studio 1555. Reference: Novell bnc#525244 https://bugzilla.novell.com/show_bug.cgi?id=525244 Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - Add line-out jack detection on IDT/STAC codecsTakashi Iwai2009-07-301-14/+56
| | | | | | | | | | | | | | | | | | | | | Add the automatic mute of speakers via line-out jack plugging on STAC/IDT codecs. The feature is enabled when the HP detect is present. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - Fix typos of Capture controls.Takashi Iwai2009-07-301-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | The commit 6479c63188290beae83ade3243b9d6eb47d394b6 ALSA: hda - Create Capture controls dynamically introduced typos of "Capture". Fixed now. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda: add HP automute support to Intel ALC889/ALC889A modelsWu Fengguang2009-07-301-12/+35
| | | | | | | | | | | | | | | | | | | | | | | | It auto mutes all 8-channel outputs at rear panel when the front panel headphone is connected. Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda: add 2-channel mode to Intel ALC889/ALC889A modelsWu Fengguang2009-07-301-19/+25
| | | | | | | | | | | | | | | | | | | | | | | | This 2-channel mode is useful in that it will broadcast a 2-channel audio stream to all front/side/... ports. Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - No analog mix input source as default for IDT92HD71bxxTakashi Iwai2009-07-291-7/+16
| | | | | | | | | | | | | | | | | | | | | The analog mix is disabled now as default (unless "analog_mixer" hint is given), so it shoudn't appear in the digital input source as well. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - Add missing DMUX initialization for auto-mic with STAC/IDTTakashi Iwai2009-07-291-0/+3
| | | | | | | | | | | | | | | | | | | | | Added the missing initialization of DMUX connection (to analog input) for auto-mic mode with STAC/IDT codecs. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - Remove static connection in IDT 92HD71bxxTakashi Iwai2009-07-291-15/+2Star
| | | | | | | | | | | | | | | | | | | | | | | | We don't need any more static connection to the port F (which is often used for docking stations) since its connection is done dynamically via DAC assignment now. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - Support auto-mic switching with IDT/STAC codecTakashi Iwai2009-07-291-16/+154
| | | | | | | | | | | | | | | | | | | | | | | | Support the automatic mic-switching with some devices with IDT/STAC codecs. The condition is that the device has only two inputs, one for an external mic and one for an internal mic. Signed-off-by: Takashi Iwai <tiwai@suse.de>