summaryrefslogtreecommitdiff
path: root/sound/pci
diff options
context:
space:
mode:
authorWang Xingchao <xingchao.wang@intel.com>2012-06-06 22:02:48 +0800
committerTakashi Iwai <tiwai@suse.de>2012-06-07 11:39:52 +0200
commit0c7f46ad927cbd29965d4971730de713b478d270 (patch)
treed2ea14a982e3330641d9f59e3837fffd3045d25e /sound/pci
parent167d2d55bfb4628169a57e3adbb1e5b097dca0f5 (diff)
downloadlinux-3.10-0c7f46ad927cbd29965d4971730de713b478d270.tar.gz
linux-3.10-0c7f46ad927cbd29965d4971730de713b478d270.tar.bz2
linux-3.10-0c7f46ad927cbd29965d4971730de713b478d270.zip
ALSA: hda - check supported power states
Add function to check whether power states supported by specific codec node. Signed-off-by: Wang Xingchao <xingchao.wang@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci')
-rw-r--r--sound/pci/hda/hda_codec.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c
index 41ca803a1ff..b89c8ecc819 100644
--- a/sound/pci/hda/hda_codec.c
+++ b/sound/pci/hda/hda_codec.c
@@ -3505,6 +3505,22 @@ void snd_hda_codec_set_power_to_all(struct hda_codec *codec, hda_nid_t fg,
EXPORT_SYMBOL_HDA(snd_hda_codec_set_power_to_all);
/*
+ * supported power states check
+ */
+static bool snd_hda_codec_get_supported_ps(struct hda_codec *codec, hda_nid_t fg,
+ unsigned int power_state)
+{
+ int sup = snd_hda_param_read(codec, fg, AC_PAR_POWER_STATE);
+
+ if (sup < 0)
+ return false;
+ if (sup & power_state)
+ return true;
+ else
+ return false;
+}
+
+/*
* set power state of the codec
*/
static void hda_set_power_state(struct hda_codec *codec, hda_nid_t fg,