aboutsummaryrefslogtreecommitdiff
path: root/sound/pci
AgeCommit message (Collapse)AuthorFilesLines
2013-03-07ALSA: hda - Consolidate add_in_jack_modes and add_out_jack_modes hintsTakashi Iwai3-18/+14
There is no big merit to distinguish these two hints. Instead, just have a single flag, add_jack_modes, for creating the jack mode enum ctls for both I/O directions. The hint string parser code is left and translated as add_jack_modes just for keeping compatibility. Signed-off-by: Takashi Iwai <[email protected]>
2013-03-07ALSA: hda - Allow to change I/O direction in hp/mic jack mode ctlTakashi Iwai1-2/+2
The previous commits added the capability to change the pin control of hp/mic shared jack, but it actually didn't work as expected when the value is changed from the output to the input, since I forgot to reset the pin I/O bit in that case. This patch fixes the problem. Signed-off-by: Takashi Iwai <[email protected]>
2013-03-07ALSA: hda - Add some model name strings for ALC260Takashi Iwai1-7/+27
In order to let user test the known workaround more easily, give a few known fixups for ALC260 to the model strings so that it can be passed via the module option. Also, move the unusual setups found in FSC S7020 fixup into a special model, fujitsu-jwse, Jonathan Woithe Special Edition. Signed-off-by: Takashi Iwai <[email protected]>
2013-03-07ALSA: hda - Handle shared hp/mic jack modeTakashi Iwai1-8/+169
When a headphone jack is configured as a shared hp/mic jack, the jack mode enum needs to handle both input and output directions. Signed-off-by: Takashi Iwai <[email protected]>
2013-03-07ALSA: hda - Add the generic Headphone Mic featureTakashi Iwai2-55/+94
This patch improves the generic parser code to allow to set up the headphone jack as a mic input. User can enable this feature by giving hp_mic hint string. The former shared hp/mic feature for the single built-in mic is still retained. This detection can be disabled now via hp_mic_detect hint string, too. Signed-off-by: Takashi Iwai <[email protected]>
2013-03-07ALSA: ice1712: Initialize card->private_data properlySean Connor1-0/+2
Set card->private_data in snd_ice1712_create for fixing NULL dereference in snd_ice1712_remove(). Signed-off-by: Sean Connor <[email protected]> Cc: <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2013-03-07ALSA: hda - Add support of new codec ALC233Kailang Yang1-0/+2
It's compatible with ALC282. Signed-off-by: Kailang Yang <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2013-03-07ALSA: hda/ca0132 - Avoid division by zero in dspxfr_one_seg()Xi Wang1-2/+6
Move the zero check `hda_frame_size_words == 0' before the modulus `buffer_size_words % hda_frame_size_words'. Also remove the redundant null check `buffer_addx == NULL'. Signed-off-by: Xi Wang <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2013-03-07ALSA: hda - check NULL pointer when creating SPDIF PCM switchMengdong Lin1-2/+7
If the new control cannot be created, this function will return to avoid snd_hda_ctl_add dereferencing a NULL control pointer. Signed-off-by: Mengdong Lin <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2013-03-07ALSA: hda - check NULL pointer when creating SPDIF controlsMengdong Lin1-0/+2
If the SPDIF control array cannot be reallocated, the function will return to avoid dereferencing a NULL pointer. Signed-off-by: Mengdong Lin <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2013-02-25ALSA: emu10k1: Allow to switch hardware sampe rate on EMUMihail Zenkov1-2/+6
Commit 57e5c63007955838043e34c732d224b2cbbb128f "emu10k1: allow to disable the SRC" force hardware use only one rate (48000 hz). EMU 0404/1010/1616 have support two hardware sampling rates (44100 and 48000 hz). This patch add check if we have EMU 0404/1010/1616 and choose correct sample rate to restrict. Signed-off-by: Mihail Zenkov <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2013-02-25ALSA: hda - Enable beep for ASUS EeeBox EBP1501PTakashi Iwai1-0/+1
Reported-by: Harald Becker <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2013-02-25ALSA: emu10k1: Load firmware when it was already cachedFlorian Zeitz1-5/+6
This expands the regression fix from d28215996b0c3a900411769039aa3c54cf7008ab. The firmware also needs to be loaded when it was already cached. Signed-off-by: Florian Zeitz <[email protected]> Cc: <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2013-02-25ALSA: ice1724: M-Audio Audiophile192: Fix SPDIF inputJonas Petersen1-13/+24
This patch fixes initialization of the AK4114 chip so spdif capture is working properly. Worked out together with Pavel Hofman. Signed-off-by: Jonas Petersen <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2013-02-25ALSA: bt87x: Make load_all parameter working againTakashi Iwai1-2/+17
Along with a clean up commit [e9f66d9b9: ALSA: pci: clean up using module_pci_driver()], bt87x driver lost the functionality of load_all parameter. This patch does a partial revert of the commit only for bt87x.c to recover it. Reported-by: Clemens Ladisch <[email protected]> Cc: <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2013-02-22ALSA: emu10k1: Fix regression in emu1010 firmware loadingMihail Zenkov1-0/+5
This patch fix regression in emu1010 firmware loading after http://git.alsa-project.org/?p=alsa-kprivate.git;a=commitdiff;h=b209c4dfcd960ab176d4746ab7dc442a3edb4575 I just revert small part of this commit. Tested on emu1212m pci. Signed-off-by: Mihail Zenkov <[email protected]> Cc: <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2013-02-22ALSA: hda - hdmi: Make jacks phantom, if they're not detectableDavid Henningsson1-0/+3
Just as for analog codecs, a jack that isn't suitable for detection (in this case, NO_PRESENCE was set) should be a phantom Jack instead of a normal one. Thanks to Raymond Yau for spotting. Cc: [email protected] BugLink: https://bugs.launchpad.net/bugs/961286 BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=903869 Signed-off-by: David Henningsson <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2013-02-19ALSA: hda - hdmi: Notify userspace when ELD control changesDavid Henningsson1-2/+12
ELD validity can change during the lifetime of a presence detect, so we need to be able to listen for changes on the ELD control. Signed-off-by: David Henningsson <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2013-02-19ALSA: hda - hdmi: Protect ELD bufferDavid Henningsson3-13/+47
Because the eld buffer can be simultaneously accessed from both workqueue context (updating) and process context (kcontrol read), we need to protect it with a mutex to guarantee consistency. To avoid holding the mutex while reading the ELD info from the codec, we introduce a temporary eld buffer. Signed-off-by: David Henningsson <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2013-02-19ALSA: hda - hdmi: Refactor hdmi_eld into parsed_hdmi_eldDavid Henningsson3-44/+57
For better readability, the information that is parsed out of the ELD data is now put into a separate parsed_hdmi_eld struct. Signed-off-by: David Henningsson <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2013-02-19ALSA: hda - hdmi: Do not expose eld data when eld is invalidDavid Henningsson1-7/+18
Previously, it was possible to read the eld data of the previous monitor connected. This should not be allowed. Also refactor the function slightly. Signed-off-by: David Henningsson <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2013-02-19ALSA: hda - hdmi: ELD shouldn't be valid after unplugDavid Henningsson1-0/+1
Currently, eld_valid is never set to false, except at kernel module load time. This patch makes sure that eld is no longer valid when the cable is (hot-)unplugged. Cc: [email protected] Signed-off-by: David Henningsson <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2013-02-18ALSA: hda - Fix the silent speaker output on Fujitsu S7020 laptopTakashi Iwai1-1/+7
In the recent update, Fujitsu S7020 laptop with ALC260 codec lost the speaker output, no matter how the amps and the pins are set. After a long debugging session, we found out that the default codec init code is harmful for this machine, and we have to reset it to ALC_INIT_NONE. Reported-and-tested-by: Jonathan Woithe <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2013-02-18ALSA: hda - add quirks for mute LED on two HP machinesDavid Henningsson1-0/+19
These two machines have no mute LED string in BIOS. BugLink: https://bugs.launchpad.net/bugs/1128934 Tested-by: Tammy Yang <[email protected]> Signed-off-by: David Henningsson <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2013-02-14ALSA: au88x0 - Define channel map for au88x0Raymond Yau1-0/+23
Define channel map for playback, capture devices of au88x0 Signed-off-by: Raymond Yau <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2013-02-14ALSA: hda - Remove speaker clicks on CX20549David Henningsson1-0/+1
This chip needs the speaker pin to go to D3 to avoid clicks, so default_power_filter does not work here. This was found on Thinkpad R61i/T61i but I guess it applies to the entire chip. If not, quirks should be set for at least PCI SSID 17aa:20ac. Thanks to c4pp4 for testing. BugLink: https://bugs.launchpad.net/bugs/886975 Signed-off-by: David Henningsson <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2013-02-14ALSA: hda - Disable runtime PM for Intel 5 Series/3400Takashi Iwai1-1/+1
We've got a regression report wrt the IRQ issue related with the power-save on a Dell machine, and disabling runtime PM works around. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=53441 Cc: <[email protected]> [v3.7+] Signed-off-by: Takashi Iwai <[email protected]>
2013-02-13ALSA: hda - Increase badness for missing multi-ioTakashi Iwai1-1/+1
The current badness value used for the missing multi-io seems too weak, and the multi-io tends to be skipped for desktop configurations when no enough DACs are available. It's because the total badness of the multi-io becomes often larger than the badness with assigning an individual DAC to a headphone jack. This is good for one side, but it seems that the surround outputs are more demanded by that. This patch increases the badness value for the missing multi-io slightly so that the multi-io would be preferred than the individual headphone DAC if they conflict. Through the tests with hda-emu, mostly only desktop configurations with ALC662/663 and CMI codecs are affected by this change, and all look reasonable. Reported-by: Raymond Yau <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2013-02-12ALSA: hda - Fix broken workaround for HDMI/SPDIF conflictsTakashi Iwai2-23/+23
The commit [dcda58061: ALSA: hda - Add workaround for conflicting IEC958 controls] introduced a workaround for cards that have both SPDIF and HDMI devices for giving device=1 to SPDIF control elements. It turned out, however, that this workaround doesn't work well - - The workaround checks only conflicts in a single codec, but SPDIF and HDMI are provided by multiple codecs in many cases, and - ALSA mixer abstraction doesn't care about the device number in ctl elements, thus you'll get errors from amixer such as % amixer scontrols -c 0 ALSA lib simple_none.c:1551:(simple_add1) helem (MIXER,'IEC958 Playback Switch',0,1,0) appears twice or more amixer: Mixer hw:0 load error: Invalid argument This patch fixes the previous broken workaround. Instead of changing the device number of SPDIF ctl elements, shift the element indices of such controls up to 16. Also, the conflict check is performed over all codecs found on the bus. HDMI devices will be put to dev=0,index=0 as before. Only the conflicting SPDIF device is moved to a different place. The new place of SPDIF device is supposed by the updated alsa-lib HDA-Intel.conf, respectively. Reported-by: Stephan Raue <[email protected]> Reported-by: Anssi Hannula <[email protected]> Cc: <[email protected]> [v3.8] Signed-off-by: Takashi Iwai <[email protected]>
2013-02-12ALSA: hda/ca0132 - Add missing \n to debug printsTakashi Iwai1-75/+75
Signed-off-by: Takashi Iwai <[email protected]>
2013-02-12ALSA: hda/ca0132 - Fix type of INVALID_CHIP_ADDRESSTakashi Iwai2-3/+3
The chip address is 32bit long but INVALID_CHIP_ADDRESS is defined as an unsigned long. This makes dsp_chip_to_dsp_addx() misbehaving on 64bit architectures. Fix the INVALID_CHIP_ADDRESS definition to be 32bit. Reported-by: Dan Carpenter <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2013-02-12ALSA: hda - update documentation for no-primary-hp fixupFernando Luis Vázquez Cao1-1/+2
The problem addressed by this fixup is not specific to Vaio Z, affecting some Vaio all-in-one desktop PCs too. Update the code comments accordingly. Signed-off-by: Fernando Luis Vazquez Cao <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2013-02-12ALSA: hda - Workaround for silent output on Sony Vaio VGC-LN51JGB with ALC889Fernando Luis Vázquez Cao1-0/+1
Some Vaio all-in-one desktop PCs (for example VGC-LN51JGB) are affected by the same issue that caused Vaio Z laptops to become silent: the speaker pin must be connected to the first DAC even though the codec itself advertises flexible routing through any of the DACs. Use the no-primary-hp fixup for choosing the speaker pin as the primary so that the right DAC is assigned on this device. Cc: [email protected] Signed-off-by: Fernando Luis Vazquez Cao <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2013-02-11ALSA: ali5451: remove irq enabling in pointer callbackDenis Efremov1-1/+1
snd_ali_pointer function is called with local interrupts disabled. However it seems very strange to reenable them in such way. Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Denis Efremov <[email protected]> Cc: <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2013-02-11ALSA: rme32.c irq enabling after spin_lock_irqDenis Efremov1-1/+1
According to the other code in this driver and similar code in rme96 it seems, that spin_lock_irq in snd_rme32_capture_close function should be paired with spin_unlock_irq. Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Denis Efremov <[email protected]> Cc: <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2013-02-11ALSA: hda/ca0132 - Slight optimization for build with DSPTakashi Iwai1-0/+4
This reduces the resultant binary size. Signed-off-by: Takashi Iwai <[email protected]>
2013-02-10ALSA: hda - Fix memory leak and error handling in CA0132 DSP loaderTakashi Iwai2-4/+17
This patch fixes a few obvious bugs in DSP loader stuff: - Fix possible memory leaks in the error path - Avoid double-free calls in dma_reset() - Properly set/unset WC bits for DMA buffers - Add missing error status checks Signed-off-by: Takashi Iwai <[email protected]>
2013-02-10ALSA: CA0132: Improve the DSP transfer timeout calculationsIan Minett1-16/+25
Base the DSP firmware transfer and communication timeouts on jiffy values. Signed-off-by: Ian Minett <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2013-02-10ALSA: hda_intel: Add Device IDs for Intel Wellsburg PCHJames Ralston1-0/+5
This patch adds the HD Audio Device IDs for the Intel Wellsburg PCH Signed-off-by: James Ralston <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2013-02-08ALSA: hda - Yet another fix for broken HSW HDMI pin connectionsTakashi Iwai1-19/+37
A Haswell test machine showed that the invalid connection list, but this time it has only a single pin on the codec, thus the former fixup code doesn't work as it assumes the three pins blindly. This patch splits the former fixup code to two parts: - Enable eDP 1.2 for Haswell codec - Fix the connection list of pins on Haswell codec; the converter list is recorded dynamically in hdmi_add_cvt(), and applied in hdmi_add_pin() Signed-off-by: Mengdong Lin <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2013-02-08ALSA: hda - Add fixup for Haswell to enable all pin and convertor widgetsMengdong Lin1-0/+54
Some Haswell machines support more than one display outputs (HDMI or DP), but its BIOS may not enable the codec's 2nd and 3rd pin and output cvt widgets. This patch implements a board-specific fixup for Intel Haswell Machines: If the hidden pins are not enabled by BIOS, the driver will enable them and call common code to update the codec tree. Signed-off-by: Mengdong Lin <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2013-02-08ALSA: hda - Support rereading widgets under the function groupMengdong Lin2-0/+25
A codec may allow software to hide some unused pin/cvt widgets. Sometimes BIOS does not enable the hidden widgets properly although they are needed for the board. Thus the driver need to enable them as a board-specific fixup and the whole tree will change. This patch implements a common code for rereading codec widgets. So the fixup code can call it after enabling the hidden widgets. Signed-off-by: Mengdong Lin <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2013-02-07ALSA: hda - Remove limit of widget connectionsTakashi Iwai4-28/+61
Currently we set the max number of connections to be 32, but there seems codec that gives longer connection lists like AD1988, and we see errors in proc output and else. (Though, in the case of AD1988, it's a list of all codecs connected to a single vendor widget, so this must be something fishy, but it's still valid from the h/w design POV.) This patch tries to remove this restriction. For efficiency, we still use the fixed size array in the parser, but takes a dynamic array when the size is reported to be greater than that. Now the fixed array size is found only in patch_hdmi.c, but it should be fine, as the codec itself can't support so many pins. Reported-by: Raymond Yau <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2013-02-07ALSA: hda - Set non-snoop for Creative HD-audio controllersTakashi Iwai1-0/+3
... looks like we need this for stable operations. Signed-off-by: Takashi Iwai <[email protected]>
2013-02-07ALSA: add missing HAS_IOPORT and GENERIC_HARDIRQS dependenciesHeiko Carstens1-0/+1
Fix these two compile errors on s390 which does not have HAS_IOPORT nor GENERIC_HARDIRQS: sound/pci/lx6464es/lx6464es.c: In function ‘snd_lx6464es_free’: sound/pci/lx6464es/lx6464es.c:565:2: error: implicit declaration of function ‘ioport_unmap’ sound/soc/codecs/wm8903.c: In function ‘wm8903_set_pdata_irq_trigger’: sound/soc/codecs/wm8903.c:1954:9: error: implicit declaration of function ‘irq_get_irq_data’ Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2013-02-07ALSA: hda - Fix misc compile warnings in patch_ca0132.cTakashi Iwai1-8/+6
sound/pci/hda/patch_ca0132.c: In function ‘ca0132_is_vnode_effective’: sound/pci/hda/patch_ca0132.c:3331:15: warning: ‘nid’ may be used uninitialized in this function [-Wmaybe-uninitialized] sound/pci/hda/patch_ca0132.c:4345:13: warning: ‘ca0132_download_dsp’ defined but not used [-Wunused-function] Signed-off-by: Takashi Iwai <[email protected]>
2013-02-07Merge branch 'topic/hda-ca0132-dsp' into for-nextTakashi Iwai5-357/+4582
2013-02-07ALSA: hda - Use generic array for loopback list managementTakashi Iwai3-12/+17
Signed-off-by: Takashi Iwai <[email protected]>
2013-02-07ALSA: hda - Enable loopback accounts for CONFIG_PM=n, tooTakashi Iwai2-6/+1
The loopback list is referred by the VIA codec driver no matter whether CONFIG_PM is set or not, thus we need to enable it always. Otherwise it gets compile errors. Reported-by: Randy Dunlap <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2013-02-07ALSA: ice1712: fix boundary check in snd_wm8766_write()Dan Carpenter1-1/+1
The wm->regs[] array has WM8766_REG_COUNT (16) elements not WM8766_REG_RESET (31). Signed-off-by: Dan Carpenter <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>