aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/hda_codec.h
diff options
context:
space:
mode:
Diffstat (limited to 'sound/pci/hda/hda_codec.h')
-rw-r--r--sound/pci/hda/hda_codec.h22
1 files changed, 21 insertions, 1 deletions
diff --git a/sound/pci/hda/hda_codec.h b/sound/pci/hda/hda_codec.h
index 62c702240108..59c97306c1de 100644
--- a/sound/pci/hda/hda_codec.h
+++ b/sound/pci/hda/hda_codec.h
@@ -825,12 +825,14 @@ struct hda_codec {
825 struct hda_cache_rec amp_cache; /* cache for amp access */ 825 struct hda_cache_rec amp_cache; /* cache for amp access */
826 struct hda_cache_rec cmd_cache; /* cache for other commands */ 826 struct hda_cache_rec cmd_cache; /* cache for other commands */
827 827
828 struct snd_array conn_lists; /* connection-list array */
829
828 struct mutex spdif_mutex; 830 struct mutex spdif_mutex;
829 struct mutex control_mutex; 831 struct mutex control_mutex;
830 unsigned int spdif_status; /* IEC958 status bits */ 832 unsigned int spdif_status; /* IEC958 status bits */
831 unsigned short spdif_ctls; /* SPDIF control bits */ 833 unsigned short spdif_ctls; /* SPDIF control bits */
832 unsigned int spdif_in_enable; /* SPDIF input enable? */ 834 unsigned int spdif_in_enable; /* SPDIF input enable? */
833 hda_nid_t *slave_dig_outs; /* optional digital out slave widgets */ 835 const hda_nid_t *slave_dig_outs; /* optional digital out slave widgets */
834 struct snd_array init_pins; /* initial (BIOS) pin configurations */ 836 struct snd_array init_pins; /* initial (BIOS) pin configurations */
835 struct snd_array driver_pins; /* pin configs set by codec parser */ 837 struct snd_array driver_pins; /* pin configs set by codec parser */
836 struct snd_array cvt_setups; /* audio convert setups */ 838 struct snd_array cvt_setups; /* audio convert setups */
@@ -850,6 +852,7 @@ struct hda_codec {
850 unsigned int pin_amp_workaround:1; /* pin out-amp takes index 852 unsigned int pin_amp_workaround:1; /* pin out-amp takes index
851 * (e.g. Conexant codecs) 853 * (e.g. Conexant codecs)
852 */ 854 */
855 unsigned int no_sticky_stream:1; /* no sticky-PCM stream assignment */
853 unsigned int pins_shutup:1; /* pins are shut up */ 856 unsigned int pins_shutup:1; /* pins are shut up */
854 unsigned int no_trigger_sense:1; /* don't trigger at pin-sensing */ 857 unsigned int no_trigger_sense:1; /* don't trigger at pin-sensing */
855#ifdef CONFIG_SND_HDA_POWER_SAVE 858#ifdef CONFIG_SND_HDA_POWER_SAVE
@@ -865,6 +868,11 @@ struct hda_codec {
865 /* codec-specific additional proc output */ 868 /* codec-specific additional proc output */
866 void (*proc_widget_hook)(struct snd_info_buffer *buffer, 869 void (*proc_widget_hook)(struct snd_info_buffer *buffer,
867 struct hda_codec *codec, hda_nid_t nid); 870 struct hda_codec *codec, hda_nid_t nid);
871
872#ifdef CONFIG_SND_HDA_INPUT_JACK
873 /* jack detection */
874 struct snd_array jacks;
875#endif
868}; 876};
869 877
870/* direction */ 878/* direction */
@@ -989,6 +997,18 @@ int snd_hda_suspend(struct hda_bus *bus);
989int snd_hda_resume(struct hda_bus *bus); 997int snd_hda_resume(struct hda_bus *bus);
990#endif 998#endif
991 999
1000#ifdef CONFIG_SND_HDA_POWER_SAVE
1001static inline
1002int hda_call_check_power_status(struct hda_codec *codec, hda_nid_t nid)
1003{
1004 if (codec->patch_ops.check_power_status)
1005 return codec->patch_ops.check_power_status(codec, nid);
1006 return 0;
1007}
1008#else
1009#define hda_call_check_power_status(codec, nid) 0
1010#endif
1011
992/* 1012/*
993 * get widget information 1013 * get widget information
994 */ 1014 */