aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* 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 - Fix creation of automatic capture mixersTakashi Iwai2008-11-27
| | | | | | | Fixed a wrong boundary check of num_adc_nids in set_capture_mixer() in patch_realtek.c. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix PCM reconfigureTakashi Iwai2008-11-27
| | | | | | | | | | | | | The reconfiguration of PCM affected all PCM streams on the bus, but this this should be done rather only for the target codec. This patch does the following: - introduce bitmap indicating the PCM device usages on a hda_bus - refactor the PCM build functions - fix __devinit prefix in some fucntions - add a proper ifdef around HDA-reconfig-specific functions Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Move power_save option to hda_intel.cTakashi Iwai2008-11-27
| | | | | | | Move power_save option into hda_intel.c, and make a field in hda_bus, instead of keeping module parameters in separate files. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - make some functions staticTakashi Iwai2008-11-27
| | | | | | | | Minor clean ups: move snd_hda_codecs_inuse() into hda_intel.c and make static. Also, make snd_hda_query_supported_pcm() static as it's used only in hda_codec.c. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: sound/pci/hda/hda_codec.c: cleanup kernel-docQinghuang Feng2008-11-26
| | | | | | | | There is no argument named @state in snd_hda_resume, remove its' comment. Signed-off-by: Qinghuang Feng <qhfeng.kernel@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Really fix bits value in proc outputTakashi Iwai2008-11-25
| | | | | | | The fix in 82894b6f6f109722070d4d78730fe50cdaba9443 resulted in zero due to wrong mask and bit shifts. Now fixed really. 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 - Add quirk for MSI 7260 moboTakashi Iwai2008-11-25
| | | | | | | | | | | | Added preset model=targa-dig for MSI 7260 mobo. 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 - Fix caching of SPDIF status bitsTakashi Iwai2008-11-25
| | | | | | | | | | | | | | | | | | | | | | | | | | SPDIF status bits controls are written via snd_hda_codec_write() without caching. This causes a regression at resume that the bits are lost. Simply replacing it with the cached version fixes the problem. Reference: http://lkml.org/lkml/2008/11/24/324 Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Fix proc pcm rate bitsTakashi Iwai2008-11-25
| | | | | | | | | | | | Show only the relevant bits in the PCM rate bits as in the earlier version. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Add probe_mask quirk for Medion MD96630Takashi Iwai2008-11-24
| | | | | | | | | | | | | | | | | | | | | | | | | | Medion MD96630 has ALC268 codec on slot#2 although it's not used for any purpose. This codec conflicts with the primiary codec ALC888 on slot#0, and gives mixer errors. This patch adds a corresponding entry to probe_mask blacklist. Reference: Novell bnc#412528 https://bugzilla.novell.com/show_bug.cgi?id=412528 Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda: Added an ALC888 model entry for Fujitsu-Siemens Amilo Xa3530Vincent Petry2008-11-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes the bug 0004240: ALC888 - Intel HDA - Headphone Controlling. It is made against the 2008-11-23 snapshot. Added Realtek ALC888 model entry for the Fujitsu-Siemens Amilo Xa3530 laptop. It has 4 jacks: HP out, Mic-in, Line-in and Line-out/Side/SPDIF (this one is on the laptop side, the other ones are on the rear). Model detection works. Headphone jack sense works now. Front mic works now, was same as Acer Aspire 4930G. Added channel mode from 2 to 8 channels. In 2ch and 4ch modes, the front is also sent to the Line-out/side jack for convenience instead of just muting the Line-out/side jack like other models do. When using the Mic-in jack as CLFE, the sound is very low (bug?). To work it around, in 6ch mode the CLFE channel is duplicated to the Line-out/side jack because this one has a better amp. Cc: manu@frogged.de Signed-off-by: Vincent Petry <PVince81@yahoo.fr> 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>
* | ALSA: hda - fix build warning when CONFIG_PROC_FS=nWu Fengguang2008-11-22
| | | | | | | | | | | | | | | | Fix "defined but not used" build warning by moving eld_versoin_names[] and cea_edid_version_names[] into hdmi_print_eld_info(). Signed-off-by: Wu Fengguang <wfg@linux.intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - fix DisplayPort namingWu Fengguang2008-11-22
| | | | | | | | | | | | | | | | | | | | | | | | | | DisplayPort is a digital display interface standard put forth by the Video Electronics Standards Association (VESA). It defines a new license-free, royalty-free, digital audio/video interconnect, intended to be used primarily between a computer and its display monitor, or a computer and a home-theater system. - From Wikipedia, the free encyclopedia Signed-off-by: Wu Fengguang <wfg@linux.intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - document the ELD proc interfaceWu Fengguang2008-11-22
| | | | | | | | | | | | | | Describe what ELD proc interface provides and how to fix incorrect values. Signed-off-by: Wu Fengguang <wfg@linux.intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - ELD proc interface write updatesWu Fengguang2008-11-22
| | | | | | | | | | | | | | | | | | | | | | | | - rename ELD proc write routine to hdmi_write_eld_info() - support modifying WMAPro's profile Write to some ELD fields (monitor_name, manufacture_id, product_id, eld_version, edid_version) are deliberately not supported, since that won't correct wrong behaviors and only leads to confusions. Signed-off-by: Wu Fengguang <wfg@linux.intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - make HDMI messages more user friendlyWu Fengguang2008-11-22
| | | | | | | | | | | | | | | | | | - make some messages more user friendly - add message prefix "HDMI:" to indicate the problem's domain (also easier to do `dmesg | grep HDMI` ;-) Signed-off-by: Wu Fengguang <wfg@linux.intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - report selected CA index for Audio InfoFrameWu Fengguang2008-11-22
| | | | | | | | | | | | | | | | Print some CA selecting info, which could be valuable for debugging when something goes wrong. Signed-off-by: Wu Fengguang <wfg@linux.intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - minor HDMI code cleanupsWu Fengguang2008-11-22
| | | | | | | | | | | | | | Some minor code cleanups. Signed-off-by: Wu Fengguang <wfg@linux.intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Fix build without CONFIG_PROC_FSTakashi Iwai2008-11-21
| | | | | | | | | | | | | | | | snd_print_pcm_rates() and snd_print_pcm_bits() are used by both hda_proc.c and hda_eld.c, thus they have to be defined in the common place. 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 sparse warningHannes Eder2008-11-21
| | | | | | | | | | | | | | | | | | | | Fix the following sparse warning: sound/pci/hda/patch_nvhdmi.c:161:25: warning: symbol 'snd_hda_preset_nvhdmi' was not declared. Should it be static? Signed-off-by: Hannes Eder <hannes@hanneseder.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Move HD-audio Kconfig items to sound/pci/hda/KconfigTakashi Iwai2008-11-21
| | | | | | | | Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Make CONFIG_SND_HDA_RECONFIG for codec reconfigurationTakashi Iwai2008-11-21
| | | | | | | | | | | | | | | | 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-21
| | | | | | | | | | | | 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-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>
* | ALSA: hda - Add missing static for snd_hda_eld_proc_new() inline funcitonTakashi Iwai2008-11-21
| | | | | | | | Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - support writing to the ELD proc fileWu Fengguang2008-11-21
| | | | | | | | | | | | | | | | | | | | 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-21
| | | | | | | | | | | | | | 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-21
| | | | | | | | | | | | | | 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-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 - make laptop-eapd model back for AD1986ATakashi Iwai2008-11-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-20
| | | | | | | | | | | | | | | | | | | | | | 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-20
| | | | | | | | | | | | | | | | 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-19
| | | | | | | | | | | | | | 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-19
| | | | | | | | | | | | | | | | 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-19
| | | | | | | | | | | | | | 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-19
| | | | | | | | | | | | | | Some minor user visible message cleanups. Signed-off-by: Wu Fengguang <wfg@linux.intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>