aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/patch_analog.c
Commit message (Collapse)AuthorAge
* ALSA: hda - Disable tigger at pin-sensing on AD codecsTakashi Iwai2009-12-25
| | | | | | | | | | | | Analog Device codecs seem to have problems with the triggering of pin-sensing although their pincaps give the trigger requirements. Some reported that constant CPU load on HP laptops with AD codecs. For avoiding this regression, add a flag to codec struct to notify explicitly that the codec doesn't suppot the trigger at pin-sensing. Tested-by: Maciej Rutecki <maciej.rutecki@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda: Fix max PCM level to 0 dB for AD1981_HPDaniel T Chen2009-12-14
| | | | | | | | | | BugLink: https://bugs.launchpad.net/bugs/461062 The original reporter states that PCM maxes at +12 dB and results in very bad distortion. Cap PCM at 0 dB to resolve this symptom. Signed-off-by: Daniel T Chen <crimsun@ubuntu.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Generalize EAPD inversion check in patch_analog.cTakashi Iwai2009-12-08
| | | | | | | Add a flag to spec field so that the EAPD inversion can be checked outside the relevant control callbacks. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Replace the rest of jack-detections with snd_hda_jack_detect()Takashi Iwai2009-11-18
| | | | Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix build errors with CONFIG_SND_HDA_INPUT_BEEP=nTakashi Iwai2009-11-16
| | | | | | Disable beep-related codes when CONFIG_SND_HDA_INPUT_BEEP isn't set. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Get rid of magic digits for subdev hackTakashi Iwai2009-11-16
| | | | | | | Define a proper const for a magic 31bit flag for subdev / NID setup with a brief comment. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - proc - add support for dynamic controls to mixer<->NID mappingJaroslav Kysela2009-11-16
| | | | | | | | This patch adds support for dynamically created controls to proc codec file (Control: lines). Signed-off-by: Jaroslav Kysela <perex@perex.cz> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - proc - introduce Control: lines to show mixer<->NID assignmentJaroslav Kysela2009-11-16
| | | | | | | | This is an initial patch to show universal control<->NID assigment in proc codec file. The change helps to debug codec related problems. Signed-off-by: Jaroslav Kysela <perex@perex.cz> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda_intel: Digital PC Beep - change behaviour for input layerJaroslav Kysela2009-11-16
| | | | | | | | | | | | | | | | Original implementation was keeping registered input device for SND_BEEP and SND_TONE events all time. This patch changes this behaviour: If digital PC Beep is turned off using universal control switch, the input device is unregistered. Explanation: The kd_mksound() send SND_BEEP and SND_TONE only to last registered device acceping those events. It means that the HDA Intel audio driver blocks also the internal PC Speaker device (pcspkr.c driver) even if the HDA Beep is muted. The user can easy disable all beeps using 'setterm -blength 0' or 'xset b off' command. Signed-off-by: Jaroslav Kysela <perex@perex.cz> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Analog Devices AD1984A add HP Touchsmart modelMiguel de Barros2009-09-29
| | | | | | | | | | | | | | | | Reference: ALSA bug #0004614 https://bugtrack.alsa-project.org/alsa-bug/view.php?id=4614 port-A (0x11) - front hp-out port-D (0x12) - rear line out port-E (0x1c) - front mic-in port-F (0x16) - Internal speakers digital-mic (0x17) - Internal mic init verbs, mixers, jack sensing and PCI_QUIRK to support this hardware Signed-off-by: Miguel de Barros <miguel.de.barros@bluewin.ch> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Unmute docking line-out as default with AD1984A codecTakashi Iwai2009-09-01
| | | | | | | Unmute the docking-station line-out as default on machines with AD1984A codec chip. It can be still muted via "Dock" mixer switch. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Add missing GPIO initialization for AD1984A laptop modelTakashi Iwai2009-08-31
| | | | | | | A similar initialization of GPIO1 pin like mobile model is needed for laptop model, too. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Add support of docking auto-mute/mic for AD1984A laptop modelTakashi Iwai2009-08-31
| | | | | | | Add the support of automatic mute and mic-switching of the docking station HP and mic plugs for AD1984A laptop model for some HP machines. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Add more quirk for HP laptops with AD1984ATakashi Iwai2009-08-27
| | | | | | More entries for HP laptops to get them working properly. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* Merge branch 'fix/hda' into topic/hdaTakashi Iwai2009-08-19
|\
| * ALSA: hda: enable speaker output for Compaq 6530s/6531sWu Fengguang2009-08-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | HP Compaq 6530s and 6531s internal speaker is silence or becomes silence within 1 minute after fresh boot. It is found that pin 0x1c must be set to PIN_OUT mode to make the speaker work. This is weird - line-in pin 0x1c and speaker pin 0x16 seem to be unrelated. The codec differences before/after patch are: @@ Node 0x17 [Pin Complex] wcaps 0x40020b: Pin Default 0x41a6e130: [N/A] Mic at Ext Rear Conn = Digital, Color = White DefAssociation = 0x3, Sequence = 0x0 Misc = NO_PRESENCE - Pin-ctls: 0x24: IN + Pin-ctls: 0x40: OUT @@ Node 0x1c [Pin Complex] wcaps 0x40018d: Pin Default 0x41813021: [N/A] Line In at Ext Rear Conn = 1/8, Color = Blue DefAssociation = 0x2, Sequence = 0x1 - Pin-ctls: 0x24: IN VREF_80 + Pin-ctls: 0x40: OUT VREF_HIZ Unsolicited: tag=00, enabled=0 Connection: 1 0x24 Tests show that it won't impact (external) Mic recording. Reported-by: "Lin, Ming M" <ming.m.lin@intel.com> Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Reword information messages for BIOS auto-probing modeTakashi Iwai2009-07-28
| | | | | | | | | | | | | | | | | | | | | | The sentense "Unknown model for xxx, ..." makes people too nervous and drives them to a direction to a wrong "fix" by giving any mismatching model option. Let's rephrase the messages to be more nice and easy (at least that won't make people suspect conspiracies). Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge branch 'fix/hda' into topic/hdaTakashi Iwai2009-07-24
|\|
| * ALSA: hda - Restore GPIO1 properly at resume with AD1984ATakashi Iwai2009-07-22
| | | | | | | | | | | | | | | | | | | | | | | | | | The commit 099db17e66294b02814dee01c81d9abbbeece93e introduced a regression at suspend/resume where the GPIO1 bit isn't properly restored, thus the speaker output gets muted initially after resume. The fix is simple, use the cached write for storing GPIO data. Reference: Novell bnc#522764 https://bugzilla.novell.com/show_bug.cgi?id=522764 Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge branch 'fix/hda' into topic/hdaTakashi Iwai2009-07-03
|\|
| * ALSA: hda - Add GPIO1 control at muting with HP laptopsTakashi Iwai2009-07-03
| | | | | | | | | | | | | | | | | | | | | | | | | | HP laptops with AD1984A codecs (at least mobile models) need to set GPIO1 appropriately to indicate the mute state. The BIOS checks this bit to judge whether the mute on or off is sent via F8 key. Without changing this bit, the BIOS can be confused and may toggle the mute wrongly. Reference: Novell bnc#515266 https://bugzilla.novell.com/show_bug.cgi?id=515266 Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge branch 'fix/hda' into topic/hdaTakashi Iwai2009-07-01
|\|
| * ALSA: hda - Add quirk for HP 6930pTakashi Iwai2009-07-01
| | | | | | | | | | | | Added a quirk model=laptop for HP 6930p (103c:30dc) with AD1984A codec. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Fix support for Samsung P50 with AD1986A codecTakashi Iwai2009-06-24
| | | | | | | | | | | | | | Samsung P50 requires the HP auto-muting unlike other Samsung models. Added a new model=samsung-p50 to support this. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Generalize the pin-detect quirk for Lenovo N100Takashi Iwai2009-06-24
| | | | | | | | | | | | | | | | Add a new flag to ad_spec struct so that the same hack can be used for any other models (if any). This also allows other models to reuse the auto-mute functions. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Simplify AD1986A mixer definitionsTakashi Iwai2009-06-24
|/ | | | | | | | Split mixer element arrays of AD1986A models to several pieces so that each model can share the same mixer arrays. This removes lots of duplicated data. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix init verbs of AD1884A mobile modelTakashi Iwai2009-04-23
| | | | | | | | | | | | | | | The current ad1884a-mobile model has a problem that the speaker output doesn't work sometimes after boot or power-saving on some HP laptops. It seems that the verbs accessing to the non-functional widgets cause this problem. This patch simplifies the init verbs for mobile model not to touch unnecessary setups so that it avoids the speaker-mute problem. Reference: Novell bnc#495668 https://bugzilla.novell.com/show_bug.cgi?id=495668 Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Add upper-limit of mixer amp for AD1884A-laptop model, tooTakashi Iwai2009-04-16
| | | | | | | Add the upper-limit of mixer amp for AD1884A-laptop model just like the mobile model for some HP laptops. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - add missing comma in ad1884_slave_volsAkinobu Mita2009-04-06
| | | | | | Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Clean up / fix quirks for HP laptops with AD1984ATakashi Iwai2009-02-25
| | | | | | | Use SND_PCI_QUIRK_MASK() to clean up / support better HP laptops with AD1984A codec. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* Merge branch 'test/hda-pincfg' into topic/hdaTakashi Iwai2009-02-23
|\
| * ALSA: hda - Remove codec-specific pin save/restore functionsTakashi Iwai2009-02-20
| | | | | | | | | | | | Replace the accessor to pin defaults with the common code for caching. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Don't give over 0dB volume for AD1984A HP laptopsTakashi Iwai2009-02-23
|/ | | | | | | | Set the upper limit 0dB to the volume of mixer amp 0x20 for AD1984A HP laptops. The overloaded volume may damage the internal speaker. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Clean up quirks for HP laptops with AD1984ATakashi Iwai2009-02-16
| | | | | | Clean up quirks for HP laptops with AD1984A using SND_PCI_QUIRK_MASK() Signed-off-by: Takashi Iwai <tiwai@suse.de>
* Merge branch 'fix/hda' into topic/hdaTakashi Iwai2009-02-13
|\
| * ALSA: hda - Add snd_hda_multi_out_dig_cleanup()Takashi Iwai2009-02-13
| | | | | | | | | | | | | | | | | | | | | | | | Added the helper function snd_hda_multi_out_dig_cleanup() to clean up the digital outputs with multi setup. This call is needed in cases the codec supports multiple digital outputs as slaves. Otherwise the slave widgets aren't properly cleaned up. For a single digital output (e.g. in patch_conexant.c), this call isn't needed. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Add missing terminator in slave dig-out arrayTakashi Iwai2009-02-13
| | | | | | | | | | | | | | Added the missing terminator for ad1989b_slave_dig_outs[]. Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Detect multiple digital-out pinsTakashi Iwai2009-02-11
| | | | | | | | | | | | | | | | | | Detect multiple digital-out pins in snd_hda_parse_pin_defconfig(). The dig_out_pin and dig_out_type fields become arrays. The codec parser still doesn't use this multiple pins detection, though. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Clean up quirk listsTakashi Iwai2009-02-09
| | | | | | | | | | | | | | Clean up quirk lists with bit masks. Also, sorted in numerical order for alc662_cfg_tbl[]. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Use digital beep for AD codecsTakashi Iwai2009-02-06
| | | | | | | | | | | | | | Use digital beep instead of analog pc-beep for AD codecs. Create the beep mixer controls dynamically on demand. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Add quirk for another HP laptopTakashi Iwai2009-02-05
| | | | | | | | | | | | Add model=laptop entry for another HP laptop (103c:3077) with AD1984A. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Add quirk for HP zenith laptopTakashi Iwai2009-02-05
| | | | | | | | | | | | Added model=laptop for another HP laptop (103c:3072) with AD1984A codec. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Fix wrong initial verb for AD1984 thinkpad modelTakashi Iwai2009-01-23
| | | | | | | | | | | | The docking mic-boost (0x25) has no mute bit. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Fix invalid verbs for mic-boosts on AD1884*Takashi Iwai2009-01-23
| | | | | | | | | | | | | | The mic-boosts (0x14 and 0x15) on AD1884* codecs are input-amps, not output-amps. Fix the invalid initialization verbs. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Remove invalid amp initializations for AD1988* codecsTakashi Iwai2009-01-23
| | | | | | | | | | | | | | The ADC widgets on AD1988* codecs have no amp controls. Remove invalid initialization verbs. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Fix initial verbs for mic-boosts on AD1981HDTakashi Iwai2009-01-23
|/ | | | | | | The mic boosts (NID 0x08 and 0x18) are input-amps, not output-amps. Fix the initial verbs for them. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix typos for AD1882 codecsClemens Fruhwirth2009-01-07
| | | | | | | Fixed typos of codec-id checks for AD1882/AD1882A. Cc: stable@kernel.org Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Add quirk for HP 2230sTakashi Iwai2009-01-07
| | | | | | | | Added a quirk for HP 2230s, model=laptop, with AD1984A codec. Reference: Novell bnc#461660 https://bugzilla.novell.com/show_bug.cgi?id=461660 Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Add quirk for HP6730B laptopTakashi Iwai2008-12-10
| | | | | | | | | Added model=laptop for HP 6730B laptop with AD1984A codec. Reference: Novell bnc#457909 https://bugzilla.novell.com/show_bug.cgi?id=457909 Signed-off-by: Takashi Iwai <tiwai@suse.de> Cc: stable@kernel.org
* 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>