- 01 2月, 2014 1 次提交
-
-
由 Stephen Warren 提交于
Commit 384a48d7 "ALSA: hda: HDMI: Support codecs with fewer cvts than pins" dynamically enabled each pin widget's PIN_OUT only when the pin was actively in use. This was required on certain NVIDIA CODECs for correct operation. Specifically, if multiple pin widgets each had their mux input select the same audio converter widget and each pin widget had PIN_OUT enabled, then only one of the pin widgets would actually receive the audio, and often not the one the user wanted! However, this apparently broke some Intel systems, and commit 6169b673 "ALSA: hda - Always turn on pins for HDMI/DP" reverted the dynamic setting of PIN_OUT. This in turn broke the afore-mentioned NVIDIA CODECs. This change supports either dynamic or static handling of PIN_OUT, selected by a flag set up during CODEC initialization. This flag is enabled for all recent NVIDIA GPUs. Reported-by: NUosis <uosisl@gmail.com> Cc: <stable@vger.kernel.org> # v3.13 Signed-off-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 30 1月, 2014 20 次提交
-
-
由 Hui Wang 提交于
When we plug a 3-ring headset on the Dell machine (Vendor ID: 0x10ec0255, Subsystem ID: 0x1028064d), the headset mic can't be detected, after apply this patch, the headset mic can work well. BugLink: https://bugs.launchpad.net/bugs/1260303 Cc: David Henningsson <david.henningsson@canonical.com> Tested-by: NDoro Wu <fan-cheng.wu@canonical.com> Cc: stable@vger.kernel.org Signed-off-by: NHui Wang <hui.wang@canonical.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Roman Volkov 提交于
Remove old SPI control functions, change anti-pop init sequence, remove some garbage from structures. The 'Apply' functions must be called at the mixer initialization, otherwise mixer settings sometimes will not be applied at startup. Signed-off-by: NRoman Volkov <v1ron@mail.ru> Signed-off-by: NClemens Ladisch <clemens@ladisch.de>
-
由 Roman Volkov 提交于
Change the 'put' function of the high-pass filter control to use the new SPI functions. Signed-off-by: NRoman Volkov <v1ron@mail.ru> Signed-off-by: NClemens Ladisch <clemens@ladisch.de>
-
由 Roman Volkov 提交于
First of all, we should not touch the GPIOs. They are not for selecting the capture source, but they seems just enable the whole audio input curcuit. The 'put' function calls the 'apply' functions to change register values. Change the order of capture sources. Signed-off-by: NRoman Volkov <v1ron@mail.ru> Signed-off-by: NClemens Ladisch <clemens@ladisch.de>
-
由 Roman Volkov 提交于
Modify the input_vol_* functions to use the new SPI routines, There is a new applying function that will be called when the capture source changed. Signed-off-by: NRoman Volkov <v1ron@mail.ru> Signed-off-by: NClemens Ladisch <clemens@ladisch.de>
-
由 Roman Volkov 提交于
I tried both variants: volume control and impedance selector. In the first case one minus is that we can't change the volume of multichannel output without additional software volume control. However, I am using this variant for the last three months and this seems good. All multichannel speaker systems have internal amplifier with the volume control included, but not all headphones have this regulator. In the second case, my software volume control does not save the value after reboot. Signed-off-by: NRoman Volkov <v1ron@mail.ru> Signed-off-by: NClemens Ladisch <clemens@ladisch.de>
-
由 Roman Volkov 提交于
Change the order of elements in the output select control. This will reduce the number of relay switches. Change 'put' function to call the oxygen_update_dac_routing() function. Otherwise multichannel playback does not work. Also there is a new function to apply settings, this prevents from duplicating the code. Signed-off-by: NRoman Volkov <v1ron@mail.ru> Signed-off-by: NClemens Ladisch <clemens@ladisch.de>
-
由 Roman Volkov 提交于
Actually CS4245 connected to the I2S channel 1 for capture, not channel 2. Otherwise capturing and playback does not work for CS4245. Signed-off-by: NRoman Volkov <v1ron@mail.ru> Signed-off-by: NClemens Ladisch <clemens@ladisch.de>
-
由 Roman Volkov 提交于
Moving the mixer code away makes things easier. The mixer will control the driver, so the functions of the driver need to be non-static. Signed-off-by: NRoman Volkov <v1ron@mail.ru> Signed-off-by: NClemens Ladisch <clemens@ladisch.de>
-
由 Roman Volkov 提交于
Change the function to read the data from the new shadow buffer. Signed-off-by: NRoman Volkov <v1ron@mail.ru> Signed-off-by: NClemens Ladisch <clemens@ladisch.de>
-
由 Roman Volkov 提交于
When selecting the audio output destinations (headphones, FP headphones, multichannel output), the channel routing should be changed depending on what destination selected. Also unnecessary I2S channels are digitally muted. This function called when the user selects the destination in the ALSA mixer. Signed-off-by: NRoman Volkov <v1ron@mail.ru> Signed-off-by: NClemens Ladisch <clemens@ladisch.de>
-
由 Roman Volkov 提交于
When selecting the audio sample rate for CS4245, the MCLK divider should also be changed. Signed-off-by: NRoman Volkov <v1ron@mail.ru> Signed-off-by: NClemens Ladisch <clemens@ladisch.de>
-
由 Roman Volkov 提交于
Change CS4245 initialization: different sequence and GPIO values, according to datasheets and reverse-engineering information. Change cleanup/resume/suspend functions, since they use initialization. Signed-off-by: NRoman Volkov <v1ron@mail.ru> Signed-off-by: NClemens Ladisch <clemens@ladisch.de>
-
由 Roman Volkov 提交于
Add the new SPI write and read functions. The SPI read function is used for creating initial registers dump and may be used for debugging purposes. SPI operations are cached, so there is a new function to manage the cache (shadow). I have to remove the shift from the CS4245_SPI_* constants, since when we are performing the reading, we need to shift by 8 instead of 16. Signed-off-by: NRoman Volkov <v1ron@mail.ru> Signed-off-by: NClemens Ladisch <clemens@ladisch.de>
-
由 Roman Volkov 提交于
Add additional constants to the xonar_dg.h file: capture and playback sources. Move GPIO_* constants and the dg struct to the header file from the xonar_dg.c file. Signed-off-by: NRoman Volkov <v1ron@mail.ru> Signed-off-by: NClemens Ladisch <clemens@ladisch.de>
-
由 Roman Volkov 提交于
Add some additional information in comments and my copyright. Signed-off-by: NRoman Volkov <v1ron@mail.ru> Signed-off-by: NClemens Ladisch <clemens@ladisch.de>
-
由 Roman Volkov 提交于
When the user switches the output from stereo to multichannel or vice versa, the driver needs to update the channel routing. Instead of creating additional subroutines, I better export existing oxygen_update_dac_routing symbol from the oxygen mixer and call this function. It calls model.adjust_dac_routing() and my function does the work. Signed-off-by: NRoman Volkov <v1ron@mail.ru> Signed-off-by: NClemens Ladisch <clemens@ladisch.de>
-
由 Roman Volkov 提交于
The Xonar DG/DGX driver needs this mask to mute unnecessary channels. Signed-off-by: NRoman Volkov <v1ron@mail.ru> Signed-off-by: NClemens Ladisch <clemens@ladisch.de>
-
由 Roman Volkov 提交于
Modify the oxygen_write_spi() function to use the newly introduced oxygen_wait_spi() function. Change return value from void to int, so it can return error codes. Older drivers just ignore that return value, new drivers can check this value. We need to wait AFTER initiating the SPI transaction, otherwise read operation will not work. Signed-off-by: NRoman Volkov <v1ron@mail.ru> Signed-off-by: NClemens Ladisch <clemens@ladisch.de>
-
由 Roman Volkov 提交于
The oxygen_wait_spi() function now performs waiting when the SPI bus completes a transaction. Introduce the timeout error checking and increase timeout to 200 from 40. Signed-off-by: NRoman Volkov <v1ron@mail.ru> Signed-off-by: NClemens Ladisch <clemens@ladisch.de>
-
- 29 1月, 2014 1 次提交
-
-
由 David Henningsson 提交于
Processing coefficients are often a vital part of the codec's configuration, so dumping them can be important. However, because they are undocumented and secret, we do not want to enable this for all codecs by default. Therefore instead add this as a debugging parameter. I have prepared for codecs that want to enable this by default by the extra dump_coef bitfield, but unsure if we want to do that as long as the (unlikely, but still) race remains. Signed-off-by: NDavid Henningsson <david.henningsson@canonical.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 25 1月, 2014 1 次提交
-
-
由 Adrien Vergé 提交于
Similarly to other Apple products, MBA 1,1 needs a specific quirk. Pin 0x18 must be set to VREF_50 to have sound output. This was no longer done since commit 1a97b7f2, resulting in a mute built-in speaker. This patch corrects the regression by creating a fixup for the MBA 1,1. Fixes: 1a97b7f2 ("ALSA: hda/realtek - Remove the last static quirks for ALC882") Cc: <stable@vger.kernel.org> [v3.4+] Tested-by: NAdrien Vergé <adrienverge@gmail.com> Signed-off-by: NAdrien Vergé <adrienverge@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 22 1月, 2014 2 次提交
-
-
由 Takashi Iwai 提交于
ASUS Zenbook UX31A has yet another problem -- softer output level than others. According to the measurement, the peak output difference between 31A and 31E is 5dB. As ALC269VB has a COEF for the class-D pre-amp, let's apply it for +5dB. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
The release of module object itself was forgotten. Spotted by COVERIY CID 1162828. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 16 1月, 2014 1 次提交
-
-
由 Hui Wang 提交于
When we plug a 3-ring headset on some Dell machines, the headset mic can't be detected, after apply this patch, the headset mic can work well on all those machines. On the machine with the Subsytem ID 0x10280610, if we use ALC269_FIXUP_DELL1_MIC_NO_PRESENCE, the headset mic can be detected and work well, but the sound can't be outputed via headphone anymore, use ALC269_FIXUP_DELL3_MIC_NO_PRESENCE can fix this problem. BugLink: https://bugs.launchpad.net/bugs/1260303 Cc: David Henningsson <david.henningsson@canonical.com> Tested-by: NDavid Chen <david.chen@canonical.com> Tested-by: NCyrus Lien <cyrus.lien@canonical.com> Tested-by: NShawn Wang <shawn.wang@canonical.com> Tested-by: NChih-Hsyuan Ho <chih.ho@canonical.com> Cc: stable@vger.kernel.org Signed-off-by: NHui Wang <hui.wang@canonical.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 14 1月, 2014 2 次提交
-
-
由 Takashi Iwai 提交于
The new vmaster hook, update_tpacpi_mute_led(), calls the original vmaster hook, but I forgot to save the original hook function but keep calling the updated one, which of course results in a stupid endless loop. Fixed now. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Hui Wang 提交于
On some AIO (All In One) models with the codec alc668 (Vendor ID: 0x10ec0668) on it, when we plug a headphone into the jack, the system will switch the output to headphone and set the speaker to automute as well as change the speaker Pin-ctls from 0x40 to 0x00, this will bring loud noise to the headphone. I tried to disable the corresponding EAPD, but it did not help to eliminate the noise. According to Takashi's suggestion, we use amp operation to replace the pinctl modification for the automute, this really eliminate the noise. BugLink: https://bugs.launchpad.net/bugs/1268468 Cc: David Henningsson <david.henningsson@canonical.com> Cc: stable@vger.kernel.org Signed-off-by: NHui Wang <hui.wang@canonical.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 13 1月, 2014 2 次提交
-
-
由 Takashi Iwai 提交于
Apply the codec->power_filter to the FG nodes in general for reducing hackish set_power_state ops override in patch_sigmatel.c. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
Some old AD codecs don't like the independent HP handling, either it contains a single DAC (AD1981) or it mandates the mixer routing (AD1986A). This patch removes the indep_hp flag for such codecs. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=68081 Cc: <stable@vger.kernel.org> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 11 1月, 2014 1 次提交
-
-
由 Takashi Iwai 提交于
The PCI devices with DMA masks smaller than 32bit should enable CONFIG_ZONE_DMA. Since the recent change of page allocator, page allocations via dma_alloc_coherent() with the limited DMA mask bits may fail more frequently, ended up with no available buffers, when CONFIG_ZONE_DMA isn't enabled. With CONFIG_ZONE_DMA, the system has much more chance to obtain such pages. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=68221 Cc: <stable@vger.kernel.org> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 10 1月, 2014 1 次提交
-
-
由 Sarah Bessmer 提交于
Occasionally, on playback stream ringbuffer wraparound, the EMU20K1 hardware will momentarily return 0 instead of the proper current(loop) address. This patch handles that case, fixing the problem of playback position corruption and subsequent loss of buffered sound data, that occurs with some common buffering layout patterns(e.g. multiple simultaneous output streams with differently-sized or non-power-of-2-sized buffers). An alternate means of fixing the problem would be to read the ca register continuously, until two sequential reads return the same value; however, that would be a more invasive change, has performance implications, and isn't necessary unless there are also issues with the value not being updated atomically in regards to individual bits or something similar(which I have not encountered through light testing). I have no EMU20K2 hardware to confirm if the issue is present there, but even if it's not, this change shouldn't break anything that's not already broken. Signed-off-by: NSarah Bessmer <aotos@fastmail.fm> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 09 1月, 2014 4 次提交
-
-
由 Takashi Iwai 提交于
Nowadays we have CMA for obtaining the contiguous memory pages efficiently. Let's kill the old kludge for reserving the memory pages for large buffers. It was rarely useful (only for preserving pages among module reloading or a little help by an early boot scripting), used only by a couple of drivers, and yet it gives too much ugliness than its benefit. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Mengdong Lin 提交于
Broadwell and Haswell have the same behavior on display audio. So this patch defines is_haswell_plus() to include codecs for both Haswell and its successor Broadwell, and apply all Haswell fix-ups to Broadwell. Signed-off-by: NMengdong Lin <mengdong.lin@intel.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Mengdong Lin 提交于
This patch adds codec ID (0x80862808) and module alias for Broadwell display codec. Signed-off-by: NMengdong Lin <mengdong.lin@intel.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Mengdong Lin 提交于
This patch adds the device ID for Intel Broadwell display HD-Audio controller, and applies Haswell properties to this device. Signed-off-by: NMengdong Lin <mengdong.lin@intel.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 08 1月, 2014 4 次提交
-
-
由 Takashi Iwai 提交于
Both patch_realtek.c and patch_conexant.c contain the fairy same code snippet for supporting Thinkpad ACPI LED controls. Split them into thinkpad_helper.c and include it from both places. Although this isn't the best approach from the code size POV, the probability for coexistence of both Realtek and Conexant codecs on a single machine is pretty low, thus it'll end up with less memory footprint than splitting to yet another module. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
AD1986A mic pins (0x1d and 0x1f) share the same widget for controlling the loopback volume/mute, but the generic parser didn't check it. This ended up with the duplicated controls for the same effect. This patch adds the check of the duplication for avoiding it. After this fix, there will be only one control although it affects both paths; this remaining issue should be fixed later in a different patch. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=66621 Cc: <stable@vger.kernel.org> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
The 3stack pin configs for AD1986A codec had incorrect values that resulted in broken mic and line-in. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=66621 Cc: <stable@vger.kernel.org> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
Some tags used in the firmware patch file are inconsistent with hwdep sysfs file names, such as, the firmware patch takes [hint] tag while sysfs file is */hints. This makes even me referring back to the document often. Let's provide the same tag names as sysfs for reducing confusions. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-