aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/patch_sigmatel.c
AgeCommit message (Collapse)AuthorFilesLines
2009-08-10ALSA: hda - Fix Oops due to STAC/IDT auto-mic changesTakashi Iwai1-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>
2009-08-06ALSA: hda - Add quirks for some HP laptopsTakashi Iwai1-0/+2
The new HP laptops have PCI SSID 103c:701x and requires model=hp-dv5. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-08-04ALSA: hda - Fix line-out jack handling with STAC/IDT codecTakashi Iwai1-3/+1
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>
2009-08-03ALSA: hda - Fix line-out jack detectionTakashi Iwai1-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>
2009-08-03Merge branch 'fix/hda' into topic/hdaTakashi Iwai1-1/+8
2009-08-03ALSA: hda: Correct EAPD for Dell Inspiron 1525Chengu Wang1-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>
2009-07-30Merge branch 'fix/hda' into topic/hdaTakashi Iwai1-0/+2
2009-07-30ALSA: hda - Add line-out jack detection on IDT/STAC codecsTakashi Iwai1-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>
2009-07-30ALSA: hda - Integrate Digital Input Source to Input SourceTakashi Iwai1-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>
2009-07-30ALSA: hda - Fix typos of Capture controls.Takashi Iwai1-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>
2009-07-29ALSA: hda - No analog mix input source as default for IDT92HD71bxxTakashi Iwai1-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>
2009-07-29ALSA: hda - Add missing DMUX initialization for auto-mic with STAC/IDTTakashi Iwai1-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>
2009-07-29ALSA: hda - Remove static connection in IDT 92HD71bxxTakashi Iwai1-15/+2
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>
2009-07-29ALSA: hda - Support auto-mic switching with IDT/STAC codecTakashi Iwai1-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>
2009-07-29ALSA: hda - Avoid overwrite of jack events with STAC/IDTTakashi Iwai1-29/+30
Since only one event can be associated to a (pin) widget, it's safer to avoid the multiple mapping. This patch fixes the behavior of the STAC/IDT codec driver. Now stac_get_event() doesn't take the type argument but simply returns the first hit element. Then enable_pin_detect() checks the validity of the type, and returns non-zero only if a valid entry. The caller can call stac_issue_unsol_event() after checking the return value. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-07-28ALSA: hda - Don't create analog mixer for IDT92HD71bxxTakashi Iwai1-2/+4
The analog mixer unit on IDT 92HD71Bxx codecs is almost useless since we use only the direct connections from DAC to pin. Remove the controls to avoid unneeded confusion as default now. This can be still back via "analog_mixer = 1" hint. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-07-28ALSA: hda - Create Capture controls dynamicallyTakashi Iwai1-95/+125
Instead of static snd_kcontrol_new arrays, create "Capture Volume" and "Capture Switch" controls dynamically based on the mixer attr values (made via HDA_COMPOSE_AMP_VAL()). This reduces the code size and gives more flexibility to change the number of controls later. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-07-28ALSA: hda - Don't create unneeded digital input source for IDT 92HD71xTakashi Iwai1-6/+10
The current driver creates always the digital input source mixer elements for IDT 92HD71x codecs no matter whether digital mics are present. This patch adds the proper check to avoid the creation of these controls if unnecessary. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-07-28ALSA: hda - Reword information messages for BIOS auto-probing modeTakashi Iwai1-16/+18
The sentense "Unknown model for xxx, ..." makes people too nervous and drives them to a direction to a wrong "fix" by giving any mismatching model option. Let's rephrase the messages to be more nice and easy (at least that won't make people suspect conspiracies). Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-07-28ALSA: hda - Add quirk for Dell Studio 1555Takashi Iwai1-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>
2009-07-27ALSA: hda - Introduce get_wcaps_type() macroTakashi Iwai1-5/+3
Add a helper macro to retrieve the widget type from wiget cap bits. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-07-24Merge branch 'fix/hda' into topic/hdaTakashi Iwai1-3/+6
2009-07-22ALSA: hda-intel: Cleanups for widget connection list handlingJaroslav Kysela1-3/+5
This patch adds a check to snd_hda_get_connections() routine for presence of AC_WCAP_CONN_LIST. Also, make sure that negative error codes from noted route are handled on all places as errors. Signed-off-by: Jaroslav Kysela <perex@perex.cz> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-07-22ALSA: hda - Use snprintf() to be saferTakashi Iwai1-1/+1
Use snprint() for creating the jack name string instead of sprintf() in patch_sigmatel.c. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-07-22ALSA: hda - Reduce click noise at power-savingTakashi Iwai1-0/+14
Add some tricks to reduce the click noise at powering down to D3 in the power saving mode on STAC/IDT codecs. The key seems to be to reset PINs before the power-down, and some delay before entering D3. The needed delay is significantly long, but I don't know why. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-07-20ALSA: hda - Fix pin-setup for Sony VAIO with STAC9872 codecsTakashi Iwai1-2/+4
The recent rewrite of the codec parser for STAC9872 caused a regression for some Sony VAIO models that don't give proper pin default configs by BIOS. Even using model=vaio doesn't work because the pin definitions are set after the pin overrides. This patch fixes the pin definitions in patch_stac9872() to be put in the right place before the pin overrides. Also the patch adds the new quirk entry for VAIO F/S to have the correct pin default configs. Signed-off-by: Takashi Iwai <tiwai@suse.de> Cc: <stable@kernel.org>
2009-07-20ALSA: hda - Add quirk for Gateway T6834c laptopHao Song1-0/+1
Gateway T6834c laptops need EAPD always on while the default behavior for the STAC9205 reference board is to turn it off upon every HP plug. By using the special "eapd" model, which is first introduced for Gateway T1616 laptops for this same reason, this peculiarity can be properly handled. Signed-off-by: Hao Song <baritono.tux@gmail.com> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-07-04ALSA: hda - move 8086:fb30 quirk (stac9205) to the proper sectionHerton Ronaldo Krzesinski1-2/+2
Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-22ALSA: hda - Make jack-plug notification selectableTakashi Iwai1-3/+3
Make the jack-plug notification via input layer selectable via Kconfig. This is often unnecessary, and the similr function will be provided using the ALSA control API in near future anyway. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-22ALSA: hda - Fix unsigned comparison in patch_sigmatel.cTakashi Iwai1-2/+2
Fix the comparison of unsigned int that causes a compile warning below by changing to the right signed type: patch_sigmatel.c: In function ‘stac92xx_vref_set’: patch_sigmatel.c:658: warning: comparison of unsigned expression < 0 is always false Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-10ALSA: hda - add quirk for STAC92xx (SigmaTel STAC9205)Simos Xenitellis1-0/+3
A quirk is required for 8086:284b (rev 03) [Subsystem: 161f:2073]. The following has been tested with Alsa 1.0.20 (git master). Background details can be found at https://bugtrack.alsa-project.org/alsa-bug/view.php?id=4561 http://forum.ubuntu-gr.org/viewtopic.php?f=38&t=5290 Tested-by: Theodora Iliopoulou <th30dr@gmail.com> Signed-off-by: Simos Xenitellis <simos@gnome.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-02ALSA: hda - Limit codec-verb retry to limited hardwaresTakashi Iwai1-0/+9
The reset of a BUS controller during operations is somehow risky and shouldn't be done inevitably for devices that have apparently no such codec-communication problems. This patch adds the check of the hardware and limits the bus-reset capability. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-01ALSA: hda - Jack Mode changes for Sigmatel boardsNickolas Lloyd1-79/+140
This patch changes Line In as Out Switch and Mic In as Out Switch to enums for consistency, and causes all mic and line in ports to be probed and controls to be added appropriately. Signed-off-by: Nickolas Lloyd <ultrageek.lloyd@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-30ALSA: hda - Fix reverted LED setup for HPTakashi Iwai1-2/+2
The commit 86d190e77c44cb057742dcc871b12ebd4633c387 reverted the bit flip of LED GPIO for HP DX and DV4-1222nr. Fixed now. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-26Merge branch 'fix/hda' into topic/hdaTakashi Iwai1-0/+10
2009-05-26ALSA: hda - Minor clean up of patch_sigmatel.cTakashi Iwai1-32/+16
- Remove unneeded semicolons - Introduce spec->gpio_led to specify the GPIO bit for LED control Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-24ALSA: hda - Add 5stack-no-fp model for STAC927xTakashi Iwai1-0/+10
The recent fix for the headphone volume control on IDT/STAC codecs resulted in the removal of invalid "Side" volume eventually. But, if the front panel doesn't exist, this setup could be regarded as a sort of regression, as reported in kernel bug #13250. Now as a workaround, a new model 5stack-no-fp is added so that the user without the front panel can choose this one explicitly. Reference: bko#13250 http://bugzilla.kernel.org/show_bug.cgi?id=13250 Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-19ALSA: hda - Fix digital beep tone calculationTakashi Iwai1-0/+2
The digital beep tone is calculated in two different ways depending on the codec chip. The standard one is using a divider, and another one is a linear tone for IDT/STAC codecs. Currently, only the latter type is used for all codecs, which resulted in a wrong tone pitch. This patch adds the calculation of the standard HD-audio type. Also clean-up the fields in hda_beep struct. Reference: bko#13162 http://bugzilla.kernel.org/show_bug.cgi?id=13162 Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-15ALSA: hda - add controls to toggle DC bias on mic portsNickolas Lloyd1-4/+107
This patch adds a mixer control for the STAC92XX boards to control the DC bias of mic ports, allowing recording from both powered and non-powered sources. It replaces the "Mic Output Switch" with "Mic Jack Mode" to switch between Mic, Line In, and Line Out. Signed-off-by: Nickolas Lloyd <ultrageek.lloyd@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-08Merge branch 'fix/hda' into topic/hdaTakashi Iwai1-1/+6
2009-05-08ALSA: hda - Fix line-in on Mac Mini Core2 DuoTakashi Iwai1-1/+6
BIOS on Mac Mini Core2 Duo sets both INPUT and OUTPUT pinctl bits to the line-in jack, and it confuses the driver as if it's a valid input. This patch adds the check of OUTPUT bit so that the driver fixes the invalid pin setup. Tested-by: Tino Keitel <tino.keitel@gmx.de> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-04ALSA: hda - Addition for HP dv4-1222nr laptop supportJames Gardiner1-6/+38
Signed-off-by: James Gardiner <renidragsemaj@yahoo.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-04-16ALSA: hda - Fix headphone-detection on some machines with STAC/IDT codecsTakashi Iwai1-5/+5
When the headphone can have no unique DAC, the current code doesn't check the HP-detection although it should. Put the hp-detection check before the DAC check to fix this bug. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-04-14ALSA: hda - Avoid call of snd_jack_report at releaseTakashi Iwai1-5/+22
Don't call snd_jack_report at release of sigmatel and conexnat codecs which results in Oops at unloading the module. The Oops is triggered by the power-up sequence during the free due to the pincfg restoration. Since the power-up sequence is involved with the unsol handling, the jack reporting may be issued during that. The Oops occurs with this jack reporting because the jack instances have been already released but the codec doesn't do the proper book-keeping. This patch adds the book-keeping of jack instances to avoid the access to bogus pointers. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-04-07ALSA: hda - Add VREF powerdown sequence for another boardMatthew Ranostay1-0/+18
Add powerdown sequence for VREF using a shared jack when the headphone is present and the microphone isn't on. Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-04-06ALSA: Add 92HD81B1C device idMatthew Ranostay1-0/+2
Added device id in struct for codec 92HD81B1C (0x111d76d5). Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-23ALSA: hda - Use cached calls to get widget caps and pin capsTakashi Iwai1-2/+1
Replace with the standard function calls to use caches for reading the widget caps and pin caps. hda_proc.c is still using the direct verbs to get raw values as much as possible. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-23ALSA: hda - Cache pin-cap valuesTakashi Iwai1-4/+3
Added snd_hda_query_pin_caps() to read and cache pin-cap values to avoid too frequently issuing the same verbs. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-13ALSA: hda - Add another HP model with IDT92HD71bx codecTakashi Iwai1-0/+2
HP laptops require GPIO0 on as EAPD. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-12ALSA: hda - Add model=vaio for STAC9872Takashi Iwai1-2/+31
Add the default pin config for model=vaio (in case of broken BIOS). Signed-off-by: Takashi Iwai <tiwai@suse.de>