Lines Matching +full:tlv +full:- +full:layout
1 /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
3 * Advanced Linux Sound Architecture - ALSA - Driver
4 * Copyright (c) 1994-2003 by Jaroslav Kysela <perex@perex.cz>,
5 * Abramo Bagnara <abramo@alsa-project.org>
54 * CEA-861 Audio InfoFrame. Used in HDMI and DisplayPort *
63 unsigned char db5_dminh_lsv; /* downmix inhibit & level-shit values */
68 * Section for driver hardware dependent interface - /dev/snd/hw? *
91 SNDRV_HWDEP_IFACE_HDA, /* HD-audio */
118 unsigned int version; /* R: driver-specific version */
119 unsigned char id[32]; /* R: driver-specific ID string */
131 unsigned long driver_data; /* W: driver-specific data */
141 * Digital Audio (PCM) interface - /dev/snd/pcm?? *
193 * available bit count in most significant bit. It's for the case of so-called 'left-justified' or
194 * `right-padding` sample which has less width than 32 bit.
200 …V_PCM_FORMAT_FLOAT_LE ((__force snd_pcm_format_t) 14) /* 4-byte float, IEEE-754 32-bit, range -1.0…
201 …V_PCM_FORMAT_FLOAT_BE ((__force snd_pcm_format_t) 15) /* 4-byte float, IEEE-754 32-bit, range -1.0…
202 …PCM_FORMAT_FLOAT64_LE ((__force snd_pcm_format_t) 16) /* 8-byte float, IEEE-754 64-bit, range -1.0…
203 …PCM_FORMAT_FLOAT64_BE ((__force snd_pcm_format_t) 17) /* 8-byte float, IEEE-754 64-bit, range -1.0…
204 #define SNDRV_PCM_FORMAT_IEC958_SUBFRAME_LE ((__force snd_pcm_format_t) 18) /* IEC-958 subframe, Li…
205 #define SNDRV_PCM_FORMAT_IEC958_SUBFRAME_BE ((__force snd_pcm_format_t) 19) /* IEC-958 subframe, Bi…
233 #define SNDRV_PCM_FORMAT_DSD_U8 ((__force snd_pcm_format_t) 48) /* DSD, 1-byte samples DSD (x8) */
234 #define SNDRV_PCM_FORMAT_DSD_U16_LE ((__force snd_pcm_format_t) 49) /* DSD, 2-byte samples DSD (x16…
235 #define SNDRV_PCM_FORMAT_DSD_U32_LE ((__force snd_pcm_format_t) 50) /* DSD, 4-byte samples DSD (x32…
236 #define SNDRV_PCM_FORMAT_DSD_U16_BE ((__force snd_pcm_format_t) 51) /* DSD, 2-byte samples DSD (x16…
237 #define SNDRV_PCM_FORMAT_DSD_U32_BE ((__force snd_pcm_format_t) 52) /* DSD, 4-byte samples DSD (x32…
299 #define SNDRV_PCM_INFO_DRAIN_TRIGGER 0x40000000 /* internal kernel flag - trigger in drain */
300 #define SNDRV_PCM_INFO_FIFO_IN_FRAMES 0x80000000 /* internal kernel flag - FIFO size is in frames */
410 struct snd_mask masks[SNDRV_PCM_HW_PARAM_LAST_MASK -
413 struct snd_interval intervals[SNDRV_PCM_HW_PARAM_LAST_INTERVAL -
419 unsigned int msbits; /* R: used most significant bits (in sample bit-width) */
423 unsigned char sync[16]; /* R: synchronization ID (perfect sync - one clock source) */
444 snd_pcm_uframes_t stop_threshold; /* - stop playback */
445 snd_pcm_uframes_t silence_threshold; /* - pre-fill buffer with silence */
446 snd_pcm_uframes_t silence_size; /* max size of silence pre-fill; when >= boundary,
478 /* explicit padding avoids incompatibility between i386 and x86-64 */
479 typedef struct { unsigned char pad[sizeof(time_t) - sizeof(int)]; } __time_pad;
493 …__u32 audio_tstamp_data; /* needed for 64-bit alignment, used for configs/report to/from userspac…
494 struct timespec audio_tstamp; /* sample counter, wall clock, PHC or on-demand sync'ed */
497 unsigned char reserved[52-2*sizeof(struct timespec)]; /* must be filled with zero */
502 * For mmap operations, we need the 64-bit layout, both for compat mode,
503 * and for y2038 compatibility. For 64-bit applications, the two definitions
532 snd_pcm_state_t state; /* RO: state - SNDRV_PCM_STATE_XXXX */
534 snd_pcm_uframes_t hw_ptr; /* RO: hw ptr (0...boundary-1) */
541 snd_pcm_uframes_t appl_ptr; /* RW: appl ptr (0...boundary-1) */
562 typedef char __pad_before_uframe[sizeof(__u64) - sizeof(snd_pcm_uframes_t)];
568 typedef char __pad_after_uframe[sizeof(__u64) - sizeof(snd_pcm_uframes_t)];
572 snd_pcm_state_t state; /* RO: state - SNDRV_PCM_STATE_XXXX */
575 snd_pcm_uframes_t hw_ptr; /* RO: hw ptr (0...boundary-1) */
585 snd_pcm_uframes_t appl_ptr; /* RW: appl ptr (0...boundary-1) */
631 /* this follows the alsa-lib mixer channel value + 3 */
716 * Raw MIDI section - /dev/snd/midi??
830 /* UMP block user-interface hint */
849 unsigned char midi_ci_version; /* MIDI-CI support version */
869 * Timer section - /dev/snd/timer
875 SNDRV_TIMER_CLASS_NONE = -1,
912 unsigned int flags; /* timer flags - SNDRV_TIMER_FLG_* */
926 unsigned long period_num; /* requested precise period duration (in seconds) - numerator */
927 unsigned long period_den; /* requested precise period duration (in seconds) - denominator */
934 unsigned long resolution_num; /* precise current period resolution (in seconds) - numerator */
935 unsigned long resolution_den; /* precise current period resolution (in seconds) - denominator */
945 unsigned int flags; /* timer flags - SNDRV_TIMER_FLG_* */
954 #define SNDRV_TIMER_PSFLG_AUTO (1<<0) /* auto start, otherwise one-shot */
959 unsigned int flags; /* flags - SNDRV_TIMER_PSFLG_* */
961 unsigned int queue_size; /* total size of queue (32-1024) */
969 struct timespec tstamp; /* Timestamp - last update */
979 * This structure describes the userspace-driven timer. Such timers are purely virtual,
1053 * Section for driver control interface - /dev/snd/control? *
1078 #define SNDRV_CTL_ELEM_TYPE_INTEGER64 ((__force snd_ctl_elem_type_t) 6) /* 64-bit integer type */
1096 #define SNDRV_CTL_ELEM_ACCESS_TLV_READ (1<<4) /* TLV read is possible */
1097 #define SNDRV_CTL_ELEM_ACCESS_TLV_WRITE (1<<5) /* TLV write is possible */
1099 #define SNDRV_CTL_ELEM_ACCESS_TLV_COMMAND (1<<6) /* TLV command is possible */
1103 #define SNDRV_CTL_ELEM_ACCESS_TLV_CALLBACK (1<<28) /* kernel use a TLV callback */
1137 snd_ctl_elem_type_t type; /* R: value type - SNDRV_CTL_ELEM_TYPE_* */
1138 unsigned int access; /* R: value access (bitmask) - SNDRV_CTL_ELEM_ACCESS_* */
1166 unsigned int indirect: 1; /* W: indirect access - obsoleted */
1192 unsigned int tlv[]; /* first TLV */ member
1236 #define SNDRV_CTL_EVENT_MASK_TLV (1<<3) /* element TLV tree was changed */
1240 int type; /* event type - SNDRV_CTL_EVENT_* */