An error occurred fetching the project authors.
- 18 Apr, 2016 1 commit
-
-
Aaron Plattner authored
[ Upstream commit 6c3d9119 ] Vendor ID 0x10de007d is used by a yet-to-be-named GPU chip. This chip also has the 2-ch audio swapping bug, so patch_nvhdmi is appropriate here. Signed-off-by:
Aaron Plattner <aplattner@nvidia.com> Cc: <stable@vger.kernel.org> Signed-off-by:
Takashi Iwai <tiwai@suse.de> Signed-off-by:
Sasha Levin <sasha.levin@oracle.com>
-
- 02 Mar, 2016 1 commit
-
-
David Henningsson authored
[ Upstream commit 360a8245 ] The static checker warning is: sound/pci/hda/patch_hdmi.c:460 hdmi_eld_ctl_get() error: __memcpy() 'eld->eld_buffer' too small (256 vs 512) I have a hard time figuring out if this can ever cause an information leak (I don't think so), but nonetheless it does not hurt to increase the robustness of the code. Fixes: 68e03de9 ('ALSA: hda - hdmi: Do not expose eld data when eld is invalid') Reported-by:
Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by:
David Henningsson <david.henningsson@canonical.com> Cc: <stable@vger.kernel.org> # v3.9+ Signed-off-by:
Takashi Iwai <tiwai@suse.de> Signed-off-by:
Sasha Levin <sasha.levin@oracle.com>
-
- 22 Jan, 2016 1 commit
-
-
Lu, Han authored
[ Upstream commit e2656412 ] Broxton and Skylake have the same behavior on display audio. So this patch applys Skylake fix-ups to Broxton. Signed-off-by:
Lu, Han <han.lu@intel.com> Cc: <stable@vger.kernel.org> Signed-off-by:
Takashi Iwai <tiwai@suse.de> Signed-off-by:
Sasha Levin <sasha.levin@oracle.com>
-
- 27 Aug, 2015 2 commits
-
-
Libin Yang authored
[ Upstream commit 432ac1a2 ] Skylake and Haswell have the same behavior on display audio. So this patch applys Haswell fix-ups to Skylake. Signed-off-by:
Libin Yang <libin.yang@intel.com> Signed-off-by:
Takashi Iwai <tiwai@suse.de> Signed-off-by:
Sasha Levin <sasha.levin@oracle.com>
-
Libin Yang authored
[ Upstream commit 99fcb377 ] This patch adds codec ID (0x80862809) and module alias for Skylake display codec. Signed-off-by:
Libin Yang <libin.yang@intel.com> Signed-off-by:
Takashi Iwai <tiwai@suse.de> Signed-off-by:
Sasha Levin <sasha.levin@oracle.com>
-
- 16 Jan, 2015 1 commit
-
-
Aaron Plattner authored
commit 60834b73 upstream. Vendor ID 0x10de0072 is used by a yet-to-be-named GPU chip. Signed-off-by:
Aaron Plattner <aplattner@nvidia.com> Signed-off-by:
Takashi Iwai <tiwai@suse.de> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 20 Oct, 2014 1 commit
-
-
Anssi Hannula authored
The ELD ALSA control change event is sent by hdmi_present_sense() when eld_changed is true. Currently, it is only true when the ELD buffer contents have been modified. However, the user-visible ELD controls also change to a zero-length value and back when eld_valid is unset/set, and no event is currently sent in such cases (such as when unplugging or replugging a sink). Fix the code to always set eld_changed if eld_valid value is changed, and therefore to always send the change event when the user-visible value changes. Signed-off-by:
Anssi Hannula <anssi.hannula@iki.fi> Cc: David Henningsson <david.henningsson@canonical.com> Cc: <stable@vger.kernel.org> # 3.9+ Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
- 16 Sep, 2014 1 commit
-
-
Takashi Iwai authored
So far, hda_jack infrastructure allows only one callback per jack, and this makes things slightly complicated when a driver wants to assign multiple tasks to a jack, e.g. the standard auto-mute with a power up/down sequence. This can be simplified if the hda_jack accepts multiple callbacks. This patch is such an extension: the callback-specific part (the function and private_data) is split to another struct from hda_jack_tbl, and multiple such objects can be assigned to a single hda_jack_tbl entry. The new struct hda_jack_callback is passed to each callback function now, thus the patch became bigger than expected. But these changes are mostly trivial. Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
- 11 Sep, 2014 1 commit
-
-
Takashi Iwai authored
The action value assigned to each hda_jack_tbl entry is mostly superfluous. The actually used values are either the widget NID or a value specific to the callback. The former case can be simply replaced by a reference to widget NID itself. The only place doing the latter is STAC/IDT codec driver for the powermap handling. But, the code doesn't need to check the action field at all -- the function jack_update_power() is called either with a specific pin or with NULL. So the check of jack->action can be removed completely there, too. Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
- 19 Aug, 2014 2 commits
-
-
Libin Yang authored
Valleyview and Cherryview have the same behavior on display audio. So this patch defines is_valleyview_plus() to include codecs for both Valleyview and its successor Cherryview, and apply Valleyview fix-ups to Cherryview. Signed-off-by:
Libin Yang <libin.yang@intel.com> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
Libin Yang authored
Both Haswell and Broadwell need set depop_delay to 0. So apply this setting to haswell plus. Signed-off-by:
Libin Yang <libin.yang@intel.com> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
- 04 Aug, 2014 1 commit
-
-
Libin Yang authored
This patch adds codec ID (0x80862883) and module alias for Braswell display codec. Signed-off-by:
Libin Yang <libin.yang@intel.com> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
- 08 Jul, 2014 1 commit
-
-
Aaron Plattner authored
Vendor ID 0x10de0070 is used by a yet-to-be-named GPU chip. Signed-off-by:
Aaron Plattner <aplattner@nvidia.com> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
- 25 Jun, 2014 1 commit
-
-
Takashi Iwai authored
Pass codec instance to each function that still prints info and debug outputs via snd_printd*(). Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
- 23 Jun, 2014 1 commit
-
-
Pierre Ossman authored
We need to call the proper init function in case it has been overridden, as it might restore things that the generic routing doesn't know anything about. E.g. AMD cards have special verbs that need resetting. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=77901 Fixes: 5a613584 ('ALSA: hda - hdmi: Add ATI/AMD multi-channel audio support') Signed-off-by:
Pierre Ossman <pierre@ossman.eu> Cc: <stable@vger.kernel.org> [v3.13+] Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
- 12 Jun, 2014 1 commit
-
-
Mengdong Lin authored
This patch will verify the pin's coverter selection for an active stream when an unsol event reports this pin becomes available again after a display mode change or hot-plug event. For Haswell+ and Valleyview: display mode change or hot-plug can change the transcoder:port connection and make all the involved audio pins share the 1st converter. So the stream using 1st convertor will flow to multiple pins but active streams using other converters will fail. This workaround is to assure the pin selects the right conveter and an assigned converter is not shared by other unused pins. Signed-off-by:
Mengdong Lin <mengdong.lin@intel.com> Cc: <stable@vger.kernel.org> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
- 20 May, 2014 1 commit
-
-
Sumit Bhattacharya authored
Add the Tegra12x HDA codec id to patch_hdmi. Signed-off-by:
Sumit Bhattacharya <sumitb@nvidia.com> Signed-off-by:
Dylan Reid <dgreid@chromium.org> Acked-by:
Stephen Warren <swarren@nvidia.com> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
- 13 May, 2014 1 commit
-
-
Aaron Plattner authored
Vendor ID 0x10de0071 is used by a yet-to-be-named GPU chip. Signed-off-by:
Aaron Plattner <aplattner@nvidia.com> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
- 05 May, 2014 2 commits
-
-
Anssi Hannula authored
Currently infoframe contents and channel mapping are only set when a sink (monitor) is present. However, this does not make much sense, since 1) We can make a very reasonable guess on CA after 18e39186 ("ALSA: hda - hdmi: Fallback to ALSA allocation when selecting CA") or by relying on a previously valid ELD (or we may be using a user-specified channel map). 2) Not setting infoframe contents and channel count simply means they are left at a possibly incorrect state - playback is still allowed to proceed (with missing or wrongly mapped channels). Reasons for monitor_present being 0 include disconnected cable, video driver issues, or codec not being spec-compliant. Note that in actual disconnected-cable case it should not matter if these settings are wrong as they will be re-set after jack detection, though. Change the behavior to allow the infoframe contents and the channel mapping to be set even without a sink/monitor, either based on the previous valid ELD contents, if any, or based on sensible defaults (standard channel layouts or provided custom map, sink type HDMI). Signed-off-by:
Anssi Hannula <anssi.hannula@iki.fi> Tested-by:
Stephan Raue <stephan@openelec.tv> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
Anssi Hannula authored
Since commit 1df5a06a ("ALSA: hda - hdmi: Fix programmed active channel count") channel count is no longer being set if monitor_present is 0. This is because setting the count was moved after the CA value is determined, which is only after the monitor_present check in hdmi_setup_audio_infoframe(). Unfortunately, in some cases, such as with a non-spec-compliant codec or with a problematic video driver, monitor_present is always 0. As a specific example, this seems to happen with gen1 ATV (SiI1390 codec), causing left-channel-only stereo playback (multi-channel playback has apparently never worked with this codec despite it reporting 8 channels, reason unknown). Simply setting converter channel count without setting the pin infoframe and channel mapping as well does not theoretically make much sense as this will just mean they are out-of-sync and multichannel playback will have a wrong channel mapping. However, adding back just setting the converter channel count even in no-monitor case is the safest change which at least fixes the stereo playback regression on SiI1390 codec. Do that. Signed-off-by:
Anssi Hannula <anssi.hannula@iki.fi> Reported-by:
Stephan Raue <stephan@openelec.tv> Tested-by:
Stephan Raue <stephan@openelec.tv> Cc: <stable@vger.kernel.org> # 3.12+ Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
- 20 Mar, 2014 1 commit
-
-
Mengdong Lin authored
This is a temporary fix for some Intel HDMI codecs to avoid no sound output for a resuming playback after S3. After S3, the audio driver restores pin:cvt connection selections by snd_hda_codec_resume_cache(). However this can happen before the gfx side is ready and such connect selection is overlooked by HW. After gfx is ready, the pins make the default selection again. And this will cause multiple pins share a same convertor and mute control will affect each other. Thus a resumed audio playback become silent after S3. This patch verifies pin:cvt connection on preparing a stream, to assure the pin selects the right convetor and an assigned convertor is not shared by other unused pins. Apply this fix-up on Haswell, Broadwell and Valleyview (Baytrail). We need this temporary fix before a reliable software communication channel is established between audio and gfx, to sync audio/gfx operations. Signed-off-by:
Mengdong Lin <mengdong.lin@intel.com> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
- 11 Mar, 2014 1 commit
-
-
Mengdong Lin authored
This patch initialized the local audio InfoFrame variable 'ai' to be all zero, thus the data bytes will indicate "Refer to Stream Header" by default. Signed-off-by:
Mengdong Lin <mengdong.lin@intel.com> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
- 25 Feb, 2014 1 commit
-
-
Takashi Iwai authored
Use dev_err() and co for messages from HD-audio controller and codec drivers. The codec drivers are mostly bound with codec objects, so some helper macros, codec_err(), codec_info(), etc, are provided. They merely wrap the corresponding dev_xxx(). There are a few places still calling snd_printk() and its variants as they are called without the codec or device context. Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
- 31 Jan, 2014 1 commit
-
-
Stephen Warren authored
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:
Uosis <uosisl@gmail.com> Cc: <stable@vger.kernel.org> # v3.13 Signed-off-by:
Stephen Warren <swarren@nvidia.com> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
- 09 Jan, 2014 2 commits
-
-
Mengdong Lin authored
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:
Mengdong Lin <mengdong.lin@intel.com> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
Mengdong Lin authored
This patch adds codec ID (0x80862808) and module alias for Broadwell display codec. Signed-off-by:
Mengdong Lin <mengdong.lin@intel.com> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
- 19 Dec, 2013 1 commit
-
-
Takashi Iwai authored
Replace all with the standard EXPORT_SYMBOL_GPL(). Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
- 18 Dec, 2013 1 commit
-
-
David Henningsson authored
This should help us avoid the following mutex deadlock: [] mutex_lock+0x2a/0x50 [] hdmi_present_sense+0x53/0x3a0 [snd_hda_codec_hdmi] [] generic_hdmi_resume+0x5a/0x70 [snd_hda_codec_hdmi] [] hda_call_codec_resume+0xec/0x1d0 [snd_hda_codec] [] snd_hda_power_save+0x1e4/0x280 [snd_hda_codec] [] codec_exec_verb+0x5f/0x290 [snd_hda_codec] [] snd_hda_codec_read+0x5b/0x90 [snd_hda_codec] [] snd_hdmi_get_eld_size+0x1e/0x20 [snd_hda_codec_hdmi] [] snd_hdmi_get_eld+0x2c/0xd0 [snd_hda_codec_hdmi] [] hdmi_present_sense+0x9a/0x3a0 [snd_hda_codec_hdmi] [] hdmi_repoll_eld+0x34/0x50 [snd_hda_codec_hdmi] Signed-off-by:
David Henningsson <david.henningsson@canonical.com> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
- 11 Dec, 2013 1 commit
-
-
Anssi Hannula authored
In case a single HDA card has both HDMI and S/PDIF outputs, the S/PDIF outputs will have their IEC958 controls created starting from index 16 and the HDMI controls will be created starting from index 0. However, HDMI simple_playback_build_controls() as used by old VIA and NVIDIA codecs incorrectly requests the IEC958 controls to be created with an S/PDIF type instead of HDMI. In case the card has other codecs that have HDMI outputs, the controls will be created with wrong index=16, causing them to e.g. be unreachable by the ALSA "hdmi" alias. Fix that by making simple_playback_build_controls() request controls with HDMI indexes. Not many cards have an affected configuration, but e.g. ASUS M3N78-VM contains an integrated NVIDIA HDA "card" with: - a VIA codec that has, among others, an S/PDIF pin incorrectly labelled as an HDMI pin, and - an NVIDIA MCP7x HDMI codec. Reported-by: MysterX on #openelec Tested-by: MysterX on #openelec Signed-off-by:
Anssi Hannula <anssi.hannula@iki.fi> Cc: <stable@vger.kernel.org> # 3.8+ Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
- 06 Dec, 2013 1 commit
-
-
Mengdong Lin authored
This patch skips the default depop delay before D3 for Haswell (10 ms) and Valleyview2 (100 ms) display codec, to reduce codec suspend time. The analog part of display audio is implemented in the external display. Some displays have weak pop noise while others not when suspending, no matter there is the default delay or not. Signed-off-by:
Mengdong Lin <mengdong.lin@intel.com> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
- 04 Dec, 2013 1 commit
-
-
David Henningsson authored
In the case of using jackpoll_ms instead of unsol events, the jack was correctly detected, but ELD info was not refreshed on plug-in. And without ELD info, no proper restriction of pcm, which can in turn break sound output on some devices. Signed-off-by:
David Henningsson <david.henningsson@canonical.com> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
- 26 Nov, 2013 3 commits
-
-
Takashi Iwai authored
According to Mengdong, we shouldn't enable runtime PM when a codec doesn't support EPSS, based on the experiences on Windows. We have already this check in HDMI codec drivers, but now apply it in general in hda_codec.c. Credit goes to Mengdong Lin <mengdong.lin@intel.com> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
Takashi Iwai authored
Now we fixed the long-standing bugs of runtime PM, let's enable Panther Point again. The runtime PM was disabled in the HDMI codec driver due to the S3 issue, and this should have been fixed now. Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
Takashi Iwai authored
If a codec contains only the digital outputs, it's very likely a HDMI/DP codec, which isn't supported by the generic parser but via HDMI codec parser code. Detect such a case and bind with the proper parser object if available. Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
- 11 Nov, 2013 2 commits
-
-
Anssi Hannula authored
Add error checks to HBR status reads (both generic and ATI/AMD) and ATI/AMD codec reads for ELD generation. Unchecked errors in these just caused more errors later on (invalid codec writes for the HBR ones and ELD parsing errors for the ATI/AMD ELD ones), but it is better to catch them earlier. Signed-off-by:
Anssi Hannula <anssi.hannula@iki.fi> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
Anssi Hannula authored
Channel map positions FLH, FCH, FRH duplicate positions TFL, TFC, TFR. Both are the speakers above the front speakers (CEA uses "high" and USB audio uses "top" nomenclature). Since the USB audio code has used the TFx positions since v3.8 (04324ccc, "ALSA: usb-audio: add channel map support") but the HDMI code only just started using FxH in a5b7d510 ("ALSA: hda - hdmi: Fix channel maps with less common speakers") which is not yet in any released kernel, standardize on TFx instead. Signed-off-by:
Anssi Hannula <anssi.hannula@iki.fi> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
- 07 Nov, 2013 3 commits
-
-
Takashi Iwai authored
Since the recent fake ELD patches, we can remove the check for AMD HDMI in hdmi_present_sense() and decide the return value from eld_valid value. Suggested by Anssi Hannula. Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
David Henningsson authored
This fixes a race condition in case several monitors are being repolled in parallel. Signed-off-by:
David Henningsson <david.henningsson@canonical.com> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
Takashi Iwai authored
There is a small gap between the jack detection unsolicited event and the time the ELD is updated. When user-space queries the HDMI ELD immediately after receiving the notification, it might fail because of this gap. For avoiding such a problem, this patch tries to delay the HDMI jack detect notification until ELD information is fully updated. The workaround is imperfect, but good enough as a starting point. Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
- 04 Nov, 2013 1 commit
-
-
Mengdong Lin authored
The function name not_share_unassigned_cvt() is opposite to what it does. This patch renames it to intel_not_share_assigned_cvt(), and addes comments to explain why some Intel display codecs need this workaround. Signed-off-by:
Mengdong Lin <mengdong.lin@intel.com> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-