Lines Matching defs:snd_usb_endpoint
64 struct snd_usb_endpoint { struct
87 struct snd_usb_endpoint *sync_source; argument
88 struct snd_usb_endpoint *sync_sink; argument
90 struct snd_urb_ctx urb[MAX_URBS];
92 struct snd_usb_packet_info {
95 } next_packet[MAX_URBS];
96 unsigned int next_packet_head; /* ring buffer offset to read */
97 unsigned int next_packet_queued; /* queued items in the ring buffer */
98 struct list_head ready_playback_urbs; /* playback URB FIFO for implicit fb */
100 unsigned int nurbs; /* # urbs */
101 unsigned long active_mask; /* bitmask of active urbs */
102 unsigned long unlink_mask; /* bitmask of unlinked urbs */
103 atomic_t submitted_urbs; /* currently submitted urbs */
104 char *syncbuf; /* sync buffer for all sync URBs */
105 dma_addr_t sync_dma; /* DMA address of syncbuf */
107 unsigned int pipe; /* the data i/o pipe */
108 unsigned int packsize[2]; /* small/large packet sizes in samples */
109 unsigned int sample_rem; /* remainder from division fs/pps */
110 unsigned int sample_accum; /* sample accumulator */
111 unsigned int pps; /* packets per second */
112 unsigned int freqn; /* nominal sampling rate in fs/fps in Q16.16 format */
113 unsigned int freqm; /* momentary sampling rate in fs/fps in Q16.16 format */
114 int freqshift; /* how much to shift the feedback value to get Q16.16 */
115 unsigned int freqmax; /* maximum sampling rate, used for buffer management */
116 unsigned int phase; /* phase accumulator */
117 unsigned int maxpacksize; /* max packet size in bytes */
118 unsigned int maxframesize; /* max packet size in frames */
119 unsigned int max_urb_frames; /* max URB size in frames */
120 unsigned int curpacksize; /* current packet size in bytes (for capture) */
121 unsigned int curframesize; /* current packet size in frames (for capture) */
122 unsigned int syncmaxsize; /* sync endpoint packet size */
123 unsigned int fill_max:1; /* fill max packet size always */
124 unsigned int tenor_fb_quirk:1; /* corrupted feedback data */
125 unsigned int datainterval; /* log_2 of data packet interval */
126 unsigned int syncinterval; /* P for adaptive mode, 0 otherwise */
127 unsigned char silence_value;
128 unsigned int stride;
129 int skip_packets; /* quirks for devices to ignore the first n packets
131 bool implicit_fb_sync; /* syncs with implicit feedback */
132 bool lowlatency_playback; /* low-latency playback mode */
133 bool need_setup; /* (re-)need for hw_params? */
134 bool need_prepare; /* (re-)need for prepare? */
135 bool fixed_rate; /* skip rate setup */
138 const struct audioformat *cur_audiofmt;
139 unsigned int cur_rate;
140 snd_pcm_format_t cur_format;
141 unsigned int cur_channels;
142 unsigned int cur_frame_bytes;
143 unsigned int cur_period_frames;
144 unsigned int cur_period_bytes;
145 unsigned int cur_buffer_periods;
147 spinlock_t lock;
148 struct list_head list;