aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/patch_conexant.c
AgeCommit message (Collapse)AuthorFilesLines
2009-06-22ALSA: hda - Make jack-plug notification selectableTakashi Iwai1-2/+2
Make the jack-plug notification via input layer selectable via Kconfig. This is often unnecessary, and the similr function will be provided using the ALSA control API in near future anyway. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-28ALSA: hda - Compaq Presario CQ60 patching for ConexantTony Vroon1-0/+1
A docking mic control is shown by default. The Compaq Presario CQ60 laptop has no docking connector, so designate it as a CXT5051_HP model. This makes the phantom mixer slider disappear. Signed-off-by: Tony Vroon <tony@linx.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-04-14ALSA: hda - Avoid call of snd_jack_report at releaseTakashi Iwai1-3/+18
Don't call snd_jack_report at release of sigmatel and conexnat codecs which results in Oops at unloading the module. The Oops is triggered by the power-up sequence during the free due to the pincfg restoration. Since the power-up sequence is involved with the unsol handling, the jack reporting may be issued during that. The Oops occurs with this jack reporting because the jack instances have been already released but the codec doesn't do the proper book-keeping. This patch adds the book-keeping of jack instances to avoid the access to bogus pointers. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-12ALSA: hda - Print multiple out-amp values of pin widgets on Conext codecsTakashi Iwai1-0/+3
Add a flag to work around the non-standard amp-value handling on Conexant codecs. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-12ALSA: hda - Add comments for the previous fix for conexant codecsTakashi Iwai1-0/+6
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-12ALSA: hda - fix headphone settings and master volume (Conexant CX20551)Gregorio Guidi1-3/+3
Update the places where the 0x1d widget is used for Conexant 5047, fixing mismatch introduced after changing the connection. Signed-off-by: Gregorio Guidi <gregorio.guidi@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-10ALSA: hda - Clean up Cxt5047 parserTakashi Iwai1-70/+19
Clean up Conexant 5047 pareser code: - Split mixer elements to separate arrays to reduce the duplicated entires - Fix mixer element names to the standard ones - Remove unneeded cxt5047_hp2_unsol_event; the normal unsol_event handler works fine. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-10ALSA: hda - Fix / clean up init verbs for Cxt5047 codecTakashi Iwai1-33/+3
Fix the initial connections of output pins 0x13 and 0x1d for Conexant 5047 codec to point to the mixer amp properly. Removed unneeded (doubly) verbs from arrays, also removed the unneeded changing of widget 0x1c, which is now completely unused. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-10ALSA: hda - Remove superfluous verbs for Cxt5047 laptop-eapd modelTakashi Iwai1-5/+2
Remove superfluous verbs from cxt5047_toshiba_init_verbs[]. Also fix comments and minor coding style issues. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-10ALSA: hda - Create "Capture Source" control dynamically in patch_conexant.cTakashi Iwai1-44/+17
Create "Capture Source" control dynamically for Conexant codecs. If only one capture item is available, don't create such a control since it's just useless. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-10ALSA: hda - Create vmaster for conexant codecsTakashi Iwai1-11/+36
Instead of binding volumes, create a virtual master volume for Conexant codecs. This allows separate HP and speaker volume controls. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-03-04ALSA: hda - Fix HP dv6736 mic inputTakashi Iwai1-5/+58
Fix the mic input of HP dv6736 with Conexant 5051 codec chip. This laptop seems have no mic-switching per jack connection. A new model hp-dv6736 is introduced to match with the h/w implementation. Reference: Novell bnc#480753 https://bugzilla.novell.com/show_bug.cgi?id=480753 Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-13ALSA: hda: add quirk for Lenovo X200 laptop dockAristeu Sergio Rozanski Filho1-0/+40
Currently the HP connector on X200 dock doesn't detect when a HP is connected nor allows sound to be played using it. This patch fixes the problem by adding a quirk for this specific model. It's possible that others have the same NID (0x19) to report when dock HP is connected, but I don't have access to any. Please Cc me in the reply since I'm not subscribed to alsa-devel@. Signed-off-by: Aristeu Rozanski <aris@redhat.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-09ALSA: hda - Clean up quirk listsTakashi Iwai1-14/+6
Clean up quirk lists with bit masks. Also, sorted in numerical order for alc662_cfg_tbl[]. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-27ALSA: hda - Fix compile warning with CONFIG_SND_JACK=nTakashi Iwai1-2/+11
sound/pci/hda/patch_conexant.c:352: warning: 'conexant_add_jack' defined but not used Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-27ALSA: hda - Add quirk for HP DV6700 laptopJoerg Schirottke1-0/+1
Added the matching model=laptop for HP DV6700 laptop. Signed-off-by: Joerg Schirottke <master@kanotix.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-03ALSA: hda - cxt5051 report jack stateUlrich Dangel1-0/+3
Signed-off-by: Ulrich Dangel <uli@spamt.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-03ALSA: hda - add basic jack reporting functions to patch_conexant.cUlrich Dangel1-3/+108
Added functions to report jack sense. As CXT5051_PORTB_EVENT has the same value as CONEXANT_MIC_EVENT two input devices for the microphone will be created if using CXT5051. Signed-off-by: Ulrich Dangel <uli@spamt.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-11-27ALSA: hda - Modularize HD-audio driverTakashi Iwai1-2/+26
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>
2008-10-13ALSA: hda - Use generic array helpersTakashi Iwai1-11/+0
Use generic array helpers to simplify array handling in snd-hda-intel. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-07-14ALSA: hda - Fix FSC V5505 modelTakashi Iwai1-1/+2
model=laptop-hpmicsense matches better to FSC V5505 laptop. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-07-14ALSA: hda - Fix missing init for unsol events on micsense modelTakashi Iwai1-0/+1
Fixed the missing initialization for unsolicited events on Cx5045 micsense model. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-07-14ALSA: hda - Fix internal mic vref pin setupTakashi Iwai1-1/+1
Set the vref80 to the internal mic pin 0x12 for Cx5045. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-07-10ALSA: ALSA: hda - Fix speaker output on Toshiba P105Takashi Iwai1-0/+1
Toshiba Satellite P105 with cx5045 has no HP pin but only a speaker pin and does the speaker-muting on hardware. Thus the matching model is laptop-micsense. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-06-27ALSA: hda - disable amp override on non-HP machinesTakashi Iwai1-9/+13
Some machines with Cx5045 seem to have no problem with the volume over 0dB on NID 0x17. Disable amp overrides for other devices but HP. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-06-13ALSA: hda - Remove unused mutexTakashi Iwai1-4/+0
Removed unused mutex from patch_*.c. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-04-24[ALSA] hda-codec - keep the format verb at closing PCM streamsTakashi Iwai1-4/+3
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] hda-codec - model for cx20549 to support laptop HP530Jiang zhe1-1/+50
Currently the model laptop-hpsense use the 0x12 as ExtMic, and use 0x14 as Internal IntMic. But the hp530 only have one ExtMic, the Pin widget is 0x14. In this patch, I changed the mixer item for them. I still reserved the IntMic item, it will be helpful if other machine may use this model. ALSA bug#3821. Signed-off-by: Jiang zhe <zhe.jiang@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24[ALSA] sound: hda: missing includes of hda_patch.hHarvey Harrison1-0/+1
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 "IEC958 Default PCM" switchTakashi Iwai1-1/+7
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-intel - Fix PCM device number assignmentTakashi Iwai1-0/+1
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 Master volume on HP dv8000Takashi Iwai1-0/+5
HP dv8000 laptop has a problem with Master volume. It's due to the connection of the widget 0x13. When it's connected from the analog amp mixer (0x19), it works as expected mysteriously (ALSA bug#3775): https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3775 Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-02-22[ALSA] hda-codec - Fix SPDIF output on Conexant 5045 codecTakashi Iwai1-2/+5
Fixed the SPDIF output on Conexant Cx5045 codec. Added the missing pin output setting and fixed the wrong NID for digital audio-out widget. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-01-31[ALSA] hda-codec - Add model for HP DV9553EG laptopTakashi Iwai1-0/+1
Added the proper model for HP DV9553EG laptop with Cxt5045. ALSA bug#3534 https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3534 Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31[ALSA] hda-codec - Add Conexant 5051 codec supportTakashi Iwai1-1/+296
Added the support for Conexant 5051 audio codec. Right now there are two preset models, laptop and hp. The whole patch is based on the information from the base patch by Linuxant. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31[ALSA] hda-codec - Add missing input controls for Cxt5047 test modelMarc Boucher1-6/+16
The input volume/switch elements are missing in Cxt5047 test model. Also the patch includes some code clean ups. Signed-off-by: Marc Boucher <marc@linuxant.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31[ALSA] hda-codec - Fix laptop models for Cxt5045Marc Boucher1-18/+38
Change laptop models to three different models, laptop-hpsense, laptop-micsense and laptop-hpmicsense. The first two correspond to the old 'laptop' and 'fujitsu' models. Reassigned the quirk table for the new models. Signed-off-by: Marc Boucher <marc@linuxant.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31[ALSA] hda-codec - Fix capture source for Cx5045 codecJiang zhe1-1/+1
For codec conexant 5045, I found that the name of 'Capture Source Items' is different from the name of mixer. The mixer is: HDA_CODEC_VOLUME('Ext Mic Playback Volume', 0x17, 0x2, HDA_INPUT), HDA_CODEC_MUTE('Ext Mic Playback Switch', 0x17, 0x2, HDA_INPUT), But the capture source item is : static struct hda_input_mux cxt5045_capture_source = { .num_items = 2, .items = { { 'IntMic', 0x1 }, { 'LineIn', 0x2 }, } }; I think that it's better to change the name of capture_source to avoid misunderstanding. 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 - New model for conexant 5045 codec to support benq r55eJiang Zhe1-0/+55
The benq r55e laptop have 3 jacks on the front panel. One for HP, one for Line In and one for Mic In. This patch implemented a new model to support it. 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] Remove sound/driver.hTakashi Iwai1-1/+0
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 model=laptop for HP 350 laptopTakashi Iwai1-0/+1
Added the proper model=laptop for HP 350 laptop with Cxt5045 codec. 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 Iwai1-3/+3
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-codec - Avoid overload of PCM volume on Cx5045 codecTakashi Iwai1-0/+11
The PCM volume of Cx5045 codec has overload that isn't useful but rather harmful. Add a hack to override the amp info to set the max level 0 dB. 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 Iwai1-1/+1
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-codec - Add model for Fujitsu V5505Takashi Iwai1-0/+1
Added model=laptop for Fujitsu V5505 with Cxt5405 codec. 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 Iwai1-1/+1
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 Conexant 5045 volumesTakashi Iwai1-14/+19
Fixed the init verbs and added the missing volume controls so that the driver works again with Conexant 5045 codec chip. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2007-10-16[ALSA] hda-codec - Clean up bind-controlsTakashi Iwai1-50/+18
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 Iwai1-33/+33
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 Iwai1-24/+4
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>