aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/hda
Commit message (Collapse)AuthorAge
...
* | | ALSA: hda - Pass errors properly in alc_auto_check_switches()Takashi Iwai2012-11-30
| | | | | | | | | | | | Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - Refactor alc_kcontrol_new() usagesTakashi Iwai2012-11-30
| | | | | | | | | | | | | | | | | | | | | Allocate the name string and assign the structure in alc_kcontrol_new() itself to reduce the code. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - Use standard sort function in hda_auto_parser.cTakashi Iwai2012-11-30
| | | | | | | | | | | | | | | | | | Just refactoring, no functional changes. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - Call snd_array_init() early and only onceTakashi Iwai2012-11-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a preliminary patch for introducing a protection to access races of snd_array instances. Call snd_array_init() appropriately at the initialization time and don't call it twice. Also the allocations of codec-spec structs are cleaned up by helper functions in patch_sigmatel.c and patch_analog.c. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - Add a fixup for internal mic on MacBook Pro 8,1Takashi Iwai2012-11-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | The internal mic on MBP81 gives only the right channel, and the left channel is static. Add a verb to fix the ADC2 channel mode to expand mono right to stereo. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=50781 Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - Add missing verb applications in patch_cirrus.cTakashi Iwai2012-11-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We forgot to apply the fixup verbs in cs_init(). But adding the fixup verbs will break mbp101 fixup that has been fixed recently again, since the mbp101 fixup contains the wrong verbs to override. So these bogus verbs must be removed, too. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - Move static ADC setup for CS4206 to init verbsTakashi Iwai2012-11-23
| | | | | | | | | | | | | | | | | | It's constant, so better to be put in the static init array. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | Merge branch 'for-linus' into for-nextTakashi Iwai2012-11-22
|\| |
| * | ALSA: hda - Cirrus: Correctly clear line_out_pins when moving to speakerDavid Henningsson2012-11-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If this array is not cleared, the jack related code later might fail to create "Internal Speaker Phantom Jack" on Dell Inspiron 3420 and Dell Vostro 2420. BugLink: https://bugs.launchpad.net/bugs/1076840 Cc: stable@vger.kernel.org (3.6+) Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Add support for Realtek ALC292David Henningsson2012-11-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We found a new codec ID 292, and that just a simple quirk would enable sound output/input on this ALC292 chip. BugLink: https://bugs.launchpad.net/bugs/1081466 Cc: stable@vger.kernel.org Tested-by: Acelan Kao <acelan.kao@canonical.com> Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - Don't release firmware when CONFIG_PM is setTakashi Iwai2012-11-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new firmware code tries to re-read the formerly read firmware files before suspend. Thus it's wiser to keep the "patch" firmware in the driver for avoiding this unnecessary re-reading. Of course, this will consume a bit of memory for unused stuff, but the patch fw is supposed to be fairly small, so it's more benefit in the end. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - Don't overwrite the pin default configsTakashi Iwai2012-11-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since we keep the pin default config values anyway internally, we don't have to set the values in the codec. This patch removes the code writing the pincfg values. As a gratis bonus, we can remove also the code restoring the original pincfg values at PM resume or module free. This will give us more benefit, as it can reduce the unnecessary power-up of codecs. This won't change the driver functionality. The only difference would be that the codec proc file will show the original pincfg values instead of the actually referred values. The actually referred values can be determined from sysfs *_pin_configs files. (Also hda-emu was updated to follow this change.) Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - Remove shutup calls in free callbacksTakashi Iwai2012-11-21
| | | | | | | | | | | | | | | | | | | | | | | | The free callback is called at the state where no extra verbs are executed, thus calling *_shutup() is useless, as it's checking the shutdown flag. Remove such superfluous calls. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - Use standard helper functions in patch_hdmi.cTakashi Iwai2012-11-21
| | | | | | | | | | | | Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | Merge branch 'for-linus' into for-nextTakashi Iwai2012-11-19
|\| | | | | | | | | | | | | | | | | | | | | | | Merge the recent HD-audio codec change for fixing recursive suspend calls. Conflicts: sound/pci/hda/hda_codec.c
| * | ALSA: hda - Limit runtime PM support only to known Intel chipsTakashi Iwai2012-11-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We've got a report that the runtime PM may make the codec the unresponsive on AMD platforms. Since the feature has been tested only on the recent Intel platforms, it's safer to limit the support to such devices for now. This patch adds a new DCAPS bit flag indicating the runtime PM support, and mark it for Intel controllers. Reported-and-tested-by: Julian Wollrath <jwollrath@web.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Fix recursive suspend/resume callTakashi Iwai2012-11-19
| |/ | | | | | | | | | | | | | | | | | | | | | | When the bus reset is performed during the suspend/resume (including the power-saving too), it calls snd_hda_suspend() and snd_hda_resume() again, and deadlocks eventually. For avoiding the recursive call, add a new flag indicating that the PM is being performed, and don't go to the bus reset mode when it's on. Reported-and-tested-by: Julian Wollrath <jwollrath@web.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Add a missing quirk entry for iMac 9,1Takashi Iwai2012-11-12
| | | | | | | | | | | | | | | | This is another variant of iMac 9,1 with a different codec SSID. Reported-and-tested-by: Everaldo Canuto <everaldo.canuto@gmail.com> Cc: <stable@vger.kernel.org> [v3.3+] Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Fix Acer Aspire models with analog mics.Dylan Reid2012-11-19
| | | | | | | | | | | | | | | | | | | | | | | | | | The Acer Aspire AO756 has an analog built-in mic on nid 0x1b and an external mic on nid 0x19. The BIOS doesn't set this up. The mic detect on this Acer Aspire netbook and Acer C7 ChromeBook is only valid when the headphone is plugged. The detect circuit relies on the tip detect switch being closed on the jack. Tell hda_jack to ignore the mic sense unless the headphones are plugged. Signed-off-by: Dylan Reid <dgreid@chromium.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Allow jack state to depend on another jackDylan Reid2012-11-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce the concept of a "gated" jack. The gated jack's pin sense is only valid when the "gating" jack is plugged. This requires checking the gating jack when the gated jack changes and re-checking the gated jack when the gating jack is plugged/unplugged. This allows handling of devices where the mic jack detect floats when the headphone jack is unplugged. [Rewritten for fixing the possible snd_array reallocation, covering the missing callback calls and jack sync operations, as well as some code cleanups -- tiwai] Signed-off-by: Dylan Reid <dgreid@chromium.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Removed unused non-standard name "C/LFE"David Henningsson2012-11-09
| | | | | | | | | | | | | | A closer look shows that the name is not even used and can be removed. Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Apply a proper chmap for built-in 2.1 speakersTakashi Iwai2012-11-08
| | | | | | | | | | | | | | When 2.1 speakers are detected, use the corresponding channel map instead of the standard map with front+rear surrounds. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Give standard "Bass Speaker" mixer for 2.1 speakersTakashi Iwai2012-11-08
| | | | | | | | | | | | | | | | When two built-in speakers are found on the machine, we can suppose it's rather a 2.1 speaker system with a bass output instead of front/surround channels. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge branch 'for-linus' into for-nextTakashi Iwai2012-11-08
|\|
| * ALSA: hda - Add new codec ALC668 and ALC900 (default name ALC1150)Kailang Yang2012-11-08
| | | | | | | | | | | | Signed-off-by: Kailang Yang <kailang@realtek.com> Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Improve HP depop when system enter to S3Kailang Yang2012-11-08
| | | | | | | | | | | | | | | | | | alc269_toggle_power_output() was only use in ALC269VB. I rename it to alc269vb_toggle_power_output(). Signed-off-by: Kailang Yang <kailang@realtek.com> Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Add pin fixups for ASUS G75Takashi Iwai2012-11-07
| | | | | | | | | | | | | | | | | | To parse properly the subwoofer outputs on ASUS G75 laptop with VT1802 codec, correct the default configurations of speaker pins 0x24 and 0x33. Reported-by: Massimo Del Fedele <max@veneto.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Fix invalid connections in VT1802 codecTakashi Iwai2012-11-07
| | | | | | | | | | | | | | | | | | | | | | VT1802 codec provides the invalid connection lists of NID 0x24 and 0x33 containing the routes to a non-exist widget 0x3e. This confuses the auto-parser. Fix it up in the driver by overriding these connections. Reported-by: Massimo Del Fedele <max@veneto.com> Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Fix empty DAC filling in patch_via.cTakashi Iwai2012-11-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In via_auto_fill_adc_nids(), the parser tries to fill dac_nids[] at the point of the current line-out (i). When no valid path is found for this output, this results in dac = 0, thus it creates a hole in dac_nids[]. This confuses is_empty_dac() and trims the detected DAC in later reference. This patch fixes the bug by appending DAC properly to dac_nids[] in via_auto_fill_adc_nids(). Reported-by: Massimo Del Fedele <max@veneto.com> Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Force to reset IEC958 status bits for AD codecsTakashi Iwai2012-11-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Several bug reports suggest that the forcibly resetting IEC958 status bits is required for AD codecs to get the SPDIF output working properly after changing streams. Original fix credit to Javeed Shaikh. BugLink: https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/359361 Reported-by: Robin Kreis <r.kreis@uni-bremen.de> Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: HDA: Mark CS260x immutable structures constDaniel J Blueman2012-11-05
| | | | | | | | | | | | | | Mark structures that won't change const. Signed-off-by: Daniel J Blueman <daniel@quora.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: HDA: Fix digital microphone on CS420xDaniel J Blueman2012-11-05
| | | | | | | | | | | | | | | | | | | | | | | | | | Correctly enable the digital microphones with the right bits in the right coeffecient registers on Cirrus CS4206/7 codecs. It also prevents misconfiguring ADC1/2. This fixes the digital mic on the Macbook Pro 10,1/Retina. Based-on-patch-by: Alexander Stein <alexander.stein@systec-electronic.com> Signed-off-by: Daniel J Blueman <daniel@quora.org> Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda: Cirrus: Fix coefficient index for beep configurationAlexander Stein2012-11-05
| | | | | | | | | | | | Signed-off-by: Alexander Stein <alexander.stein@systec-electronic.com> Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - support Teradici 2200 host card audioLars R. Damerow2012-11-04
| | | | | | | | | | | | | | | | The audio chipset used in Teradici's Tera2 host cards is the same as that in the 1200 host cards. This patch allows ALSA to recognize the Tera2 cards. Signed-off-by: Lars R. Damerow <lars@pixar.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Keep power link on for PantherPoint HDMIDavid Henningsson2012-11-07
| | | | | | | | | | | | | | | | | | | | | | On some of the PantherPoint HDMI machines we currently enable, we're seeing trouble with unsol events, i e detecting monitor presence, especially when on battery and after suspend/resume. BugLink: https://bugs.launchpad.net/bugs/1075882 Tested-by: Cyrus Lien <cyrus.lien@canonical.com> Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - stop setup_dig_out_stream() causing clicksLaurence Darby2012-11-04
| | | | | | | | | | | | | | | | | | | | | | | | | | Starting audio or seeking in various music players causes setup_dig_out_stream() to be called, which resets the SPDIF stream, which caused one DAC (but not another) to make a clicking noise every time. This patch ensures the reset only happens when it needs to, which is when the format changes, and makes the code a little more readable. Signed-off-by: Laurence Darby <ldarby@tuffmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge branch 'for-linus' into for-nextTakashi Iwai2012-10-30
|\| | | | | | | ... for migrating the core changes for USB-audio disconnection fixes
| * ALSA: hda - Fix mute-LED setup for HP dv5 laptopGustavo Maciel Dias Vieira2012-10-26
| | | | | | | | | | | | | | | | | | | | The BIOS on HP dv5 doesn't have the DMI string to guide the setup of mute led GPIO and polarity. Associate this laptop with the hp-inv-led model. Signed-off-by: Gustavo Maciel Dias Vieira <gustavo@sagui.org> Tested-by: Vinícius Angiolucci <angiolucci@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Fix silent headphone output from Toshiba P200Takashi Iwai2012-10-20
| | | | | | | | | | | | | | | | | | | | | | By some reason, Toshiba laptop doesn't like the EAPD turned up for the headphone pin. Add a fix up code to force to turn down EAPD for NID 0x15. Bugzilla: https://bugzilla.novell.com/show_bug.cgi?id=569991 Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - add dock support for Thinkpad T430Stefán Freyr2012-10-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I have a Lenovo ThinkPad T430 and an UltraBase Series 3 docking station. Without this patch, if I plug my headphones into the jack on the computer, everything works fine. The computer speakers mute and the audio is played in the headphones. However, if I plug into the docking station headphone jack the computer speakers are muted but there is no audio in the headphones. Addresses https://bugs.launchpad.net/bugs/1060372 Signed-off-by: Joseph Salisbury <joseph.salisbury@canonical.com> Cc: stable@vger.kernel.org Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Always check array bounds in alc_get_line_out_pfxDavid Henningsson2012-10-17
| | | | | | | | | | | | | | | | | | | | Even when CONFIG_SND_DEBUG is not enabled, we don't want to return an arbitrary memory location when the channel count is larger than we expected. Cc: stable@kernel.org Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Stop LPIB delay counting on broken hardwareTakashi Iwai2012-10-16
| | | | | | | | | | | | | | | | | | | | | | If LPIB reports a pretty bad value, we can't trust such hardware for calculating the PCM delay. Automatically turn off the delay counting when such a problem is encountered. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=48911 Cc: <stable@vger.kernel.org> [v3.6] Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Add tracepoints to HD-audio controller driverTakashi Iwai2012-10-30
| | | | | | | | | | | | | | Add a couple of tracepoints to snd-hda-intel for tracing the position and the trigger timings. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: sound/pci/hda: remove CONFIG_EXPERIMENTALKees Cook2012-10-24
| | | | | | | | | | | | | | | | | | This config item has not carried much meaning for a while now and is almost always enabled by default. As agreed during the Linux kernel summit, remove it. Signed-off-by: Kees Cook <keescook@chromium.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda: support for wallclock timestampsPierre-Louis Bossart2012-10-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reuse code from clocksource to handle wall clock counter. Since wrapparound occurs, the audio timestamp is reinitialized to zero on a trigger. Synchronized linked devices will start counting from same reference to avoid any drift. Max buffer time is limited to 178 seconds to make sure wall clock counter does not overflow Wallclock timestamps are disabled on capture streams until we figure out how to handle digital inputs. Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - remove unused variable in azx_position_ok()Wei Yongjun2012-10-22
| | | | | | | | | | | | | | | | | | | | | | The variable stream is initialized but never used otherwise, so remove the unused variable. dpatch engine is used to auto generate this patch. (https://github.com/weiyj/dpatch) Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Don't enable unsol for jacks we're pollingDavid Henningsson2012-10-17
| | | | | | | | | | | | | | | | | | This will greatly reduce the frequency for detection errors in those cases where the hardware is "flaky", i e, rapidly changing between plugged and unplugged states even without user interaction. Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Add workaround for conflicting IEC958 controlsTakashi Iwai2012-10-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When both an SPDIF and an HDMI device are created on the same card instance, multiple IEC958 controls are created with indices=0, 1, ... But the alsa-lib configuration can't know which index corresponds actually to which PCM device, and both the SPDIF and the HDMI configurations point to the first IEC958 control wrongly. This patch introduces a (hackish and ugly) workaround: the IEC958 controls for the SPDIF device are re-labeled with device=1 when HDMI coexists. The device=1 corresponds to the actual PCM device for SPDIF, so it's anyway a better representation. In future, HDMI controls should be moved with the corresponding PCM device number, too. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Print PCI device name at "spurious message" warningsTakashi Iwai2012-10-17
| | | | | | | | | | | | ... to make it clear to see from which device it comes. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Implement a poll loop for jacks as a module parameterDavid Henningsson2012-10-15
| | | | | | | | | | | | | | | | | | Now that we have a generic unsol mechanism, we can implement a generic poll loop, which can be used for debugging, or if a codec's unsol mechanism is broken. Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>