- 03 6月, 2013 5 次提交
-
-
由 Takashi Iwai 提交于
The previous commit was written in the way to make the backport to 3.9.y easier, and left the duplicated open codes intentionally. Now let's clean up the duplicated codes. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
VIA driver has a special suspend handling only for VT1802 to reduce the pop noise. During the transition to the generic parser, the behavior of snd_hda_set_pin_ctl() was also changed to modify the cached values, too. And this caused a regression where the pin is still cleared even after the resume (including the resume from power save), resulting in the silent output. The fix is simply to replace snd_hda_set_pin_ctl() with the explicit call of snd_hda_codec_write() again. Reported-by: NAlex Riesen <raa.lkml@gmail.com> Cc: <stable@vger.kernel.org> [v3.9] Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
VT1802 codec seems to reset EAPD of other pins in the hardware level, and this was another reason of the silent headphone output on some machines. As a workaround, introduce a new flag indicating to keep the EPAD on to the generic parser, and set it in patch_via.c. Reported-by: NAlex Riesen <raa.lkml@gmail.com> Cc: <stable@vger.kernel.org> [v3.9] Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
Some codec drivers (VIA codecs and some Realtek fixups) set the automute and automic hooks after calling snd_hda_gen_parse_auto_config(). In the current code, the hook pointers are referred only in snd_hda_gen_parse_auto_config() and passed to snd_hda_jack_detect_enable_callback(), thus changing the hook values won't change the actually called callbacks properly. This patch fixes this bug by setting the static functions as the primary callback functions for the jack detection, and let them calling the appropriate hooks dynamically. Cc: <stable@vger.kernel.org> [v3.9] Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
Since the transition to the generic parser, the actual routes used there don't match always with the assumed static paths in some set_widgets_power_state callbacks. This results in the wrong power setup in the end. As a temporary workaround, we need to disable the calls together with the non-functional dynamic power control enum. Reported-by: NAlex Riesen <raa.lkml@gmail.com> Cc: <stable@vger.kernel.org> [v3.9] Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 31 5月, 2013 2 次提交
-
-
由 David Henningsson 提交于
This quirk is required for the headset mic to work on these two machines. BugLink: https://bugs.launchpad.net/bugs/1186170Signed-off-by: NDavid Henningsson <david.henningsson@canonical.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Ebben Aries 提交于
Add a model/fixup string "lenovo-dock", for Thinkpad T431s, to allow sound in docking station. Tested on Lenovo T431s with ThinkPad Mini Dock Plus Series 3 Signed-off-by: NEbben Aries <earies@dscp.org> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 16 5月, 2013 2 次提交
-
-
由 David Henningsson 提交于
BugLink: https://bugs.launchpad.net/bugs/1180351Signed-off-by: NDavid Henningsson <david.henningsson@canonical.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
When an inactive path is powered down with spec->power_down_unused flag, we should check the activity of each widget in the path whether it's still referred from any active path. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 10 5月, 2013 1 次提交
-
-
由 Takashi Iwai 提交于
This reverts commit affdb62b. The commit introduced a regression with AD codecs where the stream is always clean up. Since the patch is just a minor optimization and reverting the commit fixes the issue, let's just revert it. Reported-and-tested-by: NMichael Burian <michael.burian@sbg.at> Cc: <stable@vger.kernel.org> [v3.9+] Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 08 5月, 2013 1 次提交
-
-
由 Takashi Iwai 提交于
This is a revised patch based on Mengdong Lin's fix patch, which is a supplement to a previous patch [1611a9c9: ALSA: hda - Add fixup for Haswell to enable all pin and convertor widgets]. Some Haswell BIOS will disable the 2nd and 3rd pin/covertor widgets when the HD-A controller changes state from D3 to D0. So when the controller resumes after a system or runtime suspend, these widgets are disabled and programming these widgets to D0 will cause H/W error and codec will not respond. In addition, we found out that some BIOS disables the pins at S3 although it shows up at boot. This confuses the driver utterly, and the hardware falls into the fatal communication error like the above. So in this patch, we apply intel_haswell_enable_all_pins() not only as a fixup to a certain device (with 8086:2010) but to all Haswell machines. The codec driver basically assumes that all pins are exposed, so it's anyway better to see them from the beginning. Even if all pins and converters are shown by this call, there should be no regression in practice: the pin default configurations are still kept, thus the disabled pins are handled as disabled by the driver properly. Signed-off-by: NMengdong Lin <mengdong.lin@intel.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 07 5月, 2013 1 次提交
-
-
由 Wang YanQing 提交于
The interrupt handler azx_interrupt will call azx_update_rirb, which may call snd_hda_queue_unsol_event, snd_hda_queue_unsol_event will dereference chip->bus pointer. The problem is we alloc chip->bus in azx_codec_create which will be called after we enable IRQ and enable unsolicited event in azx_probe. This will cause Oops due dereference NULL pointer. I meet it, good luck:) [Rearranged the NULL check before the tracepoint and added another NULL check of bus->workq -- tiwai] Signed-off-by: NWang YanQing <udknight@gmail.com> Cc: <stable@vger.kernel.org> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 04 5月, 2013 1 次提交
-
-
由 Takashi Iwai 提交于
The older Conexant codecs have up to two EAPDs and these are supposed to be rather statically turned on. The new generic parser code assumes the dynamic on/off per path usage, thus it resulted in the silent output on some machines. This patch fixes the problem by simply assuming the static EAPD on for such old Conexant codecs as we did until 3.8 kernel. Reported-and-tested-by: NChristopher K. <c.krooss@gmail.com> Cc: <stable@vger.kernel.org> [v3.9] Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 03 5月, 2013 1 次提交
-
-
由 Mike Travis 提交于
The audio driver mistakenly allows 64 bit addresses to be created for the audio driver on Nvidia GPUs. Unfortunately, the hardware normally only supports up to 40 bits of DMA. This can cause system panics as well as misdirected data when the address is > 40 bits as the upper part the address is truncated. Signed-off-by: NMike Travis <travis@sgi.com> Reviewed-by: NMike Habeck <habeck@sgi.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 29 4月, 2013 1 次提交
-
-
由 David Henningsson 提交于
This enables better volume controls than the current model parser. Also, because the original quirk for X220 was added to fix docking station support, add the TP410 fixup instead. Reported-by: NWillian Jon McCann <william.jon.mccann@gmail.com> Signed-off-by: NDavid Henningsson <david.henningsson@canonical.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 25 4月, 2013 1 次提交
-
-
由 Kailang Yang 提交于
It's yet another ALC269-variant. Signed-off-by: NKailang Yang <kailang@realtek.com> Cc: <stable@vger.kernel.org> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 22 4月, 2013 1 次提交
-
-
由 David Henningsson 提交于
These are being reported as being so noisy at high mic boost levels, so they are unusable in practice. Therefore artificially limit the boosts. BugLink: https://bugs.launchpad.net/bugs/1089795Signed-off-by: NDavid Henningsson <david.henningsson@canonical.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 18 4月, 2013 3 次提交
-
-
由 Takashi Iwai 提交于
When pin default configs are overridden via patch option, these are evaluated before fixups are applied. Since some fixups change the whole codec trees and/or add pins dynamically, this sanity check might not pass when pins aren't present at the time the function is called. We may reorder the execution, but an easier fix is simply to disable this sanity check. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Wei Yongjun 提交于
Fix to return a negative error code from the error handling case instead of 0, as returned elsewhere in this function. Signed-off-by: NWei Yongjun <yongjun_wei@trendmicro.com.cn> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
The flag bus->shutdown implies that the control elements might have been already destroyed. When a codec is resumed at this state and tries to call vmaster hook (e.g. in snd_hda_gen_init()), it would refer to a non-existing object, resulting in Oops in the end. This patch just adds a check of the flag in the caller side for avoiding such a crash. Though, the best would be to clear hook->sw_kctl by the destructor of the corresponding ctl element, but vmaster uses its own private_free, it can't be done easily. So let it be for a while. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 17 4月, 2013 1 次提交
-
-
由 David Henningsson 提交于
When graphics initializes the HDMI chip, sometimes this leads to pins going into D3 and right channel being muted. If the audio driver finishes initialization before the graphic driver does, this situation becomes permanent. This is a workaround that checks for this situation and corrects it on playback prepare. It has been verified working on at least one machine. BugLink: https://bugs.launchpad.net/bugs/1167270Signed-off-by: NDavid Henningsson <david.henningsson@canonical.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 16 4月, 2013 3 次提交
-
-
由 Takashi Iwai 提交于
When setting up the aamix output paths, use the primary DAC instead of the individual DAC for each output as default. Otherwise multiple DACs will be turned on for a single aamix widget, which results in doubly or more volumes, because the duplicated signals will be sent through all these DACs for a single stream. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
When we have a loopback mixer control, this should manage the state whether the output paths include the aamix or not. But the current code blindly initializes the output paths with aamix = true, thus the aamix is enabled unless the loopback mixer control is changed. Also, update_aamix_paths() called by the loopback mixer control put callback invokes snd_hda_activate_path() with aamix = true even for disabling the mixing. This leaves the aamix path even though the loopback control is turned off. This patch fixes these issues: - Introduced aamix_default() helper to indicate whether with_aamix is true or false as default - Fix the argument in update_aamix_paths() for disabling loopback Reported-by: NLydia Wang <LydiaWang@viatech.com.cn> Cc: <stable@vger.kernel.org> [v3.9+] Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Dylan Reid 提交于
For capture, the delay through the codec contributes to the time stamp of the sample recorded at the A to D. Rename the codec time stamp function appropriately. Signed-off-by: NDylan Reid <dgreid@chromium.org> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 15 4月, 2013 2 次提交
-
-
由 David Henningsson 提交于
With this patch, a TRRS headset mic cannot be successfully detected on the Asus X101CH, and we can also distinguish between headphone and headset automatically. Buglink: https://bugs.launchpad.net/bugs/1169138Co-authored-by: NKailang <kailang@realtek.com> Tested-by: NLuis Henriques <luis.henriques@canonical.com> Signed-off-by: NDavid Henningsson <david.henningsson@canonical.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 David Henningsson 提交于
On some machines, there is a headset jack that can support both headphone, headsets (of both CTIA and OMTP type) and mic-in. On other machines, the headset jack supports headphone, headsets (both CTIA and OMTP), but not mic-in. This patch implements that functionality as different capture sources. Buglink: https://bugs.launchpad.net/bugs/1169143Tested-by: NDavid Chen <david.chen@canonical.com> Co-authored-by: NKailang <kailang@realtek.com> Signed-off-by: NDavid Henningsson <david.henningsson@canonical.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 11 4月, 2013 3 次提交
-
-
由 David Henningsson 提交于
Now that we have a flag for headphone mics, we can use that flag in the jack creation instead of creating the jack manually. Signed-off-by: NDavid Henningsson <david.henningsson@canonical.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 David Henningsson 提交于
I never liked that we move our speaker and hp pins to line out if there are not any line outs; but now that we do, add some convenience functions to find hp and speaker pins even if they have been moved. Signed-off-by: NDavid Henningsson <david.henningsson@canonical.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 David Henningsson 提交于
This allows a specific mic to get the "Headphone Mic" name, in addition to the existing "Headset Mic" name. Also, it allows for a special mark: if the sequence number is set to 0xc, that's an indication to prefer it for headset mic, and if it's set to 0xd, that's an indication to prefer it for headphone mic. Signed-off-by: NDavid Henningsson <david.henningsson@canonical.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 09 4月, 2013 1 次提交
-
-
由 Dylan Reid 提交于
For playback add the codec-side delay to the timestamp, for capture subtract it. This brings the timestamps in line with the time that was recently added to the delay reporting. Signed-off-by: NDylan Reid <dgreid@chromium.org> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 07 4月, 2013 1 次提交
-
-
由 Dylan Reid 提交于
Correct pin configs for the Acer AC700. Most importantly indicate that SPDIF is connected, it routes to HDMI out. Similar to Aspire models, chain in the DMIC fixup and allow it to be applied to this codec (ALC269VB) as well. Signed-off-by: NDylan Reid <dgreid@chromium.org> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 05 4月, 2013 4 次提交
-
-
由 Dylan Reid 提交于
The Stumpy ChromeBox needs its pin configs fixed up. Signed-off-by: NDylan Reid <dgreid@chromium.org> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Dylan Reid 提交于
The DSP in the CA0132 codec adds a variable latency to audio depending on what processing is being done. Add a new patch op to return that latency for capture and playback streams. The latency is determined by which blocks are enabled and knowing how much latency is added by each block. Signed-off-by: NDylan Reid <dgreid@chromium.org> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
Add a new codec PCM ops, get_delay(), to obtain the codec/stream- specific PCM delay count. When it's NULL, nothing changes. This new feature was requested for CA0132, which has significant delays in the path depending on the running DSP code. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Jiri Slaby 提交于
changed is not initialized in path_power_down_sync, but it is expected to be false in case no change happened in the loop. So set it to false. Signed-off-by: NJiri Slaby <jslaby@suse.cz> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 04 4月, 2013 3 次提交
-
-
由 Takashi Iwai 提交于
This reverts commit 6ab31741. The commit [6ab31741: ALSA: hda - Allow power_save_controller option override DCAPS] changed the behavior of power_save_controller so that it can override the driver capability. This assumed that this option is rarely changed dynamically unlike power_save option. Too naive. It turned out that the user-space power-management tool tries to set power_save_controller option to 1 together with power_save option without knowing what's actually doing. This enabled forcibly the runtime PM of the controller, which is known to be broken om many chips thus disabled as default. So, the only sane fix is to revert this commit again. It was intended to ease debugging/testing for runtime PM enablement, but obviously we need another way for it. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=56171Reported-and-tested-by: NNikita Tsukanov <keks9n@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 David Henningsson 提交于
Rename "Digitial In" to "Digital In". This function is only used for proc output, so should not cause any problems to change. Signed-off-by: NDavid Henningsson <david.henningsson@canonical.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Rainer Koenig 提交于
* Added the device ID to the modalias list and assinged ALC662 patches for it * Added 4 port support for the device ID 0671 in alc662_parse_auto_config Signed-off-by: NRainer Koenig <Rainer.Koenig@ts.fujitsu.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 02 4月, 2013 2 次提交
-
-
由 Mengdong Lin 提交于
This patch let ELD debug message show 'pin_eld->monitor_present' which reflects the real pin response to verb GET_PIN_SENSE. 'eld->monitor_present' should not be used here because 'eld' is a temp structure now and so its "monitor_present" is not set. Signed-off-by: NMengdong Lin <mengdong.lin@intel.com> Acked-by: NDavid Henningsson <david.henningsson@canonical.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Mengdong Lin 提交于
In function snd_hdmi_get_eld(), the variable 'ret' should be initialized to 0. Otherwise it will be returned uninitialized as non-zero after ELD info is got successfully. Thus hdmi_present_sense() will always assume ELD info is invalid by mistake, and /proc file system cannot show the proper ELD info. Signed-off-by: NMengdong Lin <mengdong.lin@intel.com> Cc: stable@vger.kernel.org Acked-by: NDavid Henningsson <david.henningsson@canonical.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-