diff options
Diffstat (limited to 'include/sound/asound.h')
-rw-r--r-- | include/sound/asound.h | 34 |
1 files changed, 20 insertions, 14 deletions
diff --git a/include/sound/asound.h b/include/sound/asound.h index af9d11d315e9..3eaf155b850d 100644 --- a/include/sound/asound.h +++ b/include/sound/asound.h | |||
@@ -95,7 +95,7 @@ enum { | |||
95 | SNDRV_HWDEP_IFACE_HDA, /* HD-audio */ | 95 | SNDRV_HWDEP_IFACE_HDA, /* HD-audio */ |
96 | 96 | ||
97 | /* Don't forget to change the following: */ | 97 | /* Don't forget to change the following: */ |
98 | SNDRV_HWDEP_IFACE_LAST = SNDRV_HWDEP_IFACE_SB_RC | 98 | SNDRV_HWDEP_IFACE_LAST = SNDRV_HWDEP_IFACE_HDA |
99 | }; | 99 | }; |
100 | 100 | ||
101 | struct snd_hwdep_info { | 101 | struct snd_hwdep_info { |
@@ -138,7 +138,7 @@ enum { | |||
138 | * * | 138 | * * |
139 | *****************************************************************************/ | 139 | *****************************************************************************/ |
140 | 140 | ||
141 | #define SNDRV_PCM_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 8) | 141 | #define SNDRV_PCM_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 9) |
142 | 142 | ||
143 | typedef unsigned long snd_pcm_uframes_t; | 143 | typedef unsigned long snd_pcm_uframes_t; |
144 | typedef signed long snd_pcm_sframes_t; | 144 | typedef signed long snd_pcm_sframes_t; |
@@ -354,8 +354,8 @@ struct snd_pcm_hw_params { | |||
354 | 354 | ||
355 | enum { | 355 | enum { |
356 | SNDRV_PCM_TSTAMP_NONE = 0, | 356 | SNDRV_PCM_TSTAMP_NONE = 0, |
357 | SNDRV_PCM_TSTAMP_MMAP, | 357 | SNDRV_PCM_TSTAMP_ENABLE, |
358 | SNDRV_PCM_TSTAMP_LAST = SNDRV_PCM_TSTAMP_MMAP, | 358 | SNDRV_PCM_TSTAMP_LAST = SNDRV_PCM_TSTAMP_ENABLE, |
359 | }; | 359 | }; |
360 | 360 | ||
361 | struct snd_pcm_sw_params { | 361 | struct snd_pcm_sw_params { |
@@ -363,7 +363,7 @@ struct snd_pcm_sw_params { | |||
363 | unsigned int period_step; | 363 | unsigned int period_step; |
364 | unsigned int sleep_min; /* min ticks to sleep */ | 364 | unsigned int sleep_min; /* min ticks to sleep */ |
365 | snd_pcm_uframes_t avail_min; /* min avail frames for wakeup */ | 365 | snd_pcm_uframes_t avail_min; /* min avail frames for wakeup */ |
366 | snd_pcm_uframes_t xfer_align; /* xfer size need to be a multiple */ | 366 | snd_pcm_uframes_t xfer_align; /* obsolete: xfer size need to be a multiple */ |
367 | snd_pcm_uframes_t start_threshold; /* min hw_avail frames for automatic start */ | 367 | snd_pcm_uframes_t start_threshold; /* min hw_avail frames for automatic start */ |
368 | snd_pcm_uframes_t stop_threshold; /* min avail frames for automatic stop */ | 368 | snd_pcm_uframes_t stop_threshold; /* min avail frames for automatic stop */ |
369 | snd_pcm_uframes_t silence_threshold; /* min distance from noise for silence filling */ | 369 | snd_pcm_uframes_t silence_threshold; /* min distance from noise for silence filling */ |
@@ -435,9 +435,16 @@ struct snd_xfern { | |||
435 | }; | 435 | }; |
436 | 436 | ||
437 | enum { | 437 | enum { |
438 | SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY = 0, /* gettimeofday equivalent */ | ||
439 | SNDRV_PCM_TSTAMP_TYPE_MONOTONIC, /* posix_clock_monotonic equivalent */ | ||
440 | SNDRV_PCM_TSTAMP_TYPE_LAST = SNDRV_PCM_TSTAMP_TYPE_MONOTONIC, | ||
441 | }; | ||
442 | |||
443 | enum { | ||
438 | SNDRV_PCM_IOCTL_PVERSION = _IOR('A', 0x00, int), | 444 | SNDRV_PCM_IOCTL_PVERSION = _IOR('A', 0x00, int), |
439 | SNDRV_PCM_IOCTL_INFO = _IOR('A', 0x01, struct snd_pcm_info), | 445 | SNDRV_PCM_IOCTL_INFO = _IOR('A', 0x01, struct snd_pcm_info), |
440 | SNDRV_PCM_IOCTL_TSTAMP = _IOW('A', 0x02, int), | 446 | SNDRV_PCM_IOCTL_TSTAMP = _IOW('A', 0x02, int), |
447 | SNDRV_PCM_IOCTL_TTSTAMP = _IOW('A', 0x03, int), | ||
441 | SNDRV_PCM_IOCTL_HW_REFINE = _IOWR('A', 0x10, struct snd_pcm_hw_params), | 448 | SNDRV_PCM_IOCTL_HW_REFINE = _IOWR('A', 0x10, struct snd_pcm_hw_params), |
442 | SNDRV_PCM_IOCTL_HW_PARAMS = _IOWR('A', 0x11, struct snd_pcm_hw_params), | 449 | SNDRV_PCM_IOCTL_HW_PARAMS = _IOWR('A', 0x11, struct snd_pcm_hw_params), |
443 | SNDRV_PCM_IOCTL_HW_FREE = _IO('A', 0x12), | 450 | SNDRV_PCM_IOCTL_HW_FREE = _IO('A', 0x12), |
@@ -689,7 +696,7 @@ struct snd_timer_tread { | |||
689 | * * | 696 | * * |
690 | ****************************************************************************/ | 697 | ****************************************************************************/ |
691 | 698 | ||
692 | #define SNDRV_CTL_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 4) | 699 | #define SNDRV_CTL_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 5) |
693 | 700 | ||
694 | struct snd_ctl_card_info { | 701 | struct snd_ctl_card_info { |
695 | int card; /* card number */ | 702 | int card; /* card number */ |
@@ -738,8 +745,7 @@ typedef int __bitwise snd_ctl_elem_iface_t; | |||
738 | #define SNDRV_CTL_ELEM_ACCESS_OWNER (1<<10) /* write lock owner */ | 745 | #define SNDRV_CTL_ELEM_ACCESS_OWNER (1<<10) /* write lock owner */ |
739 | #define SNDRV_CTL_ELEM_ACCESS_TLV_CALLBACK (1<<28) /* kernel use a TLV callback */ | 746 | #define SNDRV_CTL_ELEM_ACCESS_TLV_CALLBACK (1<<28) /* kernel use a TLV callback */ |
740 | #define SNDRV_CTL_ELEM_ACCESS_USER (1<<29) /* user space element */ | 747 | #define SNDRV_CTL_ELEM_ACCESS_USER (1<<29) /* user space element */ |
741 | #define SNDRV_CTL_ELEM_ACCESS_DINDIRECT (1<<30) /* indirect access for matrix dimensions in the info structure */ | 748 | /* bits 30 and 31 are obsoleted (for indirect access) */ |
742 | #define SNDRV_CTL_ELEM_ACCESS_INDIRECT (1<<31) /* indirect access for element value in the value structure */ | ||
743 | 749 | ||
744 | /* for further details see the ACPI and PCI power management specification */ | 750 | /* for further details see the ACPI and PCI power management specification */ |
745 | #define SNDRV_CTL_POWER_D0 0x0000 /* full On */ | 751 | #define SNDRV_CTL_POWER_D0 0x0000 /* full On */ |
@@ -793,30 +799,30 @@ struct snd_ctl_elem_info { | |||
793 | } value; | 799 | } value; |
794 | union { | 800 | union { |
795 | unsigned short d[4]; /* dimensions */ | 801 | unsigned short d[4]; /* dimensions */ |
796 | unsigned short *d_ptr; /* indirect */ | 802 | unsigned short *d_ptr; /* indirect - obsoleted */ |
797 | } dimen; | 803 | } dimen; |
798 | unsigned char reserved[64-4*sizeof(unsigned short)]; | 804 | unsigned char reserved[64-4*sizeof(unsigned short)]; |
799 | }; | 805 | }; |
800 | 806 | ||
801 | struct snd_ctl_elem_value { | 807 | struct snd_ctl_elem_value { |
802 | struct snd_ctl_elem_id id; /* W: element ID */ | 808 | struct snd_ctl_elem_id id; /* W: element ID */ |
803 | unsigned int indirect: 1; /* W: use indirect pointer (xxx_ptr member) */ | 809 | unsigned int indirect: 1; /* W: indirect access - obsoleted */ |
804 | union { | 810 | union { |
805 | union { | 811 | union { |
806 | long value[128]; | 812 | long value[128]; |
807 | long *value_ptr; | 813 | long *value_ptr; /* obsoleted */ |
808 | } integer; | 814 | } integer; |
809 | union { | 815 | union { |
810 | long long value[64]; | 816 | long long value[64]; |
811 | long long *value_ptr; | 817 | long long *value_ptr; /* obsoleted */ |
812 | } integer64; | 818 | } integer64; |
813 | union { | 819 | union { |
814 | unsigned int item[128]; | 820 | unsigned int item[128]; |
815 | unsigned int *item_ptr; | 821 | unsigned int *item_ptr; /* obsoleted */ |
816 | } enumerated; | 822 | } enumerated; |
817 | union { | 823 | union { |
818 | unsigned char data[512]; | 824 | unsigned char data[512]; |
819 | unsigned char *data_ptr; | 825 | unsigned char *data_ptr; /* obsoleted */ |
820 | } bytes; | 826 | } bytes; |
821 | struct snd_aes_iec958 iec958; | 827 | struct snd_aes_iec958 iec958; |
822 | } value; /* RO */ | 828 | } value; /* RO */ |