aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci
Commit message (Collapse)AuthorAgeFilesLines
* ALSA: emu10k1: don't update firmware during suspend/resumeTakashi Iwai2012-11-222-0/+6
| | | | | | | Add a flag to suppress the update in emu1010_firmware_thread() during suspend/resume. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: emu10k1: cache emu1010 firmwareTakashi Iwai2012-11-221-52/+36
| | | | | | | Instead of calling request_firmware() at each time, keep the obtained firmware internally and reuse it. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hdsp: improve firmware cachingTakashi Iwai2012-11-222-28/+35
| | | | | | | | | | | | As the recent firmware code tries to reread and cache the firmware by itself, it's even better to keep the struct firmware data instead of keeping a local copy. Also, it makes little sense to disable the fw loader for this driver, so added the explicit dependency, too. Last, but not least, allocate the firmware data loaded via ioctl in vmalloc'ed buffer instead, as the firmware size isn't that small. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: ymfpci: Use kmalloc for register buffer for PMTakashi Iwai2012-11-221-3/+3
| | | | | | | Th buffer to save registers for PM is enough small for kmalloc(), not necessary to use vmalloc(). Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Don't release firmware when CONFIG_PM is setTakashi Iwai2012-11-221-0/+2
| | | | | | | | | | | | 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: pcxhr: hard dependency on the standard fw loaderTakashi Iwai2012-11-222-86/+1
| | | | | | | Like the previous commit for mixart, drop the home-baked fw loader code. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: mixart: hard dependency on the standard fw loaderTakashi Iwai2012-11-222-76/+1
| | | | | | | | | | It makes no longer sense to keep the old hwdep user-space firmware loading, which has been deprecated since ages ago. Just add a hard dependency on CONFIG_FW_LOADER and drop the useless code. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Don't overwrite the pin default configsTakashi Iwai2012-11-221-42/+3
| | | | | | | | | | | | | | | | | | 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-213-4/+0
| | | | | | | | 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-211-4/+3
| | | | Signed-off-by: Takashi Iwai <tiwai@suse.de>
* Merge branch 'for-linus' into for-nextTakashi Iwai2012-11-196-27/+47
|\ | | | | | | | | | | | | | | 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-191-19/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | 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-192-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | 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: fm801: precedence bug in snd_fm801_tea575x_get_pins()Dan Carpenter2012-11-141-3/+8
| | | | | | | | | | | | | | | | There is a precedence bug because | has higher precedence than ?:. This code was cut and pasted and I fixed a similar bug a few days ago. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: es1968: precedence bug in snd_es1968_tea575x_get_pins()Dan Carpenter2012-11-131-3/+8
| | | | | | | | | | | | | | | | | | | | I don't think this works as intended. '|' higher precedence than ?: so the bitwize OR "0 | (val & STR_MOST)" is a no-op. I have re-written it to be more clear. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Add a missing quirk entry for iMac 9,1Takashi Iwai2012-11-121-0/+1
| | | | | | | | | | | | | | | | 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-191-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | 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-192-9/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: ice1724: Fix build error without CONFIG_PM_SLEEPTakashi Iwai2012-11-121-0/+2
| | | | | | | | | | | | Bah, forgot this again... Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: ice1724: enable suspend on unknown ICE1724 cardsOndrej Zary2012-11-121-0/+2
| | | | | | | | | | | | | | | | | | | | Assume that unknown ICE1724-based cards are AC97-only that can suspend without any additional card-specific code. This fixes suspend on Gainward Hollywood@Home 7.1. Signed-off-by: Ondrej Zary <linux@rainbow-software.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Removed unused non-standard name "C/LFE"David Henningsson2012-11-091-1/+1
| | | | | | | | | | | | | | 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-087-2/+40
| | | | | | | | | | | | | | 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-084-11/+39
| | | | | | | | | | | | | | | | 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-088-32/+68
|\ \ | |/
| * ALSA: hda - Add new codec ALC668 and ALC900 (default name ALC1150)Kailang Yang2012-11-081-0/+2
| | | | | | | | | | | | 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-081-13/+11
| | | | | | | | | | | | | | | | | | 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: hdspm - Fix sync check reporting on RME RayDATAdrian Knoth2012-11-071-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The RayDAT reports the sync status of its inputs in consecutive bit positions, so all we do in hdspm_s1_sync_check is to iterate over idx: status = hdspm_read(hdspm, HDSPM_RD_STATUS_1); lock = (status & (0x1<<idx)) ? 1 : 0; sync = (status & (0x100<<idx)) ? 1 : 0; The index is given in kcontrol->private_value: HDSPM_SYNC_CHECK("WC SyncCheck", 0), HDSPM_SYNC_CHECK("AES SyncCheck", 1), HDSPM_SYNC_CHECK("SPDIF SyncCheck", 2), HDSPM_SYNC_CHECK("ADAT1 SyncCheck", 3), HDSPM_SYNC_CHECK("ADAT2 SyncCheck", 4), HDSPM_SYNC_CHECK("ADAT3 SyncCheck", 5), HDSPM_SYNC_CHECK("ADAT4 SyncCheck", 6), HDSPM_SYNC_CHECK("TCO SyncCheck", 7), HDSPM_SYNC_CHECK("SYNC IN SyncCheck", 8), The patch corrects the indicated sync flags by passing the proper index value to hdspm_s1_sync_check(). Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Add pin fixups for ASUS G75Takashi Iwai2012-11-071-0/+11
| | | | | | | | | | | | | | | | | | 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-071-0/+14
| | | | | | | | | | | | | | | | | | | | | | 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-071-7/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-051-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: es1968: Add ESS vendor ID to pm_whitelistOndrej Zary2012-11-051-0/+2
| | | | | | | | | | | | | | | | | | Add generic ESS vendor ID to pm_whitelist. This should fix suspend on all Maestro-2 and Maestro-2E based PCI cards. Tested on Terratec DMX and SF64-PCE2. Signed-off-by: Ondrej Zary <linux@rainbow-software.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: HDA: Mark CS260x immutable structures constDaniel J Blueman2012-11-051-3/+2
| | | | | | | | | | | | | | 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-051-5/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | 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-051-1/+1
| | | | | | | | | | | | 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-041-0/+2
| | | | | | | | | | | | | | | | 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: Fix typo in drivers soundMasanari Iida2012-11-041-1/+1
| | | | | | | | | | | | | | Correct spelling typo in debug messages within drivers/sound Signed-off-by: Masanari Iida <standby24x7@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: ice1724: Fix rate setup after resumeTakashi Iwai2012-10-311-1/+6
| | | | | | | | | | | | | | | | | | The rate isn't restored properly after resume since it's only set up in hw_params, and not in prepare callback. For fixing it, put the corresponding call to resume callback as well. Reported-and-tested-by: Ondrej Zary <linux@rainbow-software.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Keep power link on for PantherPoint HDMIDavid Henningsson2012-11-071-2/+6
| | | | | | | | | | | | | | | | | | | | | | 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: virtuoso: Xonar DSX supportSergiu Giurgiu2012-11-052-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for ASUS - Xonar DSX sound cards. Tested on openSUSE 12.2 with kernel: Linux 3.4.6-2.10-desktop #1 SMP PREEMPT Thu Jul 26 09:36:26 UTC 2012 (641c197) x86_64 x86_64 x86_64 GNU/Linux Works: - play sounds - adjust volume on master channel. - mute . Since Xonar DS uses the same chip, everything that works for DS should work for DSX as well. Signed-off-by: Sergiu Giurgiu <sgiurgiu11@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - stop setup_dig_out_stream() causing clicksLaurence Darby2012-11-041-5/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | 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-306-100/+182
|\ \ | |/ | | | | ... for migrating the core changes for USB-audio disconnection fixes
| * ALSA: hda - Fix mute-LED setup for HP dv5 laptopGustavo Maciel Dias Vieira2012-10-261-0/+2
| | | | | | | | | | | | | | | | | | | | 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: als3000: check for the kzalloc return valueDenis Kirjanov2012-10-221-0/+4
| | | | | | | | | | Signed-off-by: Denis Kirjanov <kirjanov@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Fix silent headphone output from Toshiba P200Takashi Iwai2012-10-201-1/+18
| | | | | | | | | | | | | | | | | | | | | | 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: hdspm - Fix coding style in CTL_ELEM macrosAdrian Knoth2012-10-201-90/+90
| | | | | | | | | | | | | | | | | | | | | | checkpatch.pl discourages the use of spaces at the beginning of lines. Some of the CTL_ELEM defines were not properly indented. This patch replaces the leading spaces by tabs. No functionality is changed, the commit is purely cosmetic. Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hdspm - Fix typo in kcontrol element on RME MADI cardsAdrian Knoth2012-10-201-1/+1
| | | | | | | | | | Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hdspm - Fix sync_in detection on AES/AES32Adrian Knoth2012-10-201-2/+2
| | | | | | | | | | | | | | | | According to the documentation, AES32 cards use a different bit position for reporting the sync_in status. Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hdspm - Fix sync_in reporting on RME MADI cardsAdrian Knoth2012-10-201-0/+5
| | | | | | | | | | | | | | | | In contrast to AES32, MADI uses the first status register to report the sync_in status. Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hdspm - Also report autosync_sample_rate on MADI and MADIfaceAdrian Knoth2012-10-201-0/+16
| | | | | | | | | | | | | | | | | | MADI and MADIface used to report the autosync_sample_rate. This functionality was lost in commit 0dca1793063c28dde8f6c49c9c72203fe5cb6efc, this commit now adds it back. Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>