diff options
Diffstat (limited to 'sound/pci/hda/hda_codec.h')
-rw-r--r-- | sound/pci/hda/hda_codec.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/sound/pci/hda/hda_codec.h b/sound/pci/hda/hda_codec.h index 99552fb5f756..1d541b7f5547 100644 --- a/sound/pci/hda/hda_codec.h +++ b/sound/pci/hda/hda_codec.h | |||
@@ -255,9 +255,13 @@ enum { | |||
255 | * in HD-audio specification | 255 | * in HD-audio specification |
256 | */ | 256 | */ |
257 | #define AC_PINCAP_HDMI (1<<7) /* HDMI pin */ | 257 | #define AC_PINCAP_HDMI (1<<7) /* HDMI pin */ |
258 | #define AC_PINCAP_DP (1<<24) /* DisplayPort pin, can | ||
259 | * coexist with AC_PINCAP_HDMI | ||
260 | */ | ||
258 | #define AC_PINCAP_VREF (0x37<<8) | 261 | #define AC_PINCAP_VREF (0x37<<8) |
259 | #define AC_PINCAP_VREF_SHIFT 8 | 262 | #define AC_PINCAP_VREF_SHIFT 8 |
260 | #define AC_PINCAP_EAPD (1<<16) /* EAPD capable */ | 263 | #define AC_PINCAP_EAPD (1<<16) /* EAPD capable */ |
264 | #define AC_PINCAP_HBR (1<<27) /* High Bit Rate */ | ||
261 | /* Vref status (used in pin cap) */ | 265 | /* Vref status (used in pin cap) */ |
262 | #define AC_PINCAP_VREF_HIZ (1<<0) /* Hi-Z */ | 266 | #define AC_PINCAP_VREF_HIZ (1<<0) /* Hi-Z */ |
263 | #define AC_PINCAP_VREF_50 (1<<1) /* 50% */ | 267 | #define AC_PINCAP_VREF_50 (1<<1) /* 50% */ |
@@ -286,6 +290,10 @@ enum { | |||
286 | #define AC_PWRST_D1SUP (1<<1) | 290 | #define AC_PWRST_D1SUP (1<<1) |
287 | #define AC_PWRST_D2SUP (1<<2) | 291 | #define AC_PWRST_D2SUP (1<<2) |
288 | #define AC_PWRST_D3SUP (1<<3) | 292 | #define AC_PWRST_D3SUP (1<<3) |
293 | #define AC_PWRST_D3COLDSUP (1<<4) | ||
294 | #define AC_PWRST_S3D3COLDSUP (1<<29) | ||
295 | #define AC_PWRST_CLKSTOP (1<<30) | ||
296 | #define AC_PWRST_EPSS (1U<<31) | ||
289 | 297 | ||
290 | /* Power state values */ | 298 | /* Power state values */ |
291 | #define AC_PWRST_SETTING (0xf<<0) | 299 | #define AC_PWRST_SETTING (0xf<<0) |
@@ -631,6 +639,7 @@ struct hda_bus { | |||
631 | unsigned int rirb_error:1; /* error in codec communication */ | 639 | unsigned int rirb_error:1; /* error in codec communication */ |
632 | unsigned int response_reset:1; /* controller was reset */ | 640 | unsigned int response_reset:1; /* controller was reset */ |
633 | unsigned int in_reset:1; /* during reset operation */ | 641 | unsigned int in_reset:1; /* during reset operation */ |
642 | unsigned int power_keep_link_on:1; /* don't power off HDA link */ | ||
634 | }; | 643 | }; |
635 | 644 | ||
636 | /* | 645 | /* |
@@ -674,6 +683,7 @@ struct hda_codec_ops { | |||
674 | #ifdef CONFIG_SND_HDA_POWER_SAVE | 683 | #ifdef CONFIG_SND_HDA_POWER_SAVE |
675 | int (*check_power_status)(struct hda_codec *codec, hda_nid_t nid); | 684 | int (*check_power_status)(struct hda_codec *codec, hda_nid_t nid); |
676 | #endif | 685 | #endif |
686 | void (*reboot_notify)(struct hda_codec *codec); | ||
677 | }; | 687 | }; |
678 | 688 | ||
679 | /* record for amp information cache */ | 689 | /* record for amp information cache */ |
@@ -771,6 +781,7 @@ struct hda_codec { | |||
771 | 781 | ||
772 | /* beep device */ | 782 | /* beep device */ |
773 | struct hda_beep *beep; | 783 | struct hda_beep *beep; |
784 | unsigned int beep_mode; | ||
774 | 785 | ||
775 | /* widget capabilities cache */ | 786 | /* widget capabilities cache */ |
776 | unsigned int num_nodes; | 787 | unsigned int num_nodes; |
@@ -811,6 +822,9 @@ struct hda_codec { | |||
811 | unsigned int power_transition :1; /* power-state in transition */ | 822 | unsigned int power_transition :1; /* power-state in transition */ |
812 | int power_count; /* current (global) power refcount */ | 823 | int power_count; /* current (global) power refcount */ |
813 | struct delayed_work power_work; /* delayed task for powerdown */ | 824 | struct delayed_work power_work; /* delayed task for powerdown */ |
825 | unsigned long power_on_acct; | ||
826 | unsigned long power_off_acct; | ||
827 | unsigned long power_jiffies; | ||
814 | #endif | 828 | #endif |
815 | 829 | ||
816 | /* codec-specific additional proc output */ | 830 | /* codec-specific additional proc output */ |
@@ -910,6 +924,7 @@ int snd_hda_is_supported_format(struct hda_codec *codec, hda_nid_t nid, | |||
910 | * Misc | 924 | * Misc |
911 | */ | 925 | */ |
912 | void snd_hda_get_codec_name(struct hda_codec *codec, char *name, int namelen); | 926 | void snd_hda_get_codec_name(struct hda_codec *codec, char *name, int namelen); |
927 | void snd_hda_bus_reboot_notify(struct hda_bus *bus); | ||
913 | 928 | ||
914 | /* | 929 | /* |
915 | * power management | 930 | * power management |
@@ -933,6 +948,7 @@ const char *snd_hda_get_jack_location(u32 cfg); | |||
933 | void snd_hda_power_up(struct hda_codec *codec); | 948 | void snd_hda_power_up(struct hda_codec *codec); |
934 | void snd_hda_power_down(struct hda_codec *codec); | 949 | void snd_hda_power_down(struct hda_codec *codec); |
935 | #define snd_hda_codec_needs_resume(codec) codec->power_count | 950 | #define snd_hda_codec_needs_resume(codec) codec->power_count |
951 | void snd_hda_update_power_acct(struct hda_codec *codec); | ||
936 | #else | 952 | #else |
937 | static inline void snd_hda_power_up(struct hda_codec *codec) {} | 953 | static inline void snd_hda_power_up(struct hda_codec *codec) {} |
938 | static inline void snd_hda_power_down(struct hda_codec *codec) {} | 954 | static inline void snd_hda_power_down(struct hda_codec *codec) {} |