summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* ALSA: hda - Make CONFIG_SND_HDA_RECONFIG for codec reconfigurationTakashi Iwai2008-11-213-1/+22
| | | | | | | | Make the codec re-configuration feature selectable via Kconfig, CONFIG_SND_HDA_RECONFIG. Also mark it as experimental (as it really is). Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Release ELD proc fileTakashi Iwai2008-11-213-2/+22
| | | | | | Release ELD proc file when reconfigured so that no leak occurs. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix double free of jack instancesTakashi Iwai2008-11-213-1/+4
| | | | | | | | | | | | | | | 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>
* ALSA: hda - Add missing static for snd_hda_eld_proc_new() inline funcitonTakashi Iwai2008-11-211-1/+2
| | | | Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - support writing to the ELD proc fileWu Fengguang2008-11-211-0/+56
| | | | | | | | | | Allow users to fix quicks of ELD ROMs by writing new values to the ELD proc interface. The format is one or more lines of "name hex_value". Users can add/remove/modify up to 32 SAD(Short Audio Descriptor) entries. Signed-off-by: Wu Fengguang <wfg@linux.intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda: modify monitor name to be consistent with other ELD proc itemsWu Fengguang2008-11-211-1/+1
| | | | | | | Rename "monitor name" to "monitor_name" to conform with the keyword style. Signed-off-by: Wu Fengguang <wfg@linux.intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - properly print ELD sample bitsWu Fengguang2008-11-212-3/+2
| | | | | | | Fix bugs on printing the ELD sample bits. Signed-off-by: Wu Fengguang <wfg@linux.intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* Merge branch 'topic/fix/hda' into topic/hdaTakashi Iwai2008-11-212-4/+23
|\ | | | | | | | | Conflicts: sound/pci/hda/patch_sigmatel.c
| * ALSA: hda: Add STAC_DELL_M4_3 quirkMatthew Ranostay2008-11-212-4/+23
| | | | | | | | | | | | | | | | | | 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-201-2/+13
| | | | | | | | | | | | | | | | | | | | | | | | 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 - make laptop-eapd model back for AD1986ATakashi Iwai2008-11-212-4/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The changes specific for Samsung laptops seem unapplicable to other hardware models like ASUS. The mic inputs are lost on such hardware by the change 5d5d5f43f1b835c375de9bd270cce030d16e2871. This patch adds back the old laptop-eapd model, and create a new model "samsung" for the new one specific to Samsung laptops with automatic mic selection feature. Reference: kernel bugzilla #12070 http://bugzilla.kernel.org/show_bug.cgi?id=12070 Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda: Added Realtek ALC888 model entry for Acer Aspire 4930G laptopVincent Petry2008-11-202-0/+116
| | | | | | | | | | | | | | | | | | | | | | Added Realtek ALC888 model entry for the Acer Aspire 4930G laptop that fixes the following features: - internal microphone - heaphone jack sense - channel mode Signed-off-by: Vincent Petry <PVince81@yahoo.fr> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: azx_probe() cleanupWu Fengguang2008-11-201-20/+13
| | | | | | | | | | | | | | | | Replace 5 free-and-return-err blocks with goto-out-free ones. This makes the main logic more outstanding. Signed-off-by: Wu Fengguang <wfg@linux.intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Show missing GPIO unsol bitsTakashi Iwai2008-11-191-2/+3
| | | | | | | | | | | | | | The GPIO unsolicited event bits are read but not shown in the proc file. Let's fix it. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda: compact ELD output messagesWu Fengguang2008-11-191-32/+24
| | | | | | | | | | | | | | | | Strip out some ELD printk messages that end user won't care, and make the output compact. Signed-off-by: Wu Fengguang <wfg@linux.intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda: make global snd_print_pcm_bits()Wu Fengguang2008-11-193-10/+25
| | | | | | | | | | | | | | Introduce a global function snd_print_pcm_bits() and use it in the ELD code. Signed-off-by: Wu Fengguang <wfg@linux.intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda: minor output message cleanupsWu Fengguang2008-11-191-9/+6
| | | | | | | | | | | | | | Some minor user visible message cleanups. Signed-off-by: Wu Fengguang <wfg@linux.intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda: rename sink_eld to hdmi_eldWu Fengguang2008-11-193-16/+16
| | | | | | | | | | | | | | Rename struct sink_eld to hdmi_eld. Signed-off-by: Wu Fengguang <wfg@linux.intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda: minor code cleanupsWu Fengguang2008-11-192-10/+10
| | | | | | | | | | | | | | Some minor code cleanups. Signed-off-by: Wu Fengguang <wfg@linux.intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda: EAPD mute on suspendMatthew Ranostay2008-11-191-8/+13
| | | | | | | | | | | | | | | | 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>
* | ALSA: hda: HDMI channel mapping cleanupsWu Fengguang2008-11-191-11/+18
| | | | | | | | | | | | | | | | Refactor the channel mapping code for consistent naming and make it more informed about channel allocations. Signed-off-by: Wu Fengguang <wfg@linux.intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda: HDMI channel allocations for audio infoframeWu Fengguang2008-11-191-0/+205
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To play a 3+ channels LPCM/DSD stream via HDMI, - HDMI sink must tell HDMI source about its speaker placements (via ELD, speaker-allocation field) - HDMI source must tell the HDMI sink about channel allocation (via audio infoframe, channel-allocation field) (related docs: HDMI 1.3a spec section 7.4, CEA-861-D section 7.5.3 and 6.6) This patch attempts to set the CA(channel-allocation) byte in the audio infoframe according to - the number of channels in the current stream - the speakers attached to the HDMI sink A channel_allocations[] line must meet the following two criteria to be considered as a valid candidate for CA: 1) its number of allocated channels = substream->runtime->channels 2) its speakers are a subset of the available ones on the sink side If there are multiple candidates, the first one is selected. This simple policy shall cheat the sink into playing music, but may direct data to the wrong speakers. Signed-off-by: Wu Fengguang <wfg@linux.intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda: make global snd_print_channel_allocation()Wu Fengguang2008-11-192-6/+8
| | | | | | | | | | | | | | code refactor: make a global function snd_print_channel_allocation(). Signed-off-by: Wu Fengguang <wfg@linux.intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda: make standalone hdmi_fill_audio_infoframe()Wu Fengguang2008-11-191-9/+16
| | | | | | | | | | | | | | code refactor: make a standalone function hdmi_fill_audio_infoframe(). Signed-off-by: Wu Fengguang <wfg@linux.intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Allow multiple imux for matrix-type mixers of ALC codecsTakashi Iwai2008-11-181-5/+6
| | | | | | | | | | | | | | | | Allow the multiple imux instances for matrix-type mixers like ALC882. So far, only ALC260 used this feature, but other codecs may need a similar stuff. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge branch 'topic/fix/hda' into topic/hdaTakashi Iwai2008-11-181-11/+15
|\ \ | |/
| * ALSA: hda - Fix resume of GPIO unsol event for STAC/IDTTakashi Iwai2008-11-181-2/+2
| | | | | | | | | | | | | | 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-181-0/+4
| | | | | | | | | | | | | | | | | | | | 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-181-7/+7
| | | | | | | | | | | | | | 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-151-2/+2
| | | | | | | | | | | | | | | | 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-181-82/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | 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-181-8/+4
| | | | | | | | | | | | | | 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-181-19/+40
| | | | | | | | | | | | | | | | 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: ELD proc interface for HDMI sinksWu Fengguang2008-11-183-0/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Create /proc/asound/card<card_no>/eld#<codec_no> to reflect the audio configurations and capabilities of the attached HDMI sink. Some notes: - Shall we show an empty file if the ELD content is not valid? Well it's not that simple. There could be partially populated ELD, and there may be malformed ELD provided by buggy drivers/monitors. So expose ELD as it is. - The ELD retrieval routines rely on the Intel HDA interface, others are/could be universal and independent ones. - How do we name the proc file? If there are going to be two HDMI pins per codec, then the current naming scheme (eld#<codec no>) will fail. Luckily the user space dependencies should be minimal, so it would be trivial to do the rename if that happens. - The ELD proc file content is designed to be easy for scripts and human reading. Its lines all have the pattern: <item_name>\t[\t]*<item_value> where <item_name> is a keyword in c language, while <item_value> could be any contents, including white spaces. <item_value> could also be a null value. Signed-off-by: Wu Fengguang <wfg@linux.intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: create hda_eld.c for ELD routines and proc interfaceWu Fengguang2008-11-185-475/+505
| | | | | | | | | | | | | | | | ELD handling routines can be shared by all HDMI codecs, and they are large enough to make a standalone source file. Signed-off-by: Wu Fengguang <wfg@linux.intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: introduce snd_print_pcm_rates()Wu Fengguang2008-11-182-6/+17
| | | | | | | | | | | | | | | | We want to share some code with print_pcm_rates(), so extract a common routine snd_print_pcm_rates() from it. Signed-off-by: Wu Fengguang <wfg@linux.intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda: remove redundant get_amp_nid()Wu Fengguang2008-11-181-2/+0
| | | | | | | | | | | | | | Remove get_amp_nid(): it duplicates the one defined in hda_local.h Signed-off-by: Wu Fengguang <wfg@linux.intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda-intel: reorder HDMI audio enabling sequenceWu Fengguang2008-11-171-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | Reorder HDMI audio enabling sequence so that 1) the sink knows about the coming audio stream 2) unmute 3) start transferring audio samples The theory is that in the path A=>B=>C, we first make C ready, and then enable B, and lastly allow A to send audio samples. Signed-off-by: Wu Fengguang <wfg@linux.intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda: STAC_DELL_M6 EAPDMatthew Ranostay2008-11-171-2/+13
| | | | | | | | | | | | | | | | 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>
* | ALSA: hda: alc883 model for ASUS P5Q-EM boardsWu Fengguang2008-11-171-0/+16
| | | | | | | | | | | | | | | | | | | | Add a new alc883 model ALC1200_ASUS_P5Q for ASUS P5Q-EM boards. It is the same as ALC883_6ST_DIG except that the SPDIF digital output nid is 0x10. Tested-by: Andrei Tanas <andrei@tanas.ca> Signed-off-by: Wu Fengguang <wfg@linux.intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge branch 'topic/fix/hda' into topic/hdaTakashi Iwai2008-11-151-1/+1
|\ \ | |/ | | | | | | Conflicts: sound/pci/hda/patch_sigmatel.c
| * ALSA: hda: STAC_VREF_EVENT value changeMatthew Ranostay2008-11-151-1/+3
| | | | | | | | | | | | | | | | | | 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-141-24/+8
| | | | | | | | | | | | | | | | 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-133-6/+72
|\ \ | |/ | | | | | | Conflicts: sound/pci/hda/patch_sigmatel.c
| * ALSA: hda - Missing NULL check in hda_beep.cTakashi Iwai2008-11-131-0/+4
| | | | | | | | | | | | Added a NULL check of input_allocate_device() in hda_beep.c. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Add digital beep playback switch for STAC/IDT codecsTakashi Iwai2008-11-133-6/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | ALSA: hda - support detecting HD Audio devices with PCI class codeYang, Libin2008-11-131-0/+10
| | | | | | | | | | | | | | The patch uses HD Audio PCI class code to detect AMD HD Audio cards. Signed-off-by: Libin Yang <libin.yang@amd.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: handle SiI1392 HDMI codec in patch_intelhdmi.cWu Fengguang2008-11-132-1/+1
| | | | | | | | | | | | | | | | Move the handling of SiI1392 HDMI codec from patch_atihdmi.c to patch_intelhdmi.c, which makes our ASUS P5E-VM HDMI board work. Signed-off-by: Wu Fengguang <wfg@linux.intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge branch 'topic/fix/hda' into topic/hdaTakashi Iwai2008-11-122-24/+65
|\ \ | |/ | | | | | | Conflicts: sound/pci/hda/patch_sigmatel.c
| * ALSA: hda - Fix IDT/STAC multiple HP detectionTakashi Iwai2008-11-121-14/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
OpenPOWER on IntegriCloud