aboutsummaryrefslogtreecommitdiff
path: root/sound/pci/hda/patch_analog.c
AgeCommit message (Collapse)Author
2008-06-13ALSA: hda - Remove unused mutexTakashi Iwai
Removed unused mutex from patch_*.c. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-05-30[ALSA] hda - Fix mic input on HP2133Takashi Iwai
The mic pins are wrongly assigned on AD1884A mobile model. The mic handling is fixed for the automatic mic selection, too. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-05-24[ALSA] hda - Add model for ASUS P5K-E/WIFI-APTravis Place
Added a config table entry for the ASUS P5K-E/WIFI-AP mainboard (ID 1043:8227) to use AD1988_6STACK_DIG Signed-off-by: Travis Place <wishie@wishie.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24[ALSA] hda - Fix Thinkpad X300 digital micTakashi Iwai
TP X300 digital mic requires additional init verbs with magic COEFs. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24[ALSA] hda - Add support of AD1989A/AD1989BTakashi Iwai
Added the support of AD1989A and AD1989B codecs. These codecs can have multiple SPDIF devices, but currently we handle only one SPDIF. If any real devices with two SPDIF interfaces (likely one for SPDIF and one for HDMI), we'll fix this rightly. Otherwise, these codecs are pretty similar with AD1988. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24[ALSA] hda-codec - Support of Lenovo Thinkpad X300Takashi Iwai
Added the model thinkpad for Lenovo Thinkpad X300 with AD1984A codec. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24[ALSA] hda-codec - keep the format verb at closing PCM streamsTakashi Iwai
Keep the format verb at closing PCM streams. Introduced snd_hda_codec_cleanup_stream() for the parcicular purpose. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24[ALSA] sound: hda: missing includes of hda_patch.hHarvey Harrison
Move the array declaration to hda_codec.c where it is used and add includes where the individual presets are declared. Fixes the following sparse warnings: sound/pci/hda/patch_realtek.c:13744:25: warning: symbol 'snd_hda_preset_realtek' was not declared. Should it be static? sound/pci/hda/patch_cmedia.c:729:25: warning: symbol 'snd_hda_preset_cmedia' was not declared. Should it be static? sound/pci/hda/patch_analog.c:3656:25: warning: symbol 'snd_hda_preset_analog' was not declared. Should it be static? sound/pci/hda/patch_sigmatel.c:3995:25: warning: symbol 'snd_hda_preset_sigmatel' was not declared. Should it be static? sound/pci/hda/patch_si3054.c:286:25: warning: symbol 'snd_hda_preset_si3054' was not declared. Should it be static? sound/pci/hda/patch_atihdmi.c:156:25: warning: symbol 'snd_hda_preset_atihdmi' was not declared. Should it be static? sound/pci/hda/patch_conexant.c:1721:25: warning: symbol 'snd_hda_preset_conexant' was not declared. Should it be static? sound/pci/hda/patch_via.c:1962:25: warning: symbol 'snd_hda_preset_via' was not declared. Should it be static? Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24[ALSA] hda-codec - Add docking-station mic input for Thinkpad X61Takashi Iwai
Added the docking-stationc mic input to the capture source list for Thinkpad X61. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24[ALSA] Keep private TLV entry in vmaster itselfTakashi Iwai
Use a private array for TLV entries of virtual master controls instead of (supposed) static array. This cleans up the existing codes. Also, now vmaster assumes the simple dB-range TLV that is the only type it can handle. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24[ALSA] hda-codec - Add model=mobile for AD1884A & coTakashi Iwai
Added the new model mobile for AD1884A and compatible codecs. It's a reduced version of model=laptop. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24[ALSA] hda-codec - Add support of AD1883/1884A/1984A/1984BTakashi Iwai
Added the support of new AD codecs: AD1883, AD1884A, AD1984A and AD1984B. These are almost compatible except for additional digital pins, etc. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24[ALSA] hda-codec - Add "IEC958 Default PCM" switchTakashi Iwai
Added a new mixer switch to enable/disable the sharing of the default PCM stream with analog and SPDIF outputs. When "IEC958 Default PCM" switch is on, the PCM stream is routed both to analog and SPDIF outputs. This is the behavior in the earlier version. Turning this switch off has a merit for some codecs, though. Some codec chips don't support 24bit formats for SPDIF but only for analog outputs. In this case, you can use 24bit format by disabling this switch. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24[ALSA] hda-codec - Implement auto-mic jack sensing on Samsung laptopsTakashi Iwai
Implemented the auto-mic jack sensing for Samsung laptops with AD1986A codec chip (model=laptop-eapd). The hardware uses pin 0x1d and 0x1f for the internal and external mics, respectively. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24[ALSA] hda-codec - Fix automute of AD1981HD hp modelTakashi Iwai
Reprogram the speaker-pin setting at each HP pin plug to make sure the spekaer auto-muting on AD1981HD hp model. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24[ALSA] hda-intel - Fix PCM device number assignmentTakashi Iwai
In the current scheme, PCM device numbers are assigned incrementally in the order of codecs. This causes problems when the codec number is irregular, e.g. codec #0 for HDMI and codec #1 for analog. Then the HDMI becomes the first PCM, which is picked up as the default output device. Unfortuantely this doesn't work well with normal setups. This patch introduced the fixed device numbers for the PCM types, namely, analog, SPDIF, HDMI and modem. The PCM devices are assigned according to the corresponding PCM type. After this patch, HDMI will be always assigned to PCM #3, SPDIF to PCM #1, and the first analog to PCM #0, etc. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-02-29[ALSA] hda-codec - Fix AD1988 capture elementsTakashi Iwai
The some indices of capture elements of AD1988 are wrongly assigned. This patch fixes it. See ALSA bug#3795 https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3795 Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-01-31[ALSA] hda-codec - Add Dell T3400 supportDouglas Kosovic
Added the support for Dell T3400 with AD1984 codec chip. ALSA bug#3699: https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3699 Signed-off-by: Douglas Kosovic <douglask@itee.uq.edu.au> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31[ALSA] hda-codec - Add SPDIF output support to AD1986a laptop-eapd modelTakashi Iwai
The SPDIF output on AD1986A laptop-eapd model is disabled although some Samsung laptops have SPDIF output. Enable it after checking the pin default config. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31[ALSA] hda-codec - Add SPDIF controls as slave on AD codecsTakashi Iwai
The AD codecs have hardware SPDIF volume/switch controls but they are not assigned to the slave list for virtual master controls. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31[ALSA] hda-codec - Add missing slave for AD1884 master switchTakashi Iwai
The Speaker switch is missing in the slave list. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31[ALSA] hda-codec - Remove obsolete FIXME'sTakashi Iwai
Removed 'FIXME' comments that have been already fixed. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31[ALSA] hda-codec - Add virtual master controlsTakashi Iwai
Add master controls using vmaster to codecs that have no real hardware master volume registers. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31[ALSA] Remove sound/driver.hTakashi Iwai
This header file exists only for some hacks to adapt alsa-driver tree. It's useless for building in the kernel. Let's move a few lines in it to sound/core.h and remove it. With this patch, sound/driver.h isn't removed but has just a single compile warning to include it. This should be really killed in future. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31[ALSA] hda-codec - Add IEC958 digital out support for Lenovo Thinkpads T61/X61Jerone Young
This patch adds IEC958 digital out support for the AD1984 sound card. This card can be found in Lenovo Thinkapds T61/X61. The digital out is not located on the Thinkpad, but optional docking station (it's coxial digital out). I've add this support as it is done the exact same way for the AD1983 & AD1884. I have tested this patch with my Lenovo Thinkpad T61 hooked up to a docking station (that has the digital coxial) and then run to my home theater reciever. Works like a charm :-) Signed-off-by: Jerone Young <jerone@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31[ALSA] hda-codec - Sort ad1986a cfg tableTakashi Iwai
Sort the ad1986a config table by PCI SSID (the last toshiba entry was added wrongly). Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31[ALSA] hda-codec - Device ID for Toshiba laptop which uses AD1986AJiang Zhe
The model laptop-eapd get rid of the high-pitched noise. (ALSA bug#3662) Signed-off-by: Jiang Zhe <zhe.jiang@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31[ALSA] hda-codec - sort pci quirk listTakashi Iwai
Sort pci quirk list in the order of PCI SSID. This makes easier to find out the buggy duplicated entries. Thanks to Andy Shevchenko for providing the sort script. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31[ALSA] hda-intel: Enable Analog CD Input from internal ATAPI connector on ↵Johannes Stezenbach
Asus M2N-SLI Enable Analog CD Input from internal ATAPI connector on Asus M2N-SLI. Signed-off-by: Johannes Stezenbach <js@sig21.net> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31[ALSA] hda-codec - Check value range in ctl callbacksTakashi Iwai
Check the value ranges in ctl put callbacks properly so that invalid values won't be stored or written to registers. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31[ALSA] HDA: Add Asus VX1 supportTobin Davis
Simple patch to add the Asus VX1 laptop to the Analog Devices pci quirk list. Signed-off-by: Tobin Davis <tdavis@dsl-only.net> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2007-11-19[ALSA] hda-codec - Disable shared stream on AD1986ATakashi Iwai
AD1986A has a hardware problem that it cannot share a stream with multiple pins properly. The problem occurs e.g. when a volume is changed during playback. So far, hda-intel driver unconditionally assigns the stream to multiple output pins in copy-front mode, and this should be avoided for AD1986A codec. The original fix patch was by zhejiang <zhe.jiang@intel.com>. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2007-10-23[ALSA] hda-codec - Fix possible array overflowTakashi Iwai
dac_nids arrays in each codec support code may have up to 5 items when assigned from the auto-configurator. Some codec codes have less numbers than the possible max. This patch defines the constant and fixes the array definitions. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2007-10-23[ALSA] hda-codec - Fix AD1986A Lenovo auto-muteTakashi Iwai
The jack detection bit on AD1986A Lenovo N100 seems inverse from the standard definition. Now fixed the detection properly. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2007-10-16[ALSA] hda-codec - Add laptop-automute model for AD1986ATakashi Iwai
Added a new model laptop-automute for AD1986A, which has the HP jack detection and auto-muting of the speaker. Currently, it's used for Lenovo N100. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16[ALSA] hda-codec - Fix Master volume with AD1986A laptop modelTakashi Iwai
Use the bind-control for NID 0x1a and 0x1b as Master volume control on AD1986 model=laptop as well as model=laptop-eapd. This will fix the missing output on some devices. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16[ALSA] hda-intel - Add POWER_SAVE optionTakashi Iwai
Added CONFIG_SND_HDA_POWER_SAVE kconfig. It's an experimental option to achieve an aggressive power-saving. With this option, the driver will turn on/off the power of each codec and controller chip dynamically on demand. The patch introduces a new module option 'power_save'. It specifies the second of time-out for automatic power-down. As default, it's 10 seconds. Setting 0 means to suppress the power-saving feature. The codec may have analog-input loopbacks, which are usually represented by mixer elements such as 'Mic Playback Switch' or 'CD Playback Switch'. When these are on, we cannot turn off the mixer and the codec chip has to be kept on. For bookkeeping these states, a new codec-callback is introduced. For the bus-controller side, a new callback pm_notify is introduced, which can be used to turn on/off the contoller appropriately. Note that this power-saving might cause slight click-noise at power-on/off. Also, it might take some time to wake up the codec, and might even drop some tones at the very beginning. This seems to be the side-effect of turning off the controller chip. This turn-off of the controller can be disabled by undefining HDA_POWER_SAVE_RESET_CONTOLLER in hda_intel.c. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16[ALSA] hda-codec - Clean up bind-controlsTakashi Iwai
We have already a generic bind-control helper, so let's clean up the codes using it. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16[ALSA] hda-codec - add snd_hda_codec_stereo() functionTakashi Iwai
Added snd_hda_codec_amp_stereo() function that changes both of stereo channels with the same mask and value bits. It simplifies most of amp-handling codes. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16[ALSA] hda-codec - optimize resume using cachesTakashi Iwai
So far, the driver looked the table of snd_kcontrol_new used for creating mixer elements and forces to call each of its put callbacks in PM resume code. This is too ugly and hackish. Now, the resume is simplified using the codec amp and command register caches. The driver simply restores the values that have been written in the cache table. With this simplification, most codec support codes don't require any special resume callback. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16[ALSA] hda-codec - Add a generic bind-control helperTakashi Iwai
Added callbacks for a generic bind-control of mixer elements. This can be used for creating a mixer element controlling multiple widgets at the same time. Two macros, HDA_BIND_VOL() and HDA_BIND_SW(), are introduced for creating bind-volume and bind-switch, respectively. It taks the mixer element name and struct hda_bind_ctls pointer, which contains the real control callbacks in ops field and long array for private_value of each bound widget. All widgets have to be the same type (i.e. the same amp capability). Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16[ALSA] hda-codec - Fix AD1988 SPDIF outputTakashi Iwai
The SPDIF output on AD1988 had some problems due to the wrongly routed analog loopback to SPDIF. This patch fixes the implementation of 'IEC958 Playback Source' mixer to handle the amp bits of mixer widget 0x1d correctly. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16[ALSA] Clean up with common snd_ctl_boolean_*_info callbacksTakashi Iwai
Clean up codes using the new common snd_ctl_boolean_*_info() callbacks. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-07-20[ALSA] hda-codec - Add AD1882 codec supportTakashi Iwai
Added AD1882 codec support. It has currently two models, 3stack and 6stack. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-07-20[ALSA] hda-codec - Fix Thinkpad X61/T61 outputsTakashi Iwai
Enable EAPD bit on Thinkpad X61/T61. The recent model requires it explicitly to make any sounds. In future, it should be toggled automatically on demand. Also, added a beep volume/switch. Some people like it although I don't understand why :) Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-07-20[ALSA] hda-codec - Fix AD1984 basic modelTakashi Iwai
Fix the amp direction of digital mic capture volume mixer, which resulted in -EINVAL. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-07-20[ALSA] hda-codec - Fix Oops with AD1984 thinkpad modelTakashi Iwai
Fixed Oops with AD1984 thinkpad model. Also fixed the wrong init verbs for NID 0x03 and 0x04, which have apparently no mute bit. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-07-20[ALSA] hda-codec - Fix wrong mixer controls for AD1984 thinkpad modelTakashi Iwai
Fixed the wrong mixer controls for AD1984 thinkpad model. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-07-20[ALSA] hda-codec - Add AD1884 / AD1984 codec supportTakashi Iwai
Added the support of AD1884 and AD1984 codec chips. Also experimental quirks for Thinkpad T61/X61 laptops with AD1984. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11[ALSA] hda-codec - Fix AD1988 SPDIF playback route controlTakashi Iwai
Fix AD1988 SPDIF playback route control for selecting ADC1-3. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>