summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2019-07-16 08:56:51 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-07-26 09:10:57 +0200
commitebb9258e65d2f038469bb76f5e7e6309b5c8e113 (patch)
tree12c779dfb74a8263192220ee728645496eb32b5d /include
parenta9865cf13a6edfedac84cc0d53023ca0a9267cfe (diff)
downloadlinux-stable-ebb9258e65d2f038469bb76f5e7e6309b5c8e113.tar.gz
linux-stable-ebb9258e65d2f038469bb76f5e7e6309b5c8e113.tar.bz2
linux-stable-ebb9258e65d2f038469bb76f5e7e6309b5c8e113.zip
ALSA: hda - Don't resume forcibly i915 HDMI/DP codec
commit 4914da2fb0c89205790503f20dfdde854f3afdd8 upstream. We apply the codec resume forcibly at system resume callback for updating and syncing the jack detection state that may have changed during sleeping. This is, however, superfluous for the codec like Intel HDMI/DP, where the jack detection is managed via the audio component notification; i.e. the jack state change shall be reported sooner or later from the graphics side at mode change. This patch changes the codec resume callback to avoid the forcible resume conditionally with a new flag, codec->relaxed_resume, for reducing the resume time. The flag is set in the codec probe. Although this doesn't fix the entire bug mentioned in the bugzilla entry below, it's still a good optimization and some improvements are seen. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=201901 Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include')
-rw-r--r--include/sound/hda_codec.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/sound/hda_codec.h b/include/sound/hda_codec.h
index a7c602576b68..66fb592f2d5e 100644
--- a/include/sound/hda_codec.h
+++ b/include/sound/hda_codec.h
@@ -249,6 +249,8 @@ struct hda_codec {
unsigned int auto_runtime_pm:1; /* enable automatic codec runtime pm */
unsigned int force_pin_prefix:1; /* Add location prefix */
unsigned int link_down_at_suspend:1; /* link down at runtime suspend */
+ unsigned int relaxed_resume:1; /* don't resume forcibly for jack */
+
#ifdef CONFIG_PM
unsigned long power_on_acct;
unsigned long power_off_acct;