aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/patch_sigmatel.c
Commit message (Collapse)AuthorAge
* ALSA: hda - Add 5stack-no-fp model for STAC927xTakashi Iwai2009-05-24
| | | | | | | | | | | | | | | 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>
* ALSA: hda - Fix line-in on Mac Mini Core2 DuoTakashi Iwai2009-05-08
| | | | | | | | | | | 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>
* ALSA: hda - Fix headphone-detection on some machines with STAC/IDT codecsTakashi Iwai2009-04-16
| | | | | | | | 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>
* ALSA: hda - Avoid call of snd_jack_report at releaseTakashi Iwai2009-04-14
| | | | | | | | | | | | | | | | | 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>
* ALSA: hda - Add VREF powerdown sequence for another boardMatthew Ranostay2009-04-06
| | | | | | | | 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>
* ALSA: Add 92HD81B1C device idMatthew Ranostay2009-04-05
| | | | | | | 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>
* ALSA: hda - Use cached calls to get widget caps and pin capsTakashi Iwai2009-03-23
| | | | | | | | | | 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>
* ALSA: hda - Cache pin-cap valuesTakashi Iwai2009-03-23
| | | | | | | 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>
* ALSA: hda - Add another HP model with IDT92HD71bx codecTakashi Iwai2009-03-13
| | | | | | HP laptops require GPIO0 on as EAPD. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Add model=vaio for STAC9872Takashi Iwai2009-03-12
| | | | | | Add the default pin config for model=vaio (in case of broken BIOS). Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix coding style issues in last two patchesTakashi Iwai2009-03-10
| | | | | | Also re-ordered the quirk entries per SSID. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Rework on patch_sigmatel.c for HP HDX16/HDX18Christoph Plattner2009-03-10
| | | | | | | | Code rework, comments of mail tiwai@suse.de (2009-03-09) incorporated. Code tested on HP HDX16 (not tested on HDX18 yet). Signed-off-by: Christoph Plattner <christoph.plattner@gmx.at> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Added HP HDX16/HDX18 notebook support for HDA codecs (82HD71)Christoph Plattner2009-03-10
| | | | | | | | | Added codec recognition of HP HDX platforms and added support of the MUTE LED (orange/white). For this feature the CONFIG_SND_HDA_POWER_SAVE is needed to use event handling for mute control. Signed-off-by: Christoph Plattner <christoph.plattner@gmx.at> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Assign HP and speaker DACs before mic/line-inTakashi Iwai2009-03-06
| | | | | | | | Assign DACs to HP and speaker before mic-in/line-in shared outputs. This improves the usability as it results in more intuitive mixer names. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Connect to primary DAC if no individual DAC is availableTakashi Iwai2009-03-06
| | | | | | | | In stac92xx_auto_fill_dac_nids[], connect to the primary DAC if no individual DAC is available for each pin. This ensures that the pin works somehow at least. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Create multiple HP / speaker controls with indexTakashi Iwai2009-03-06
| | | | | | | Create multiple "Headphone" and "Speaker" controls with non-zero index numbers instead of "Headphone2", etc. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Create output controls according to pin types for IDT/STACTakashi Iwai2009-03-06
| | | | | | | | | | | Improve the parser to pick up more intuitive control names for the outputs judging from the pin type, instead of fixed names assigned to channels. Also, revive the multi-HP workaround since this change fixes the problem with the multi-HP detection. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* Merge branch 'fix/hda' into topic/hdaTakashi Iwai2009-03-06
|\
| * ALSA: hda - Fix headphone-detect regression with multiple HP jacksTakashi Iwai2009-03-06
| | | | | | | | | | | | | | | | | | | | | | | | | | The recent changes over the DAC detection mechanism in patch_sigmatel.c breaks the HP detection on the machines with multiple HP jacks. It's basically because of the workaround to support the multi-channel output. Since the HP detection is more important feature, disable the HP-swap workaroud temporarily. Reference: Novell bnc#482052 https://bugzilla.novell.com/show_bug.cgi?id=482052 Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Fix typos in slave controls in patch_sigmatel.cTakashi Iwai2009-03-06
| | | | | | | | | | | | | | "Headphone Playback ..." appears twice in slave_vols[] and slave_sws[]. They should be "Headphone Playback2 ..." Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Add more hint options for IDT/Sigmatel codecsTakashi Iwai2009-03-02
| | | | | | | | | | | | | | | | | | | | | | Allow more options to be set/reset via hwdep hint entry. hp_detect, gpio_mask, gpio_dir, gpio_data, eapd_mask and eapd_switch can be checked. For example, to disable hp_detect on the fly, # echo "hp_detect=0" > /sys/class/sound/hwC0D0/hints Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Create "Analog Loopback" controls optionallyTakashi Iwai2009-03-02
| | | | | | | | | | | | | | | | Don't create "Analog Loopback" controls as default since these controls are usually more harmful than useful for normal users. Only created when "loopback = yes" hint is given. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge branch 'fix/hda' into topic/hdaTakashi Iwai2009-02-27
|\| | | | | | | | | Conflicts: sound/pci/hda/patch_realtek.c
| * ALSA: hda - Fix digital mic on dell-m4-1 and dell-m4-3Takashi Iwai2009-02-27
| | | | | | | | | | | | | | | | Fix num_dmuxes initialization for dell-m4-1 and dell-m4-3 models of IDT 92HD71bxx codec, which was wrongly set to zero. Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Add model=auto for STAC/IDT codecsTakashi Iwai2009-02-26
| | | | | | | | | | | | | | | | Added the model=auto to STAC/IDT codecs to use the BIOS default setup explicitly. It can be used to disable the device-specific model quirk in the driver. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Remove IDT codec-specific pin save/restore functionsTakashi Iwai2009-02-20
| | | | | | | | | | | | Removed its own save/restore functions and replaced with the common code. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Cleanup IDT92HD7x HP quirksTakashi Iwai2009-02-16
| | | | | | | | | | | | Clean up IDT92HD7x quirks for HP laptops with SND_PCI_QUIRK_MASK(). Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Fix speaker output on HP DV4 1155-SEHerton Ronaldo Krzesinski2009-02-16
| | | | | | | | | | | | | | | | | | | | | | | | | | Force speaker pin config with model=hp-dv5 model for cases when bios doesn't set it up properly. All reported hp laptops using model=hp-dv5 model have speaker at pin 0x0d with same config, so it's safe to add this within hp-dv5 model. Reference: alsa-devel mailing list thread on http://mailman.alsa-project.org/pipermail/alsa-devel/2009-February/014390.html Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge branch 'fix/hda' into topic/hdaTakashi Iwai2009-02-13
|\|
| * ALSA: hda - Add snd_hda_multi_out_dig_cleanup()Takashi Iwai2009-02-13
| | | | | | | | | | | | | | | | | | | | | | | | Added the helper function snd_hda_multi_out_dig_cleanup() to clean up the digital outputs with multi setup. This call is needed in cases the codec supports multiple digital outputs as slaves. Otherwise the slave widgets aren't properly cleaned up. For a single digital output (e.g. in patch_conexant.c), this call isn't needed. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge branch 'fix/hda' into topic/hdaTakashi Iwai2009-02-13
|\|
| * ALSA: hda - Change HP dv7 (103c:30f4) quirk from hp-m4 to hp-dv5 modelHerton Ronaldo Krzesinski2009-02-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change HP dv7 quirk: although reported to work with hp-m4 model (https://bugzilla.novell.com/show_bug.cgi?id=445321), the original report doesn't contain info about testing of internal microphone. Recently I received a report about internal mic not working (https://qa.mandriva.com/show_bug.cgi?id=44855#c193), this must be related with the forced line in on pin 0x0e done with hp-m4 model. Thus change the current quirk from STAC_HP_M4 to STAC_HP_DV5, later reported to be fixed on a provided kernel with this change (https://qa.mandriva.com/show_bug.cgi?id=44855#c196). Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda: Add STAC_DELL_S14 quirkMatthew Ranostay2009-02-13
| | | | | | | | | | | | | | | | | | Add STAC_DELL_S14 quirk for new laptop series. Removed un-needed pins in pin_nids for stac92hd83xxx. Also reorganized connection selection code for the respective ports per quirk define. Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Cleanup setting of pin_configs in patch_stac927xHerton Ronaldo Krzesinski2009-02-11
| | | | | | | | | | | | | | | | | | | | | | After commit "ALSA: hda - Fix restore of pin configs at resume for STAC/IDT codecs", the introduced stac_save_pin_cfgs function checks already for pins == NULL case, saving then default pin configs from machine with stac92xx_save_bios_config_regs. So we can remove the extra checks when stac927x_brd_tbl[spec->board_config] == NULL. Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Detect multiple digital-out pinsTakashi Iwai2009-02-11
| | | | | | | | | | | | | | | | | | Detect multiple digital-out pins in snd_hda_parse_pin_defconfig(). The dig_out_pin and dig_out_type fields become arrays. The codec parser still doesn't use this multiple pins detection, though. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Clean up quirk listsTakashi Iwai2009-02-09
| | | | | | | | | | | | | | Clean up quirk lists with bit masks. Also, sorted in numerical order for alc662_cfg_tbl[]. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Don't touch non-existent port f on 4-port 92hd71bxx codecsHerton Ronaldo Krzesinski2009-02-09
| | | | | | | | | | | | | | | | | | | | When checking for input amps on pins 0x0a, 0x0d and 0x0f, and initializing them for 92hd71xxx codec models, we must skip nid 0x0f for 4-port models too like with 5-port models, as it is unused (nid 0x0f is vendor reserved in 4-port models). Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Bind new ecs mobo id (1019:2950) to model=ecs202Herton Ronaldo Krzesinski2009-02-09
| | | | | | | | | | | | | | | | This adds a new sound quirk entry (model=ecs202) for an ecs motherboard with IDT STAC9221 codec (1019:2950). Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda: Added stac378x digital slave out structMatthew Ranostay2009-02-05
| | | | | | | | | | | | | | | | Added the ADATOut nid to a slave digital outs struct to allow output via the DigOut pin. Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Don't call stac92xx_parse_auto_config with wrong dig_inHerton Ronaldo Krzesinski2009-02-05
| | | | | | | | | | | | | | | | Don't use uneeded/wrong third parameter for stac92xx_parse_auto_config in patch_stac92hd71bxx (no SPDIF in). Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Dynamic detection of dmics/dmuxes/smuxes in stac92hd71bxxHerton Ronaldo Krzesinski2009-02-05
| | | | | | | | | | | | | | | | | | | | Detect the number of connected ports and number of smuxes dynamically, looking at pin configs, using new introduced functions stac92hd71bxx_connected_ports and stac92hd71bxx_connected_smuxes. Also use proper input mux configuration for 4port and 5port models. Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Additional pin nids for STAC92HD71Bx and STAC92HD75Bx codecsHerton Ronaldo Krzesinski2009-02-05
| | | | | | | | | | | | | | | | | | | | | | Current code for STAC92HD71Bx and STAC92HD75Bx doesn't consider pin complexes 0x20 and 0x27. Also for 4 port models, nids 0x0e and 0x0f are vendor reserved. This commit changes code so it'll consider the additional pin complexes for models that have it, and avoid reserved nids to be touched on 4 port models. Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge branch 'fix/hda' into topic/hdaTakashi Iwai2009-02-02
|\|
| * ALSA: hda - Add quirk for another HP dv5 modelTakashi Iwai2009-01-30
| | | | | | | | | | | | | | | | | | Added model=hp-dv5 for another HP dv5 model with AMD chip (103c:3600) Reference: kernel bug#12440 http://bugzilla.kernel.org/show_bug.cgi?id=12440 Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda: 92hd71xxx disable unmute support for codecs that don't have input ↵Matthew Ranostay2009-01-26
| | | | | | | | | | | | | | | | | | | | | | | | amps Some revisions of the 92hd71xxx codec families don't have input amps on ports 0xa, 0xd and 0xf, so probe the widget caps on port 0xa and check for support, if found run snd_hda_sequence_write_cache() on the stac92hd71xxx_unmute_core_init verb list. Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Create "Input Source" control dynamically for STAC/IDTTakashi Iwai2009-01-23
| | | | | | | | | | | | | | | | Instead of fixed kcontrol_new element, build "Input Source" controls dynamically. If the number of input-source items is 0 or 1, we don't need to create such a control. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge branch 'fix/hda' into topic/hdaTakashi Iwai2009-01-23
|\|
| * ALSA: hda - Fix PCM reference NID for STAC/IDT analog outputsTakashi Iwai2009-01-23
| | | | | | | | | | | | | | | | | | | | | | The reference NID for the analog outputs of STAC/IDT codecs is set to a fixed number 0x02. But this isn't always correct and in many codecs it points to a non-existing NID. This patch fixes the initialization of the PCM reference NID taken from the actually probed DAC list. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Add model=ref for Intel board with STAC9221Takashi Iwai2009-01-23
| | | | | | | | | | | | | | | | | | An intel board (8086:0204) works only with model=ref. Reference: Novell bug #406529 https://bugzilla.novell.com/show_bug.cgi?id=406529 Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda: add reference board SND_PCI_QUIRKMatthew Ranostay2009-01-23
| | | | | | | | | | | | | | | | Add another LanParty reference board SND_PCI_QUIRK to quirk lists of all codec families. Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>