diff options
Diffstat (limited to 'sound/pci/hda/hda_codec.h')
-rw-r--r-- | sound/pci/hda/hda_codec.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/sound/pci/hda/hda_codec.h b/sound/pci/hda/hda_codec.h index 09a332ada0c6..2fdecf4b0eb6 100644 --- a/sound/pci/hda/hda_codec.h +++ b/sound/pci/hda/hda_codec.h | |||
@@ -739,6 +739,7 @@ struct hda_codec { | |||
739 | hda_nid_t mfg; /* MFG node id */ | 739 | hda_nid_t mfg; /* MFG node id */ |
740 | 740 | ||
741 | /* ids */ | 741 | /* ids */ |
742 | u32 function_id; | ||
742 | u32 vendor_id; | 743 | u32 vendor_id; |
743 | u32 subsystem_id; | 744 | u32 subsystem_id; |
744 | u32 revision_id; | 745 | u32 revision_id; |
@@ -778,11 +779,14 @@ struct hda_codec { | |||
778 | unsigned short spdif_ctls; /* SPDIF control bits */ | 779 | unsigned short spdif_ctls; /* SPDIF control bits */ |
779 | unsigned int spdif_in_enable; /* SPDIF input enable? */ | 780 | unsigned int spdif_in_enable; /* SPDIF input enable? */ |
780 | hda_nid_t *slave_dig_outs; /* optional digital out slave widgets */ | 781 | hda_nid_t *slave_dig_outs; /* optional digital out slave widgets */ |
782 | struct snd_array init_pins; /* initial (BIOS) pin configurations */ | ||
783 | struct snd_array driver_pins; /* pin configs set by codec parser */ | ||
781 | 784 | ||
782 | #ifdef CONFIG_SND_HDA_HWDEP | 785 | #ifdef CONFIG_SND_HDA_HWDEP |
783 | struct snd_hwdep *hwdep; /* assigned hwdep device */ | 786 | struct snd_hwdep *hwdep; /* assigned hwdep device */ |
784 | struct snd_array init_verbs; /* additional init verbs */ | 787 | struct snd_array init_verbs; /* additional init verbs */ |
785 | struct snd_array hints; /* additional hints */ | 788 | struct snd_array hints; /* additional hints */ |
789 | struct snd_array user_pins; /* default pin configs to override */ | ||
786 | #endif | 790 | #endif |
787 | 791 | ||
788 | /* misc flags */ | 792 | /* misc flags */ |
@@ -790,6 +794,9 @@ struct hda_codec { | |||
790 | * status change | 794 | * status change |
791 | * (e.g. Realtek codecs) | 795 | * (e.g. Realtek codecs) |
792 | */ | 796 | */ |
797 | unsigned int pin_amp_workaround:1; /* pin out-amp takes index | ||
798 | * (e.g. Conexant codecs) | ||
799 | */ | ||
793 | #ifdef CONFIG_SND_HDA_POWER_SAVE | 800 | #ifdef CONFIG_SND_HDA_POWER_SAVE |
794 | unsigned int power_on :1; /* current (global) power-state */ | 801 | unsigned int power_on :1; /* current (global) power-state */ |
795 | unsigned int power_transition :1; /* power-state in transition */ | 802 | unsigned int power_transition :1; /* power-state in transition */ |
@@ -855,6 +862,18 @@ void snd_hda_codec_resume_cache(struct hda_codec *codec); | |||
855 | #define snd_hda_sequence_write_cache snd_hda_sequence_write | 862 | #define snd_hda_sequence_write_cache snd_hda_sequence_write |
856 | #endif | 863 | #endif |
857 | 864 | ||
865 | /* the struct for codec->pin_configs */ | ||
866 | struct hda_pincfg { | ||
867 | hda_nid_t nid; | ||
868 | unsigned int cfg; | ||
869 | }; | ||
870 | |||
871 | unsigned int snd_hda_codec_get_pincfg(struct hda_codec *codec, hda_nid_t nid); | ||
872 | int snd_hda_codec_set_pincfg(struct hda_codec *codec, hda_nid_t nid, | ||
873 | unsigned int cfg); | ||
874 | int snd_hda_add_pincfg(struct hda_codec *codec, struct snd_array *list, | ||
875 | hda_nid_t nid, unsigned int cfg); /* for hwdep */ | ||
876 | |||
858 | /* | 877 | /* |
859 | * Mixer | 878 | * Mixer |
860 | */ | 879 | */ |