From: Wu Fengguang <fengguang.wu@intel.com>
To: Takashi Iwai <tiwai@suse.de>
Cc: alsa-devel@alsa-project.org,
"Wu Fengguang" <fengguang.wu@intel.com>,
"Shane W" <shane-alsa@csy.ca>,
"David Härdeman" <david@hardeman.nu>
Subject: [PATCH 11/11] intelhdmi - keep power on to avoid losing hot plug event
Date: Sun, 15 Nov 2009 19:32:30 +0800 [thread overview]
Message-ID: <20091115114440.713938034@intel.com> (raw)
In-Reply-To: 20091115113219.606666087@intel.com
[-- Attachment #1: hdmi-power-on.patch --]
[-- Type: text/plain, Size: 1411 bytes --]
The intelhdmi patch relies on reliable pin presence detection to
conditionally generate infoframe for the connected pins. However
the codec power off risks losing the hot plug event. Interestingly
if such hot plug event is missed (it may not be generated by hardware
at all), we cannot even get correct pin presence info with the
AC_VERB_GET_PIN_SENSE query some time later.
So always keep the HDMI codec power on. This also avoids losing
0.5s audio samples if start playing immediately after powering
on the codec.
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
---
sound/pci/hda/patch_intelhdmi.c | 9 +++++++++
1 file changed, 9 insertions(+)
--- sound-2.6.orig/sound/pci/hda/patch_intelhdmi.c 2009-11-13 18:21:41.000000000 +0800
+++ sound-2.6/sound/pci/hda/patch_intelhdmi.c 2009-11-13 18:21:47.000000000 +0800
@@ -868,6 +868,15 @@ static int intel_hdmi_init(struct hda_co
struct intel_hdmi_spec *spec = codec->spec;
int i;
+ /*
+ * never power off at idle time:
+ * - if powered off, the monitor hot plug events will be ignored,
+ * after that AC_VERB_GET_PIN_SENSE returns inaccurate value
+ * - we need to keep the HDMI link active to avoid the loss of first
+ * 0.5s audio samples (due to slow responding HDMI sinks)
+ */
+ codec->power_count++;
+
for (i = 0; spec->pin[i]; i++) {
hdmi_enable_output(codec, spec->pin[i]);
snd_hda_codec_write(codec, spec->pin[i], 0,
next prev parent reply other threads:[~2009-11-15 11:46 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-11-15 11:32 [PATCH 00/11] Intel HDMI fixes Wu Fengguang
2009-11-15 11:32 ` [PATCH 01/11] intelhdmi - fix audio infoframe fill size Wu Fengguang
2009-11-15 11:32 ` [PATCH 02/11] intelhdmi - fix channel mapping slot mask Wu Fengguang
2009-11-15 11:32 ` [PATCH 03/11] intelhdmi - export monitor-presence and ELD-valid status Wu Fengguang
2009-11-15 11:32 ` [PATCH 04/11] hda - introduce snd_hda_pin_sense() Wu Fengguang
2009-11-15 11:32 ` [PATCH 05/11] intelhdmi - probe for monitor/eld presence at module init time Wu Fengguang
2009-11-15 11:32 ` [PATCH 06/11] intelhdmi - separate out infoframe checksum routine Wu Fengguang
2009-11-15 11:32 ` [PATCH 07/11] intelhdmi - sticky infoframe Wu Fengguang
2009-11-15 11:32 ` [PATCH 08/11] intelhdmi - sticky stream id and format Wu Fengguang
2009-11-15 11:32 ` [PATCH 09/11] intelhdmi - sticky channel count Wu Fengguang
2009-11-15 11:32 ` [PATCH 10/11] hda - show EPSS capability in proc Wu Fengguang
2009-11-15 11:32 ` Wu Fengguang [this message]
2009-11-15 15:54 ` [PATCH 00/11] Intel HDMI fixes Takashi Iwai
2009-11-18 4:35 ` Wu Fengguang
2009-11-16 17:12 ` Shane W
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20091115114440.713938034@intel.com \
--to=fengguang.wu@intel.com \
--cc=alsa-devel@alsa-project.org \
--cc=david@hardeman.nu \
--cc=shane-alsa@csy.ca \
--cc=tiwai@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.