summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* ALSA: hda - Fix HP/line-out initialization with IDT/STAC codecsTakashi Iwai2009-09-141-3/+11
| | | | | | | | | | | It's possible that hp_detect is set even though no headphone pin is detected. The driver issues, however, an unsol event only to hp_pins[0], which can be invalid. This patch adds the check of the valid pin to send an unsol event at initialization and resume callbacks. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Set default GPIO for IDT92HD71bxxTakashi Iwai2009-09-141-1/+1
| | | | | | | A smiliar fix for IDT 92HD71Bxx codecs like the previous commit for other IDT/STAC codecs. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Set default GPIO for STAC/IDT codecsTakashi Iwai2009-09-141-20/+13
| | | | | | | | | | | | IDT92HD73xx and STAC927x codecs use GPIO0 bit as EAPD on many machines. However, currently we don't set it unless the model is specified just for safety reason. But, most machines do need this bit, so this safety handling is rather annoying. This patch enables GPIO0 setup as default for them. Many HP / Dell laptops should work even without model override with this change. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Add missing model=auto entry for ALC269Takashi Iwai2009-09-111-1/+2
| | | | Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Use auto model for HP laptops with ALC268 codecTakashi Iwai2009-09-081-1/+4
| | | | | | | | | The HP laptops with ALC268 codec seem working better with model=auto than model=toshiba; e.g. the auto model fixes missing digital outputs. Let's fix quirk entry to choose auto model explicitly. Tested-by: Jens Jorgensen <jbj1@ultraemail.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda/realtek: Added support for CLEVO M540R subsystem, 6 channel + digitalddiaz@cenditel.gob.ve2009-09-072-0/+81
| | | | | | | | | | | | | | | | | | | | | | | The model clevo-m540r was created with 6-channel and digital support. All functions verified except spdif. Tested with a VIT D2000 laptop which has: [lspci extract] Audio device [0403]: Intel Corporation 82801H (ICH8 Family) HD Audio Controller [8086:284b] (rev 03) Subsystem: CLEVO/KAPOK Computer Device [1558:5409] [/proc/asound/card0/codec\#0 header] Codec: Realtek ALC883 Address: 0 Function Id: 0x1 Vendor Id: 0x10ec0883 Subsystem Id: 0x15585409 Revision Id: 0x100002 [Added a comment about HP mute and the model description by tiwai] Signed-off-by: Dhionel Diaz <ddiaz@cenditel.gob.ve> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Add support of Alienware M17x laptopTakashi Iwai2009-09-022-0/+28
| | | | | | | | Added the quirk for Alienware M17x with IDT 92HD73* codec chip. It has two HP and one line-out jack, one mic jack, a built-in speaker and a built-in mic. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Remove dead codes from patch_sigmatel.cTakashi Iwai2009-09-021-132/+0
| | | | | | | Due to the previous fix of input source for IDT92HD73xx, the amp mux and amp vol stuff became unused. Let's rip off dead codes. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix input source selection of IDT92HD73xxTakashi Iwai2009-09-021-147/+4
| | | | | | | | | | Fix the mux_nids to select directly the input source instead of mux mixers so that it works with the current mux enum handler for IDT 92HD73xx codecs. Also, clean up useless / unnecessary mixer controls and init verbs. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix obsolete CONFIG_SND_DEBUG_DETECTTakashi Iwai2009-09-021-1/+1
| | | | | | Fix the old dead CONFIG_SND_DEBUG_DETECT to CONFIG_SND_DEBUG_VERBOSE. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Unmute docking line-out as default with AD1984A codecTakashi Iwai2009-09-011-0/+2
| | | | | | | Unmute the docking-station line-out as default on machines with AD1984A codec chip. It can be still muted via "Dock" mixer switch. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Add another entry for Nvidia HDMI deviceTakashi Iwai2009-09-011-0/+2
| | | | | | | | | Added another entry for Nvidia HDMI device (10de:0003). Reference: kernel bug#14097 http://bugzilla.kernel.org/show_bug.cgi?id=14097 Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Add missing GPIO initialization for AD1984A laptop modelTakashi Iwai2009-08-311-0/+4
| | | | | | | A similar initialization of GPIO1 pin like mobile model is needed for laptop model, too. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Add support of docking auto-mute/mic for AD1984A laptop modelTakashi Iwai2009-08-311-40/+81
| | | | | | | Add the support of automatic mute and mic-switching of the docking station HP and mic plugs for AD1984A laptop model for some HP machines. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* Merge branch 'fix/hda' into topic/hdaTakashi Iwai2009-08-312-14/+21
|\ | | | | | | | | Conflicts: sound/pci/hda/patch_realtek.c
| * ALSA: hda - Fix MacBookPro 3,1/4,1 quirk with ALC889ATakashi Iwai2009-08-311-14/+20
| | | | | | | | | | | | | | | | | | | | | | | | This patch fixes the wrong headphone output routing for MacBookPro 3,1/4,1 quirk with ALC889A codec, which caused the silent headphone output. Also, this gives the individual Headphone and Speaker volume controls. Reference: kernel bug#14078 http://bugzilla.kernel.org/show_bug.cgi?id=14078 Signed-off-by: Takashi Iwai <tiwai@suse.de> Cc: <stable@kernel.org>
| * ALSA: hda - Add missing mux check for VT1708Takashi Iwai2009-08-311-0/+1
| | | | | | | | | | | | | | | | | | | | | | In patch_vt1708(), the check of MUX nids is missing and this results in the -EINVAL error in accessing Input Source mixer element. Simpliy adding the call of get_mux_nids() fixes the problem. Reference: Novell bnc#534904 https://bugzilla.novell.com/show_bug.cgi?id=534904 Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Fix ALC268/ALC269 headphone pin routingTakashi Iwai2009-08-311-5/+41
| | | | | | | | | | | | | | | | | | Fix the headphone pin routing of ALC268/ALC269 codecs. Using alc882 routine doesn't work because alc268/alc269 parser assumes the independent DACs for both HP and speaker outputs. Need to assign the DAC depending on the pin. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Create "Digital Mic Capture Volume" correctly for IDT codecsTakashi Iwai2009-08-291-7/+23
| | | | | | | | | | | | | | | | | | So far, the digital mic capture volume wasn't created. This is because IDT codecs have output amps for digital mics, not input amps, while input amps should be used for other analog pins. Thus the automatic capture volume creation should check both directions for digital mics. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Add more quirk for HP laptops with AD1984ATakashi Iwai2009-08-271-0/+1
| | | | | | | | | | | | More entries for HP laptops to get them working properly. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Add / fix model entries for HD-audio driverTakashi Iwai2009-08-251-1/+12
| | | | | | | | Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Add full audio support on Acer Aspire 7730G notebookDenis Kuplyakov2009-08-251-0/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1) Added support of internal subwoofer (it sounds!!!) 2) Auto muting front speakers and internal subwoofer on headphones plug. 3) Internal mic works. 4) 3 channel mods (jack maps): black pink blue 2ch: front ext mic line in 4ch: front ext mic surround 6ch: front CLFE surround Can be changed in mixer. 5) Sound can be recorded from: Internal mic Ext mic Cd Line in 6) 2 separate capture channels. Signed-off-by: Denis Kuplyakov <dener.kup@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Improve auto-cfg mixer name for ALC662Takashi Iwai2009-08-251-2/+14
| | | | | | | | | | | | | | The last patch in this series is for ALC662; pretty similar as the previous patch for ALC861-VD. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Improve auto-cfg mixer name for ALC861-VDTakashi Iwai2009-08-251-2/+14
| | | | | | | | | | | | | | | | | | | | One more patch to give a better name for the primary output controls, this time for ALC861-VD codec. The change is simple, just checking the pin connection whether it's a speaker-out. When both speaker and HP are assigned, we name the volume as "PCM" as this influences on both outputs. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Improve auto-cfg mixer name for ALC262Takashi Iwai2009-08-251-63/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Similar improvements for ALC262 codec like previous two commits: assign a better name, either Master or Speaker, for the primary output controls. However, in the case of ALC262 codec, the necessary changes are larger than others because we need to check the possibility of different mixer amps depending on the pins. The pin 0x16 is mono, and bound with the dedicated mixer 0x0e while other pins are bound with 0x0c. Thus, there are two possible volumes. When only one of them is used, we can name it as "Master". OTOH, when both are used at the same time, they have to be named uniquely. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Improve auto-cfg mixer name for ALC260Takashi Iwai2009-08-251-1/+8
| | | | | | | | | | | | | | | | Instead of fixed "Front" mixer name, try to assign a better name, e.g. "Master" or "Speaker" fot the primary output volume controls of ALC260 codec. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Improve auto-cfg mixer name for ALC880Takashi Iwai2009-08-251-2/+8
| | | | | | | | | | | | | | When there is only one DAC is used for ALC880, try to assign a better name, either Speaker or Front, depending on the output pin type. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Generalize input pin parsing in patch_realtek.cTakashi Iwai2009-08-251-222/+134
| | | | | | | | | | | | | | | | | | Provide a standard parser for input pins to create the input mixer and input source controls instead of having a difference one for each Realtek codec. The new helper parses the codec connections dynamically isntead of fixed indicies. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Reuse ALC268 parser for ALC269Takashi Iwai2009-08-241-81/+2
| | | | | | | | | | | | | | | | Reuse a part of the code of ALC268 parser for ALC269. This will change the default output volume either to Front or Speaker depending on the pin configuration. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda: move open coded tricks into get_wcaps_channels()Wu Fengguang2009-08-243-5/+12
| | | | | | | | | | Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge branch 'fix/hda' into topic/hdaTakashi Iwai2009-08-191-2/+13
|\|
| * ALSA: hda - Fix probe of Toshiba laptops with ALC268 codecTakashi Iwai2009-08-191-2/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are many variants of Toshiba laptops with ALC268 codec, and it seems that a few of them don't work with model=toshiba preset since they have the secondary ALC268 codec just for HDMI output. This is a regression due to the previous clean-up work to merge all Toshiba quirk entries into a single check. This patch adds the identification of such laptops to apply the standard BIOS-probing method. Unfortunately, Toshiba laptops have all the same PCI SSID, so we need to check the codec SSID to identify each device. Tested-by: Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge branch 'fix/hda' into topic/hdaTakashi Iwai2009-08-192-2/+10
|\|
| * ALSA: hda: add model for Intel DG45ID/DG45FC boardsWu Fengguang2009-08-191-0/+6
| | | | | | | | | | | | | | The BIOS pin configs are in fact correct and shall not be overwritten. Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda: enable speaker output for Compaq 6530s/6531sWu Fengguang2009-08-191-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | HP Compaq 6530s and 6531s internal speaker is silence or becomes silence within 1 minute after fresh boot. It is found that pin 0x1c must be set to PIN_OUT mode to make the speaker work. This is weird - line-in pin 0x1c and speaker pin 0x16 seem to be unrelated. The codec differences before/after patch are: @@ Node 0x17 [Pin Complex] wcaps 0x40020b: Pin Default 0x41a6e130: [N/A] Mic at Ext Rear Conn = Digital, Color = White DefAssociation = 0x3, Sequence = 0x0 Misc = NO_PRESENCE - Pin-ctls: 0x24: IN + Pin-ctls: 0x40: OUT @@ Node 0x1c [Pin Complex] wcaps 0x40018d: Pin Default 0x41813021: [N/A] Line In at Ext Rear Conn = 1/8, Color = Blue DefAssociation = 0x2, Sequence = 0x1 - Pin-ctls: 0x24: IN VREF_80 + Pin-ctls: 0x40: OUT VREF_HIZ Unsolicited: tag=00, enabled=0 Connection: 1 0x24 Tests show that it won't impact (external) Mic recording. Reported-by: "Lin, Ming M" <ming.m.lin@intel.com> Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Fix invalid capture mixers with some ALC268 modelsTakashi Iwai2009-08-191-31/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The auto-mic clean-up patches caused regressions on some ALC268 models that have no proper input_mux but with "Input Source" mixer elements. Such a combination results in Oops when accessed. [A reason why set_capture_mixer() isn't used in patch_alc268() is that ALC268 codec have HDA_OUTPUT direction for capture volumes unlike other codecs. Thus it needs own definitions of capture elements.] This patch fixes the issues: - Add a capture mixer definition without input-source - Use the new capture mixer appropriately Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Add missing num_adc_nids definition for IDT92HD8xxxTakashi Iwai2009-08-151-0/+1
| | | | | | | | | | | | | | The previous fix removed the definition of num_adc_nids wrongly, and this resulted in the missing input-source control. Now readded again. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Fix / clean up IDT92HD83xxx codec parserTakashi Iwai2009-08-131-80/+69
| | | | | | | | | | | | | | | | | | | | | | A few improvements for IDT 92HD83xxx codec pareser: - Remove unused / deprecated mixer-amp controls - Handle d-mics as normal inputs since this codec has no separate MUXes for analog and digital - Don't create duplicated controls for capture volumes with Mux capture volumes Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge branch 'topic/hda-dmic-fix' into topic/hdaTakashi Iwai2009-08-131-109/+59
|\ \
| * | ALSA: hda - Integrate Digital Input Source to Input SourceTakashi Iwai2009-07-301-109/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | STAC/IDT codecs provide both "Input Source" and "Digital Input Source" controls to choose the analog input source and the digital input source. But this is far user-unfriendly. This patch merges the input source selections into one "Input Source" control. To have separate digital and analog input source controls, you can pass "separate_dmux = 1 " hint string. At the same time, this patch gets rid of analog mixer stuff that was already disabled in previous patches. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - Enable line-out detection only with speakersTakashi Iwai2009-08-131-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Enable line-out detection for IDT/STAC codecs only when speaker pins exist. In some cases, the speaker itself is identified as line-out, and this confuses the situation. Only the extra line-outs should do auto-muting. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | 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/+310
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>