Lines Matching full:runtime

38  * runtime->silence_start: starting pointer to silence area
39 * runtime->silence_filled: size filled with silence
40 * runtime->silence_threshold: threshold from application
41 * runtime->silence_size: maximal size from application
43 * when runtime->silence_size >= runtime->boundary - fill processed area with silence immediately
47 struct snd_pcm_runtime *runtime = substream->runtime; in snd_pcm_playback_silence() local
51 if (runtime->silence_size < runtime->boundary) { in snd_pcm_playback_silence()
53 snd_pcm_uframes_t appl_ptr = READ_ONCE(runtime->control->appl_ptr); in snd_pcm_playback_silence()
54 if (runtime->silence_start != appl_ptr) { in snd_pcm_playback_silence()
55 n = appl_ptr - runtime->silence_start; in snd_pcm_playback_silence()
57 n += runtime->boundary; in snd_pcm_playback_silence()
58 if ((snd_pcm_uframes_t)n < runtime->silence_filled) in snd_pcm_playback_silence()
59 runtime->silence_filled -= n; in snd_pcm_playback_silence()
61 runtime->silence_filled = 0; in snd_pcm_playback_silence()
62 runtime->silence_start = appl_ptr; in snd_pcm_playback_silence()
64 if (runtime->silence_filled >= runtime->buffer_size) in snd_pcm_playback_silence()
66 noise_dist = snd_pcm_playback_hw_avail(runtime) + runtime->silence_filled; in snd_pcm_playback_silence()
67 if (noise_dist >= (snd_pcm_sframes_t) runtime->silence_threshold) in snd_pcm_playback_silence()
69 frames = runtime->silence_threshold - noise_dist; in snd_pcm_playback_silence()
70 if (frames > runtime->silence_size) in snd_pcm_playback_silence()
71 frames = runtime->silence_size; in snd_pcm_playback_silence()
74 snd_pcm_sframes_t avail = snd_pcm_playback_hw_avail(runtime); in snd_pcm_playback_silence()
75 if (avail > runtime->buffer_size) in snd_pcm_playback_silence()
76 avail = runtime->buffer_size; in snd_pcm_playback_silence()
77 runtime->silence_filled = avail > 0 ? avail : 0; in snd_pcm_playback_silence()
78 runtime->silence_start = (runtime->status->hw_ptr + in snd_pcm_playback_silence()
79 runtime->silence_filled) % in snd_pcm_playback_silence()
80 runtime->boundary; in snd_pcm_playback_silence()
82 ofs = runtime->status->hw_ptr; in snd_pcm_playback_silence()
85 frames += runtime->boundary; in snd_pcm_playback_silence()
86 runtime->silence_filled -= frames; in snd_pcm_playback_silence()
87 if ((snd_pcm_sframes_t)runtime->silence_filled < 0) { in snd_pcm_playback_silence()
88 runtime->silence_filled = 0; in snd_pcm_playback_silence()
89 runtime->silence_start = new_hw_ptr; in snd_pcm_playback_silence()
91 runtime->silence_start = ofs; in snd_pcm_playback_silence()
94 frames = runtime->buffer_size - runtime->silence_filled; in snd_pcm_playback_silence()
96 if (snd_BUG_ON(frames > runtime->buffer_size)) in snd_pcm_playback_silence()
100 ofs = runtime->silence_start % runtime->buffer_size; in snd_pcm_playback_silence()
102 transfer = ofs + frames > runtime->buffer_size ? runtime->buffer_size - ofs : frames; in snd_pcm_playback_silence()
105 runtime->silence_filled += transfer; in snd_pcm_playback_silence()
144 struct snd_pcm_runtime *runtime = substream->runtime; in __snd_pcm_xrun() local
147 if (runtime->tstamp_mode == SNDRV_PCM_TSTAMP_ENABLE) { in __snd_pcm_xrun()
150 snd_pcm_gettime(runtime, &tstamp); in __snd_pcm_xrun()
151 runtime->status->tstamp.tv_sec = tstamp.tv_sec; in __snd_pcm_xrun()
152 runtime->status->tstamp.tv_nsec = tstamp.tv_nsec; in __snd_pcm_xrun()
181 struct snd_pcm_runtime *runtime) in snd_pcm_update_state() argument
186 if (avail > runtime->avail_max) in snd_pcm_update_state()
187 runtime->avail_max = avail; in snd_pcm_update_state()
188 if (runtime->status->state == SNDRV_PCM_STATE_DRAINING) { in snd_pcm_update_state()
189 if (avail >= runtime->buffer_size) { in snd_pcm_update_state()
194 if (avail >= runtime->stop_threshold) { in snd_pcm_update_state()
199 if (runtime->twake) { in snd_pcm_update_state()
200 if (avail >= runtime->twake) in snd_pcm_update_state()
201 wake_up(&runtime->tsleep); in snd_pcm_update_state()
202 } else if (avail >= runtime->control->avail_min) in snd_pcm_update_state()
203 wake_up(&runtime->sleep); in snd_pcm_update_state()
211 struct snd_pcm_runtime *runtime = substream->runtime; in update_audio_tstamp() local
215 if (runtime->tstamp_mode != SNDRV_PCM_TSTAMP_ENABLE) in update_audio_tstamp()
219 (runtime->audio_tstamp_report.actual_type == in update_audio_tstamp()
227 audio_frames = runtime->hw_ptr_wrap + runtime->status->hw_ptr; in update_audio_tstamp()
229 if (runtime->audio_tstamp_config.report_delay) { in update_audio_tstamp()
231 audio_frames -= runtime->delay; in update_audio_tstamp()
233 audio_frames += runtime->delay; in update_audio_tstamp()
236 runtime->rate); in update_audio_tstamp()
240 if (runtime->status->audio_tstamp.tv_sec != audio_tstamp->tv_sec || in update_audio_tstamp()
241 runtime->status->audio_tstamp.tv_nsec != audio_tstamp->tv_nsec) { in update_audio_tstamp()
242 runtime->status->audio_tstamp.tv_sec = audio_tstamp->tv_sec; in update_audio_tstamp()
243 runtime->status->audio_tstamp.tv_nsec = audio_tstamp->tv_nsec; in update_audio_tstamp()
244 runtime->status->tstamp.tv_sec = curr_tstamp->tv_sec; in update_audio_tstamp()
245 runtime->status->tstamp.tv_nsec = curr_tstamp->tv_nsec; in update_audio_tstamp()
253 snd_pcm_gettime(substream->runtime, &driver_tstamp); in update_audio_tstamp()
254 runtime->driver_tstamp = driver_tstamp; in update_audio_tstamp()
260 struct snd_pcm_runtime *runtime = substream->runtime; in snd_pcm_update_hw_ptr0() local
270 old_hw_ptr = runtime->status->hw_ptr; in snd_pcm_update_hw_ptr0()
280 if (runtime->tstamp_mode == SNDRV_PCM_TSTAMP_ENABLE) { in snd_pcm_update_hw_ptr0()
282 (runtime->audio_tstamp_config.type_requested != SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT)) { in snd_pcm_update_hw_ptr0()
285 &runtime->audio_tstamp_config, in snd_pcm_update_hw_ptr0()
286 &runtime->audio_tstamp_report); in snd_pcm_update_hw_ptr0()
289 if (runtime->audio_tstamp_report.actual_type == SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT) in snd_pcm_update_hw_ptr0()
290 snd_pcm_gettime(runtime, &curr_tstamp); in snd_pcm_update_hw_ptr0()
292 snd_pcm_gettime(runtime, &curr_tstamp); in snd_pcm_update_hw_ptr0()
299 if (pos >= runtime->buffer_size) { in snd_pcm_update_hw_ptr0()
305 name, pos, runtime->buffer_size, in snd_pcm_update_hw_ptr0()
306 runtime->period_size); in snd_pcm_update_hw_ptr0()
310 pos -= pos % runtime->min_align; in snd_pcm_update_hw_ptr0()
312 hw_base = runtime->hw_ptr_base; in snd_pcm_update_hw_ptr0()
317 delta = runtime->hw_ptr_interrupt + runtime->period_size; in snd_pcm_update_hw_ptr0()
320 hdelta = curr_jiffies - runtime->hw_ptr_jiffies; in snd_pcm_update_hw_ptr0()
321 if (hdelta > runtime->hw_ptr_buffer_jiffies/2 + 1) { in snd_pcm_update_hw_ptr0()
322 hw_base += runtime->buffer_size; in snd_pcm_update_hw_ptr0()
323 if (hw_base >= runtime->boundary) { in snd_pcm_update_hw_ptr0()
335 hw_base += runtime->buffer_size; in snd_pcm_update_hw_ptr0()
336 if (hw_base >= runtime->boundary) { in snd_pcm_update_hw_ptr0()
345 delta += runtime->boundary; in snd_pcm_update_hw_ptr0()
347 if (runtime->no_period_wakeup) { in snd_pcm_update_hw_ptr0()
353 jdelta = curr_jiffies - runtime->hw_ptr_jiffies; in snd_pcm_update_hw_ptr0()
354 if (jdelta < runtime->hw_ptr_buffer_jiffies / 2) in snd_pcm_update_hw_ptr0()
356 hdelta = jdelta - delta * HZ / runtime->rate; in snd_pcm_update_hw_ptr0()
357 xrun_threshold = runtime->hw_ptr_buffer_jiffies / 2 + 1; in snd_pcm_update_hw_ptr0()
359 delta += runtime->buffer_size; in snd_pcm_update_hw_ptr0()
360 hw_base += runtime->buffer_size; in snd_pcm_update_hw_ptr0()
361 if (hw_base >= runtime->boundary) { in snd_pcm_update_hw_ptr0()
366 hdelta -= runtime->hw_ptr_buffer_jiffies; in snd_pcm_update_hw_ptr0()
372 if (delta >= runtime->buffer_size + runtime->period_size) { in snd_pcm_update_hw_ptr0()
388 if (runtime->hw.info & SNDRV_PCM_INFO_BATCH) in snd_pcm_update_hw_ptr0()
391 if (hdelta < runtime->delay) in snd_pcm_update_hw_ptr0()
393 hdelta -= runtime->delay; in snd_pcm_update_hw_ptr0()
394 jdelta = curr_jiffies - runtime->hw_ptr_jiffies; in snd_pcm_update_hw_ptr0()
395 if (((hdelta * HZ) / runtime->rate) > jdelta + HZ/100) { in snd_pcm_update_hw_ptr0()
397 (((runtime->period_size * HZ) / runtime->rate) in snd_pcm_update_hw_ptr0()
405 new_hw_ptr += runtime->period_size; in snd_pcm_update_hw_ptr0()
406 if (new_hw_ptr >= runtime->boundary) { in snd_pcm_update_hw_ptr0()
407 new_hw_ptr -= runtime->boundary; in snd_pcm_update_hw_ptr0()
416 (long)runtime->period_size, jdelta, in snd_pcm_update_hw_ptr0()
417 ((hdelta * HZ) / runtime->rate), hw_base, in snd_pcm_update_hw_ptr0()
422 hw_base = new_hw_ptr - (new_hw_ptr % runtime->buffer_size); in snd_pcm_update_hw_ptr0()
425 if (delta > runtime->period_size + runtime->period_size / 2) { in snd_pcm_update_hw_ptr0()
435 if (runtime->status->hw_ptr == new_hw_ptr) { in snd_pcm_update_hw_ptr0()
436 runtime->hw_ptr_jiffies = curr_jiffies; in snd_pcm_update_hw_ptr0()
442 runtime->silence_size > 0) in snd_pcm_update_hw_ptr0()
446 delta = new_hw_ptr - runtime->hw_ptr_interrupt; in snd_pcm_update_hw_ptr0()
448 delta += runtime->boundary; in snd_pcm_update_hw_ptr0()
449 delta -= (snd_pcm_uframes_t)delta % runtime->period_size; in snd_pcm_update_hw_ptr0()
450 runtime->hw_ptr_interrupt += delta; in snd_pcm_update_hw_ptr0()
451 if (runtime->hw_ptr_interrupt >= runtime->boundary) in snd_pcm_update_hw_ptr0()
452 runtime->hw_ptr_interrupt -= runtime->boundary; in snd_pcm_update_hw_ptr0()
454 runtime->hw_ptr_base = hw_base; in snd_pcm_update_hw_ptr0()
455 runtime->status->hw_ptr = new_hw_ptr; in snd_pcm_update_hw_ptr0()
456 runtime->hw_ptr_jiffies = curr_jiffies; in snd_pcm_update_hw_ptr0()
459 runtime->hw_ptr_wrap += runtime->boundary; in snd_pcm_update_hw_ptr0()
464 return snd_pcm_update_state(substream, runtime); in snd_pcm_update_hw_ptr0()
500 struct snd_pcm_runtime *runtime = substream->runtime; in snd_pcm_set_sync() local
502 runtime->sync.id32[0] = substream->pcm->card->number; in snd_pcm_set_sync()
503 runtime->sync.id32[1] = -1; in snd_pcm_set_sync()
504 runtime->sync.id32[2] = -1; in snd_pcm_set_sync()
505 runtime->sync.id32[3] = -1; in snd_pcm_set_sync()
1110 * @runtime: the pcm runtime instance
1119 int snd_pcm_hw_rule_add(struct snd_pcm_runtime *runtime, unsigned int cond, in snd_pcm_hw_rule_add() argument
1124 struct snd_pcm_hw_constraints *constrs = &runtime->hw_constraints; in snd_pcm_hw_rule_add()
1165 * @runtime: PCM runtime instance
1173 int snd_pcm_hw_constraint_mask(struct snd_pcm_runtime *runtime, snd_pcm_hw_param_t var, in snd_pcm_hw_constraint_mask() argument
1176 struct snd_pcm_hw_constraints *constrs = &runtime->hw_constraints; in snd_pcm_hw_constraint_mask()
1187 * @runtime: PCM runtime instance
1195 int snd_pcm_hw_constraint_mask64(struct snd_pcm_runtime *runtime, snd_pcm_hw_param_t var, in snd_pcm_hw_constraint_mask64() argument
1198 struct snd_pcm_hw_constraints *constrs = &runtime->hw_constraints; in snd_pcm_hw_constraint_mask64()
1211 * @runtime: PCM runtime instance
1219 int snd_pcm_hw_constraint_integer(struct snd_pcm_runtime *runtime, snd_pcm_hw_param_t var) in snd_pcm_hw_constraint_integer() argument
1221 struct snd_pcm_hw_constraints *constrs = &runtime->hw_constraints; in snd_pcm_hw_constraint_integer()
1228 * @runtime: PCM runtime instance
1238 int snd_pcm_hw_constraint_minmax(struct snd_pcm_runtime *runtime, snd_pcm_hw_param_t var, in snd_pcm_hw_constraint_minmax() argument
1241 struct snd_pcm_hw_constraints *constrs = &runtime->hw_constraints; in snd_pcm_hw_constraint_minmax()
1261 * @runtime: PCM runtime instance
1270 int snd_pcm_hw_constraint_list(struct snd_pcm_runtime *runtime, in snd_pcm_hw_constraint_list() argument
1275 return snd_pcm_hw_rule_add(runtime, cond, var, in snd_pcm_hw_constraint_list()
1292 * @runtime: PCM runtime instance
1301 int snd_pcm_hw_constraint_ranges(struct snd_pcm_runtime *runtime, in snd_pcm_hw_constraint_ranges() argument
1306 return snd_pcm_hw_rule_add(runtime, cond, var, in snd_pcm_hw_constraint_ranges()
1329 * @runtime: PCM runtime instance
1336 int snd_pcm_hw_constraint_ratnums(struct snd_pcm_runtime *runtime, in snd_pcm_hw_constraint_ratnums() argument
1341 return snd_pcm_hw_rule_add(runtime, cond, var, in snd_pcm_hw_constraint_ratnums()
1363 * @runtime: PCM runtime instance
1370 int snd_pcm_hw_constraint_ratdens(struct snd_pcm_runtime *runtime, in snd_pcm_hw_constraint_ratdens() argument
1375 return snd_pcm_hw_rule_add(runtime, cond, var, in snd_pcm_hw_constraint_ratdens()
1402 * @runtime: PCM runtime instance
1414 int snd_pcm_hw_constraint_msbits(struct snd_pcm_runtime *runtime, in snd_pcm_hw_constraint_msbits() argument
1420 return snd_pcm_hw_rule_add(runtime, cond, -1, in snd_pcm_hw_constraint_msbits()
1436 * @runtime: PCM runtime instance
1443 int snd_pcm_hw_constraint_step(struct snd_pcm_runtime *runtime, in snd_pcm_hw_constraint_step() argument
1448 return snd_pcm_hw_rule_add(runtime, cond, var, in snd_pcm_hw_constraint_step()
1468 * @runtime: PCM runtime instance
1474 int snd_pcm_hw_constraint_pow2(struct snd_pcm_runtime *runtime, in snd_pcm_hw_constraint_pow2() argument
1478 return snd_pcm_hw_rule_add(runtime, cond, var, in snd_pcm_hw_constraint_pow2()
1496 * @runtime: PCM runtime instance
1501 int snd_pcm_hw_rule_noresample(struct snd_pcm_runtime *runtime, in snd_pcm_hw_rule_noresample() argument
1504 return snd_pcm_hw_rule_add(runtime, SNDRV_PCM_HW_PARAMS_NORESAMPLE, in snd_pcm_hw_rule_noresample()
1686 struct snd_pcm_runtime *runtime = substream->runtime; in snd_pcm_lib_ioctl_reset() local
1691 runtime->status->hw_ptr %= runtime->buffer_size; in snd_pcm_lib_ioctl_reset()
1693 runtime->status->hw_ptr = 0; in snd_pcm_lib_ioctl_reset()
1694 runtime->hw_ptr_wrap = 0; in snd_pcm_lib_ioctl_reset()
1704 struct snd_pcm_runtime *runtime = substream->runtime; in snd_pcm_lib_ioctl_channel_info() local
1706 if (!(runtime->info & SNDRV_PCM_INFO_MMAP)) { in snd_pcm_lib_ioctl_channel_info()
1710 width = snd_pcm_format_physical_width(runtime->format); in snd_pcm_lib_ioctl_channel_info()
1714 switch (runtime->access) { in snd_pcm_lib_ioctl_channel_info()
1718 info->step = runtime->channels * width; in snd_pcm_lib_ioctl_channel_info()
1723 size_t size = runtime->dma_bytes / runtime->channels; in snd_pcm_lib_ioctl_channel_info()
1743 params->fifo_size = substream->runtime->hw.fifo_size; in snd_pcm_lib_ioctl_fifo_size()
1744 if (!(substream->runtime->hw.info & SNDRV_PCM_INFO_FIFO_IN_FRAMES)) { in snd_pcm_lib_ioctl_fifo_size()
1793 struct snd_pcm_runtime *runtime; in snd_pcm_period_elapsed() local
1802 runtime = substream->runtime; in snd_pcm_period_elapsed()
1813 kill_fasync(&runtime->fasync, SIGIO, POLL_IN); in snd_pcm_period_elapsed()
1828 struct snd_pcm_runtime *runtime = substream->runtime; in wait_for_avail() local
1837 add_wait_queue(&runtime->tsleep, &wait); in wait_for_avail()
1839 if (runtime->no_period_wakeup) in wait_for_avail()
1848 if (runtime->rate) { in wait_for_avail()
1849 long t = runtime->period_size * 2 / in wait_for_avail()
1850 runtime->rate; in wait_for_avail()
1871 if (avail >= runtime->twake) in wait_for_avail()
1879 switch (runtime->status->state) { in wait_for_avail()
1910 remove_wait_queue(&runtime->tsleep, &wait); in wait_for_avail()
1923 static void *get_dma_ptr(struct snd_pcm_runtime *runtime, in get_dma_ptr() argument
1926 return runtime->dma_area + hwoff + in get_dma_ptr()
1927 channel * (runtime->dma_bytes / runtime->channels); in get_dma_ptr()
1935 if (copy_from_user(get_dma_ptr(substream->runtime, channel, hwoff), in default_write_copy()
1946 memcpy(get_dma_ptr(substream->runtime, channel, hwoff), buf, bytes); in default_write_copy_kernel()
1957 struct snd_pcm_runtime *runtime = substream->runtime; in fill_silence() local
1965 snd_pcm_format_set_silence(runtime->format, in fill_silence()
1966 get_dma_ptr(runtime, channel, hwoff), in fill_silence()
1967 bytes_to_samples(runtime, bytes)); in fill_silence()
1977 get_dma_ptr(substream->runtime, channel, hwoff), in default_read_copy()
1988 memcpy(buf, get_dma_ptr(substream->runtime, channel, hwoff), bytes); in default_read_copy_kernel()
2001 struct snd_pcm_runtime *runtime = substream->runtime; in interleaved_copy() local
2004 hwoff = frames_to_bytes(runtime, hwoff); in interleaved_copy()
2005 off = frames_to_bytes(runtime, off); in interleaved_copy()
2006 frames = frames_to_bytes(runtime, frames); in interleaved_copy()
2019 struct snd_pcm_runtime *runtime = substream->runtime; in noninterleaved_copy() local
2020 int channels = runtime->channels; in noninterleaved_copy()
2028 off = samples_to_bytes(runtime, off); in noninterleaved_copy()
2029 frames = samples_to_bytes(runtime, frames); in noninterleaved_copy()
2030 hwoff = samples_to_bytes(runtime, hwoff); in noninterleaved_copy()
2049 if (substream->runtime->access == SNDRV_PCM_ACCESS_RW_INTERLEAVED || in fill_silence_frames()
2050 substream->runtime->access == SNDRV_PCM_ACCESS_MMAP_INTERLEAVED) in fill_silence_frames()
2061 struct snd_pcm_runtime *runtime; in pcm_sanity_check() local
2064 runtime = substream->runtime; in pcm_sanity_check()
2065 if (snd_BUG_ON(!substream->ops->copy_user && !runtime->dma_area)) in pcm_sanity_check()
2067 if (runtime->status->state == SNDRV_PCM_STATE_OPEN) in pcm_sanity_check()
2072 static int pcm_accessible_state(struct snd_pcm_runtime *runtime) in pcm_accessible_state() argument
2074 switch (runtime->status->state) { in pcm_accessible_state()
2094 struct snd_pcm_runtime *runtime = substream->runtime; in pcm_lib_apply_appl_ptr() local
2095 snd_pcm_uframes_t old_appl_ptr = runtime->control->appl_ptr; in pcm_lib_apply_appl_ptr()
2101 runtime->control->appl_ptr = appl_ptr; in pcm_lib_apply_appl_ptr()
2105 runtime->control->appl_ptr = old_appl_ptr; in pcm_lib_apply_appl_ptr()
2120 struct snd_pcm_runtime *runtime = substream->runtime; in __snd_pcm_lib_xfer() local
2136 if (runtime->access != SNDRV_PCM_ACCESS_RW_INTERLEAVED && in __snd_pcm_lib_xfer()
2137 runtime->channels > 1) in __snd_pcm_lib_xfer()
2141 if (runtime->access != SNDRV_PCM_ACCESS_RW_NONINTERLEAVED) in __snd_pcm_lib_xfer()
2171 err = pcm_accessible_state(runtime); in __snd_pcm_lib_xfer()
2175 runtime->twake = runtime->control->avail_min ? : 1; in __snd_pcm_lib_xfer()
2176 if (runtime->status->state == SNDRV_PCM_STATE_RUNNING) in __snd_pcm_lib_xfer()
2184 runtime->status->state == SNDRV_PCM_STATE_PREPARED && in __snd_pcm_lib_xfer()
2185 size >= runtime->start_threshold) { in __snd_pcm_lib_xfer()
2198 runtime->status->state == SNDRV_PCM_STATE_DRAINING) { in __snd_pcm_lib_xfer()
2206 runtime->twake = min_t(snd_pcm_uframes_t, size, in __snd_pcm_lib_xfer()
2207 runtime->control->avail_min ? : 1); in __snd_pcm_lib_xfer()
2215 appl_ptr = READ_ONCE(runtime->control->appl_ptr); in __snd_pcm_lib_xfer()
2216 appl_ofs = appl_ptr % runtime->buffer_size; in __snd_pcm_lib_xfer()
2217 cont = runtime->buffer_size - appl_ofs; in __snd_pcm_lib_xfer()
2230 err = pcm_accessible_state(runtime); in __snd_pcm_lib_xfer()
2234 if (appl_ptr >= runtime->boundary) in __snd_pcm_lib_xfer()
2235 appl_ptr -= runtime->boundary; in __snd_pcm_lib_xfer()
2245 runtime->status->state == SNDRV_PCM_STATE_PREPARED && in __snd_pcm_lib_xfer()
2246 snd_pcm_playback_hw_avail(runtime) >= (snd_pcm_sframes_t)runtime->start_threshold) { in __snd_pcm_lib_xfer()
2253 runtime->twake = 0; in __snd_pcm_lib_xfer()
2255 snd_pcm_update_state(substream, runtime); in __snd_pcm_lib_xfer()
2346 if (!substream->runtime) in pcm_chmap_ctl_get()
2350 if (map->channels == substream->runtime->channels && in pcm_chmap_ctl_get()