aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/patch_sigmatel.c
Commit message (Collapse)AuthorAge
...
* | | ALSA: hda - Use more distinct name for a unique volume in STAC/IDTTakashi Iwai2008-12-19
| | | | | | | | | | | | | | | | | | | | | | | | When the line_out has only one DAC and it's unique (i.e. not shared by other outputs), assign a more reasonable and distinct mixer name such as "Headphone" or "Speaker". Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - Rework on STAC/IDT auto-configuration codeTakashi Iwai2008-12-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current auto-configuration code has several problems especially for the new IDT codecs, e.g. wrong assignment of pins and DACs or coupled volume for speaker and headphone. This patch is a fairly large rewrite of the auto-configuration code. Some remaks - mic_switch and line_switch contain NIDs instead of bool - dac_list isn't fixed for IDT 92HD* codecs now, they are all probed - extra HP and speakers are stored in extra_dacs[]. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | Merge branch 'fix/hda' into topic/hdaTakashi Iwai2008-12-19
|\| |
| * | ALSA: hda - Remove non-working headphone control for Dell laptopsTakashi Iwai2008-12-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous commit re-enabled hp_nid setup for IDT92HD73*, but it's unneeded indeed for Dell laptops that have multiple headphones. Setting the extra hp_nid results in a non-working "Headpohne" mixer control. Thus hp_nid should be 0 for these dell models. Also, the automatic addition of hp_nid should check whether it's a dual-HP model or not. For dual-HPs, the pins are already checked by the early workaround. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - Use snd_hda_ctl_add() in patch_sigmatel.cTakashi Iwai2008-12-19
| | | | | | | | | | | | | | | | | | | | | Fixed the call of snd_ctl_add() by replacing with snd_hda_ctl_add() so that this mixer element can be tracked for re-configuration. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | Merge branch 'fix/hda' into topic/hdaTakashi Iwai2008-12-19
|\| |
| * | ALSA: hda - Add no-jd model for IDT 92HD73xxTakashi Iwai2008-12-19
| | | | | | | | | | | | | | | | | | | | | | | | Added the model without the jack-detection for some desktops that have really no jack-detection. The recent driver caused regressions regarding the sound output on such machines. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: Revert "ALSA: hda: removed unneeded hp_nid references"Takashi Iwai2008-12-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 07f455f779acfb3eba4921fd1399761559b10fa9. ALSA: hda: removed unneeded hp_nid references Removed unneeded hp_nid references for 92hd73xx codec family. This caused the silent output on some Intel desktops due to missing routing of widget 0x0a and 0x0d. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Add quirk for Dell Studio 17Joerg Schirottke2008-12-19
| | | | | | | | | | | | | | | | | | | | | Added the matching model=dell-m6 for Dell Studio 17 laptop. Signed-off-by: Joerg Schirottke <master@kanotix.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Fix silent HP output on D975Takashi Iwai2008-12-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some desktops seems to have no HP/mic jack detection on the front panel, which results in the silent output in the recent driver, because the driver mutes the output (to save power) when no plug is detected. This patch adds a new model that disables the jack-detection. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - Proper power-map toggling for input pinsTakashi Iwai2008-12-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current code overrides the event type on input pins always to PWR_EVENT. Although this still works (PWR_EVENT and INSERT_EVENT are handled samely), it'd be better to avoid such overrides. Also, currently the unsol events are registered even for fixed pins which will never raise the pin-detection event. This patch fixes both issues. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - Fix pin-detection in patch_sigmatel.cTakashi Iwai2008-12-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The pin-detection function used in patch_sigmatel.c shouldn't be specific to HP pin because it's used for input pins in general, too. This patch fixes the detection function, removes the HP check from it and moves to stac92xx_hp_detect(). Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | Merge branch 'topic/hda-modularize' into topic/hdaTakashi Iwai2008-12-03
|\ \ \ | | |/ | |/|
| * | ALSA: hda - Modularize HD-audio driverTakashi Iwai2008-11-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Split the monolithc HD-audio driver into several pieces: - snd-hda-intel HD-audio PCI controller driver; loaded via udev - snd-hda-codec HD-audio codec bus driver - snd-hda-codec-* Specific HD-audio codec drivers When built as modules, snd-hda-codec (that is invoked by snd-hda-intel) looks up the codec vendor ID and loads the corresponding codec module automatically via request_module(). When built in a kernel, each codec drivers are statically hooked up before probing the PCI. This patch adds appropriate EXPORT_SYMBOL_GPL()'s and the module information for each driver, and driver-linking codes between codec-bus and codec drivers. TODO: - Avoid EXPORT_SYMBOL*() when built-in kernel - Restore __devinit appropriately depending on the condition Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - Remove unnecessary caches for power states in patch_sigmatel.cTakashi Iwai2008-12-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The power-state changes in patch_sigmatel.c are accessed via *_cached() but they shouldn't be really cached. Fixed to the normal write. Also, stac92hd71xx_suspend and resume are no longer necessary as the power-state changes are handled properly in the common routine. Removed these hacks now. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - Use amp cache for SPDIF mute controls in patch_sigmatel.cTakashi Iwai2008-12-01
| | | | | | | | | | | | | | | | | | | | | | | | The amp switch of SPDIF outputs have to be cached in the amp cache instead of codec cache. Otherwise it conflicts with the IEC958 playback switch control in hda_codec.c. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - Add IDT/STAC-specific proc outputTakashi Iwai2008-11-28
|/ / | | | | | | | | | | | | Added power-map and analog-loopback information to proc output for IDT/STAC codecs. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge branch 'topic/fix/hda' into topic/hdaTakashi Iwai2008-11-25
|\| | | | | | | | | Conflicts: sound/pci/hda/patch_sigmatel.c
| * ALSA: hda - Check model for Dell 92HD73xx laptopsTakashi Iwai2008-11-25
| | | | | | | | | | | | | | | | Check the model type instead of PCI SSID for detection of the mic types on Dell laptops with IDT 92HD73xx codecs. In this way, a new laptop can be tested via model module option. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - mark Dell studio 1535 quirkTakashi Iwai2008-11-25
| | | | | | | | | | | | | | Fixed the quirk string for Dell studio 1535 (the product name wasn't published at the time the patch was made). Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - No 'Headphone as Line-out' swich without line-outsTakashi Iwai2008-11-25
| | | | | | | | | | | | | | | | STAC/IDT driver creates "Headphone as Line-Out" switch even if there is no line-out pins on the machine. For devices only with headpohnes and speaker-outs, this switch shouldn't be created. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Assign unsol tags dynamically in patch_sigmatel.cTakashi Iwai2008-11-25
| | | | | | | | | | | | | | | | | | | | | | | | Since we need to handle many unsolicited events assigned to different widgets, allocate the event dynamically using the existing events array, and use the tag appropriately instead of combination of fixed number and widget nid. (Note that widget nid can be over 4 bits!) Also, replaced the call of unsol_event handler with a dedicated function to be more readable. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge branch 'topic/fix/hda' into topic/hdaTakashi Iwai2008-11-25
|\| | | | | | | | | Conflicts: sound/pci/hda/patch_sigmatel.c
| * ALSA: hda - Fix AFG power management on IDT 92HD* codecsTakashi Iwai2008-11-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The AFG pin power-mapping isn't properly set for the fixed I/O pins on IDT 92HD* codecs. This resulted in the low power mode after the boot until any jack detection is executed, thus no output from the speaker. This patch fixes the power mapping for the fixed pins, and also fixes the GPIO bits and digital I/O pin settings properly in stac92xx_ini(). Reference: Novell bnc#446025 https://bugzilla.novell.com/show_bug.cgi?id=446025 Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - No 'Headphone as Line-out' swich without line-outsTakashi Iwai2008-11-24
| | | | | | | | | | | | | | | | STAC/IDT driver creates "Headphone as Line-Out" switch even if there is no line-out pins on the machine. For devices only with headpohnes and speaker-outs, this switch shouldn't be created. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge branch 'topic/fix/hda' into topic/hdaTakashi Iwai2008-11-21
|\|
| * ALSA: hda - Add a quirk for Dell Studio 15Takashi Iwai2008-11-21
| | | | | | | | | | | | Added the matching model=dell-m6 for Dell Studio 15 laptop. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - mark Dell studio 1535 quirkTakashi Iwai2008-11-21
| | | | | | | | | | | | | | Fixed the quirk string for Dell studio 1535 (the product name wasn't published at the time the patch was made). Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Fix double free of jack instancesTakashi Iwai2008-11-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The jack instances created in patch_sigmatel.c may be double-freed. The device management code checks the invalid element, and thus there is no real breakage, but it spews annoying warning messages. But, we can't simply remove the release calls of these jack instances because they have to be freed when the codec is re-configured. Now, a new flag, bus->shutdown is introduced to indicate that the bus is really being unloaded, i.e. the objects managed by the device manager will be automatically deleted. We release these objects only when this flag isn't set. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge branch 'topic/fix/hda' into topic/hdaTakashi Iwai2008-11-21
|\| | | | | | | | | Conflicts: sound/pci/hda/patch_sigmatel.c
| * ALSA: hda: Add STAC_DELL_M4_3 quirkMatthew Ranostay2008-11-21
| | | | | | | | | | | | | | | | | | Added STAC_DELL_M4_3 quirk for Dell systems, also reorganized the board config switch to assign number of digital muxes, microphones, and SPDIF muxes via the PCI quirk defined. Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda: STAC_DELL_M6 EAPDMatthew Ranostay2008-11-20
| | | | | | | | | | | | | | | | | | | | | | | | Add support for EAPD on system suspend and disabling EAPD on headphone jack detection for STAC_DELL_M6 laptops. This patch fixes the regressions, the silent output on HP of some Dell laptops (see Novell bnc#446025): https://bugzilla.novell.com/show_bug.cgi?id=446025 Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda: EAPD mute on suspendMatthew Ranostay2008-11-19
| | | | | | | | | | | | | | | | Moved support for EAPD mute on suspend from stac92hd71xx_suspend to the generic stac92xx_suspend function. Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge branch 'topic/fix/hda' into topic/hdaTakashi Iwai2008-11-18
|\|
| * ALSA: hda - Fix resume of GPIO unsol event for STAC/IDTTakashi Iwai2008-11-18
| | | | | | | | | | | | | | Use cached write for setting the GPIO unsolicited event mask to be restored properly at resume. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Add quirks for HP Pavilion DV modelsTakashi Iwai2008-11-18
| | | | | | | | | | | | | | | | | | | | Added the quirk entries for HP Pavilion DV5 and DV7 with model=hp-m4. Reference: Novell bnc#445321, bnc#445161 https://bugzilla.novell.com/show_bug.cgi?id=445321 https://bugzilla.novell.com/show_bug.cgi?id=445161 Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Fix GPIO initialization in patch_stac92hd71bxx()Takashi Iwai2008-11-18
| | | | | | | | | | | | | | Fixed the GPIO mask and co initialization in patch_stac92hd71bxx() so that the gpio_maks for HP_M4 model is set properly. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Check model type instead of SSID in patch_92hd71bxx()Takashi Iwai2008-11-15
| | | | | | | | | | | | | | | | Check board preset model instead of codec->subsystem_id in patch_92hd71bxx() so that other hardwares configured via the model option work like the given model. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Fix restore of pin configs at resume for STAC/IDT codecsTakashi Iwai2008-11-18
| | | | | | | | | | | | | | | | | | | | | | | | | | Fixed the restore of pin configs at resume for some STAC/IDT codec models. These models set explicitly the pin configs after the default init configs, and these aren't restored properly at resume. This patch introduces two changes: - Allocate always pin_configs array in stac_spec so that the driver can overwrite the value freely - Introduce stac_change_pin_config() to change the pin config value Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Use init callback in stac92xx_resume()Takashi Iwai2008-11-18
| | | | | | | | | | | | | | Call the init callback and remove duplicated codes in stac92xx_resume(). This also fixes the missing initialization such as digital I/O pins. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Create jack detection elements in build_controlsTakashi Iwai2008-11-18
| | | | | | | | | | | | | | | | The jack detection input elements should be created in build_controls callback instead of init callback because init can be called multiple times by suspend/resume and power-saving. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda: STAC_DELL_M6 EAPDMatthew Ranostay2008-11-17
| | | | | | | | | | | | | | | | Add support for EAPD on system suspend and disabling EAPD on headphone jack detection for STAC_DELL_M6 laptops. Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge branch 'topic/fix/hda' into topic/hdaTakashi Iwai2008-11-15
|\| | | | | | | | | Conflicts: sound/pci/hda/patch_sigmatel.c
| * ALSA: hda: STAC_VREF_EVENT value changeMatthew Ranostay2008-11-15
| | | | | | | | | | | | | | | | | | Changed value for STAC_VREF_EVENT from 0x40 to 0x00 because the unsol response value is only 6-bits width and the former value was 1<<6 which is an overrun. Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Support Headphone and Speaker volumes control on VAIOTakashi Iwai2008-11-14
| | | | | | | | | | | | | | | | Split the bound Master control to individual Headphone and Speaker volume controls for VAIO with STAC982x codecs. The Master controls is still created as a vmaster. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge branch 'topic/fix/hda' into topic/hdaTakashi Iwai2008-11-13
|\| | | | | | | | | Conflicts: sound/pci/hda/patch_sigmatel.c
| * ALSA: hda - Add digital beep playback switch for STAC/IDT codecsTakashi Iwai2008-11-13
| | | | | | | | | | | | | | | | | | | | | | | | | | The digital beep widget may have no mute control, and always enabling the beep is ofen pretty annoying, especially on laptops. This patch adds a mixer control "PC Beep Playback Switch" when there is no mixer amp mute is found, and controls it on software. Reference: Novell bnc#444572 https://bugzilla.novell.com/show_bug.cgi?id=444572 Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge branch 'topic/fix/hda' into topic/hdaTakashi Iwai2008-11-12
|\| | | | | | | | | Conflicts: sound/pci/hda/patch_sigmatel.c
| * ALSA: hda - Fix IDT/STAC multiple HP detectionTakashi Iwai2008-11-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Due to the recent change for multiple HP as line-out switch, only one of the multiple headphons (usually a wrong one) is toggled and the other pins are still disabled. This causes the silent output problem on some Dell laptops. Also, the hp_switch check is screwed up when a line-in or a mic-in jack exists. This is added as an additional output, but hp_switch check doesn't take it into account. This patch fixes these issues: simplify hp_switch check by using the NID instead of bool, and clean up / fix the toggle of HP pins in unsol event handler code. Reference: Novell bnc#443267 https://bugzilla.novell.com/show_bug.cgi?id=443267 Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Fix input pin initialization for STAC/IDT codecsTakashi Iwai2008-11-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The input pins are sometimes not initialized properly because of the optimization check of the current pinctl code. Force to initialize the mic input pins so that they can be set up properly even if they were in a weird state. But keep other input pins if already set up as input, since this could be an extra mic pin. Reference: Novell bnc#443738 https://bugzilla.novell.com/show_bug.cgi?id=443738 Signed-off-by: Takashi Iwai <tiwai@suse.de>