summaryrefslogtreecommitdiffstats
path: root/sound
AgeCommit message (Collapse)AuthorFilesLines
2008-11-18ALSA: ELD proc interface for HDMI sinksWu Fengguang3-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>
2008-11-18ALSA: create hda_eld.c for ELD routines and proc interfaceWu Fengguang5-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>
2008-11-18ALSA: introduce snd_print_pcm_rates()Wu Fengguang2-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>
2008-11-18ALSA: hda: remove redundant get_amp_nid()Wu Fengguang1-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>
2008-11-17ALSA: hda-intel: reorder HDMI audio enabling sequenceWu Fengguang1-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>
2008-11-17ALSA: hda: STAC_DELL_M6 EAPDMatthew Ranostay1-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>
2008-11-17ALSA: hda: alc883 model for ASUS P5Q-EM boardsWu Fengguang1-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>
2008-11-15Merge branch 'topic/fix/hda' into topic/hdaTakashi Iwai1-1/+1
Conflicts: sound/pci/hda/patch_sigmatel.c
2008-11-15ALSA: hda: STAC_VREF_EVENT value changeMatthew Ranostay1-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>
2008-11-14ALSA: hda - Support Headphone and Speaker volumes control on VAIOTakashi Iwai1-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>
2008-11-13Merge branch 'topic/fix/hda' into topic/hdaTakashi Iwai3-6/+72
Conflicts: sound/pci/hda/patch_sigmatel.c
2008-11-13ALSA: hda - Missing NULL check in hda_beep.cTakashi Iwai1-0/+4
Added a NULL check of input_allocate_device() in hda_beep.c. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-11-13ALSA: hda - Add digital beep playback switch for STAC/IDT codecsTakashi Iwai3-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>
2008-11-13ALSA: hda - support detecting HD Audio devices with PCI class codeYang, Libin1-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>
2008-11-13ALSA: handle SiI1392 HDMI codec in patch_intelhdmi.cWu Fengguang2-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>
2008-11-12Merge branch 'topic/fix/hda' into topic/hdaTakashi Iwai2-24/+65
Conflicts: sound/pci/hda/patch_sigmatel.c
2008-11-12ALSA: hda - Fix IDT/STAC multiple HP detectionTakashi Iwai1-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>
2008-11-11ALSA: hda - Fix input pin initialization for STAC/IDT codecsTakashi Iwai1-8/+12
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>
2008-11-11ALSA: hda - Add missing analog-mux mixer creation for STAC9200Takashi Iwai1-0/+6
The creation of analog-mux mixer element is missing in patch_stac9200() due to the dynamic allocation patch. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-11-10ALSA: hda - Make the HP EliteBook 8530p use AD1884A model laptopTravis Place1-0/+1
Added a QUIRK to patch_analog.c for the HP Elitebook 8530p (IDs 0x103c:0x30e7) to use AD1884A model 'laptop' by default. Playback and Capture confirmed working. Signed-off-by: Travis Place <wishie@wishie.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-11-10ALSA: hda - Fix another cache list managementTakashi Iwai2-4/+13
Fix another silly bug in the amp cache list management. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-11-09ALSA: hda - Add another HP model (6730s) for AD1884AMichel Marti1-0/+1
Added model=laptop for another HP machine (103c:3614) with AD1884A codec. Signed-off-by: Michel Marti <mma@objectxp.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-11-07ALSA: hda - Fix probe errors on Dell Studio DesktopTakashi Iwai1-0/+2
BIOS on Dell Studio Desktop tells wrong codec probe masks. This patch gives the preset mask value to avoid invalid access. Reference: Novell bug#440907 https://bugzilla.novell.com/show_bug.cgi?id=440907 Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-11-07ALSA: hda - Fix ALC260 hp3013 master switchTakashi Iwai1-5/+5
The master switch doesn't influence on NID 0x15, the headphone jack on HP 3013 model because alc260_hp_master_update() ignores the passed arguments. Also, corrected the wrong arguments of hp3013 (0x10 and 0x15) although this doesn't change any behavior. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-11-07Merge branch 'topic/fix/hda' into topic/hdaTakashi Iwai3-6/+14
2008-11-07ALSA: hda - Fix broken hash chain allocationTakashi Iwai1-0/+1
The chaining for amp hash got broken due to the rewrite with snd_array. Fixed now. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-11-07ALSA: hda - Add max allocation check in array allocatorTakashi Iwai1-1/+4
Added a check for max allocation size in snd_array_new() for a debugging purpose. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-11-07ALSA: hda - Add missing NULL check in amp hash allocationTakashi Iwai1-0/+2
Added the missing NULL check from allocator in get_alloc_hash(). Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-11-06ALSA: hda - Add lifebook model for Realtek ALC269Tony Vroon1-1/+124
The widget layout of the Fujitsu Lifebook S6420 (which is ICH9M-based and uses an ALC269) is similar but not identical to the Lifebook S6410/E8410 (which are ICH8M-based and use an ALC262). It is named lifebook as fujitsu is in use for Amilo machines. This builds on the Quanta FL1 work and supports all analog inputs & outputs that I am aware of. Microphone autoswitch is implemented. The laptop mic port takes precedence over the dock mic port if both happen to have a jack plugged in. This made sense to me as a design decision (imagine a presentation environment with the dock fully wired in and the presenter quickly wanting to override the mic with a headset). There is mention of a digital audio path on the codec graph, so perhaps the headphone socket is dual-function analog/digital. I will follow up with another patch if I can acquire equipment to test this. Signed-off-by: Tony Vroon <tony@linx.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-11-06ALSA: hda - Make codec-probing more robustTakashi Iwai1-0/+55
When an error occurs during the codec probing, typically accessing to an non-existing codec slot, the controller chip gets often screwed up and can no longer communicate with the codecs. This patch adds a preparation phase just to probe codec addresses before actually creating codec instances. If any error occurs during this probing phase, the driver resets the controller to recover. This will (hopefully) fix the famous "single_cmd" errors. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-11-06ALSA: hda - simplify hda_bus ops callbacksTakashi Iwai3-54/+79
The hda_bus ops callback take struct hda_bus pointer. Also, the command callback takes the composed command word, instead of each small bits in arguments. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-11-05ALSA: hda - Split ALC268 acer modelTakashi Iwai1-0/+44
There are actually two variants of ALC268 Acer implementation, one with an analog built-in mic (pin 0x19) and another with a digital mic (pin 0x12). Created a new model, acer-dmic, for the latter case now. So far, all known models are assigned to be analog-mic, according to the BIOS setup. If this doesn't match with the actual case, one needs to try model=acer-dmic, and fix the entry to point ALC268_ACER_DMIC if it works. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-11-05ALSA: hda - Add a quirk for MEDION MD96630Takashi Iwai1-0/+1
Use model=lenovo-ms7195-dig for MEDION MD96630 laptop (17c0:4085) with ALC888 codec. Reference: Novell bnc#412548 https://bugzilla.novell.com/show_bug.cgi?id=412528 Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-11-05ALSA: hda - Add ASUS V1Sn supportTakashi Iwai1-1/+18
Asus V1s series laptops have an ALC660VD with PCI id: 0x1043, 0x1633. 1.) remove the previous behaviour of mapping that to the ALC861VD_LENOVO device. 2.) add a new ALC660VD_V1S device based on ALC861VD_LENOVO, with an added digital out. Signed-off-by: Tristan Aston <astrotris@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-11-05ALSA: hda - Fix unused function in patch_intelhdmi.cTakashi Iwai1-0/+2
Add a proper ifdef to shut out a compile warning: CC [M] sound/pci/hda/patch_intelhdmi.o sound/pci/hda/patch_intelhdmi.c:286: warning: ‘hdmi_get_dip_index’ defined but \ not used Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-11-05ALSA: hda - Intel HDMI audio supportWu, Fengguang5-0/+940
Add support for Intel G45 integrated HDMI audio codecs. This initial release supports: - 2 channel stereo sound output - report monitor's ELD information Signed-off-by: Wu Fengguang <wfg@linux.intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-11-04ALSA: hda - Don't create empty PCM streamsTakashi Iwai1-0/+5
Due to the hda-reconfiguration patches, the check of empty stream is gone, and this results in an error with the codec setup with empty streams. This patch adds the check again to avoid the error at probing. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-11-04ALSA: hda - Limit the number of GPIOs show in procTakashi Iwai1-0/+2
Limit the number of GPIOs shown in proc. Otherwise it gets too long unnecessarily, and hard to analyze. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-11-04ALSA: hda - Fix possible NULL dereferenceTakashi Iwai1-1/+3
Add NULL-check of the return value of snd_kctl_new1() before accessing it. Also, make a sanity NULL check to snd_BUG_ON() for debugging only. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-11-03ALSA: hda - Fix missing ADC list in ALC260 auto-probe modeTakashi Iwai1-0/+13
The commit f9e336f65b666b8f1764d17e9b7c21c90748a37e ALSA: hda - Unify capture mixer creation in realtek codes removed the ADC check for ALC260 auto-probe mode accidentally. Re-added to patch_alc260() again. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-11-03ALSA: hda - Add ALC299 fujitsu preset modelTakashi Iwai1-1/+28
Added a preset model for FSC Amilo with ALC269 codec chip. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-11-03ALSA: hda: make a STAC_DELL_EQ optionMatthew Ranostay1-6/+10
Add support for explicitly enabling the EQ distortion hack for systems without software biquad support. Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com> Cc: stable@kernel.org Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-11-03ALSA: hda - Add a quirk for another Acer Aspire (1025:0090)Takashi Iwai1-0/+1
Added a quirk for another Acer Aspier laptop (1025:0090) with ALC883 codec. Reported in Novell bnc#426935: https://bugzilla.novell.com/show_bug.cgi?id=426935 Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-31ALSA: hda - Re-add input-source control for RealtekTakashi Iwai1-0/+9
Re-added again "Input Source" control that was removed mistakenly in the previous patchset. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-31ALSA: hda - Unify capture mixer creation in realtek codesTakashi Iwai1-526/+218
Unified the capture mixer creation in patch_realtek.c. ALC268 is still an exception since it has no AMP in ADC but in MUX widget. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-31ALSA: hda - Unify capture callbacks in realtek codesTakashi Iwai1-176/+100
Unify the capture callbacks in patch_realtek.c. The difference of matrix or mux style is checked via spec->is_mix_capture flag. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-31ALSA: hda - Use macros to check array overflowTakashi Iwai1-60/+53
Use macro to add mixer and verb elements to check the possible array overflow. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-31Merge branch 'topic/fix/hda' into topic/hdaTakashi Iwai2-2/+55
2008-10-31ALSA: hda - Add digital-mic for ALC269 auto-probe modeTakashi Iwai1-2/+20
The digital mic wasn't detected properly for ALC269 auto-probing mode because of its widget number. Fixed now. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-31ALSA: hda - Disable broken mic auto-muting in Realtek codesTakashi Iwai1-0/+6
The recent addition of automatic mic-muting is broken in some cases. The code assumes that the pin nids <= 0x18, but the digital pins can be less than 0x18. Also, it assumes the front-mic being the internal mic, but it depends on the hardware implementation actually. Instead of complex case-fixes, better to disable the code as now. Signed-off-by: Takashi Iwai <tiwai@suse.de>