Lines Matching refs:runtime

82 	subs = (struct snd_usb_substream *)substream->runtime->private_data;  in snd_usb_pcm_pointer()
87 substream->runtime->delay = snd_usb_pcm_delay(subs, in snd_usb_pcm_pointer()
88 substream->runtime->rate); in snd_usb_pcm_pointer()
90 return hwptr_done / (substream->runtime->frame_bits >> 3); in snd_usb_pcm_pointer()
688 struct snd_usb_substream *subs = substream->runtime->private_data; in snd_usb_hw_params()
734 struct snd_usb_substream *subs = substream->runtime->private_data; in snd_usb_hw_free()
755 struct snd_pcm_runtime *runtime = substream->runtime; in snd_usb_pcm_prepare() local
756 struct snd_usb_substream *subs = runtime->private_data; in snd_usb_pcm_prepare()
800 bytes_to_frames(runtime, subs->data_endpoint->maxpacksize); in snd_usb_pcm_prepare()
802 bytes_to_frames(runtime, subs->data_endpoint->curpacksize); in snd_usb_pcm_prepare()
809 runtime->delay = 0; in snd_usb_pcm_prepare()
1056 static int snd_usb_pcm_check_knot(struct snd_pcm_runtime *runtime, in snd_usb_pcm_check_knot() argument
1089 err = snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_RATE, in snd_usb_pcm_check_knot()
1102 static int setup_hw_info(struct snd_pcm_runtime *runtime, struct snd_usb_substream *subs) in setup_hw_info() argument
1109 runtime->hw.formats = subs->formats; in setup_hw_info()
1111 runtime->hw.rate_min = 0x7fffffff; in setup_hw_info()
1112 runtime->hw.rate_max = 0; in setup_hw_info()
1113 runtime->hw.channels_min = 256; in setup_hw_info()
1114 runtime->hw.channels_max = 0; in setup_hw_info()
1115 runtime->hw.rates = 0; in setup_hw_info()
1119 runtime->hw.rates |= fp->rates; in setup_hw_info()
1120 if (runtime->hw.rate_min > fp->rate_min) in setup_hw_info()
1121 runtime->hw.rate_min = fp->rate_min; in setup_hw_info()
1122 if (runtime->hw.rate_max < fp->rate_max) in setup_hw_info()
1123 runtime->hw.rate_max = fp->rate_max; in setup_hw_info()
1124 if (runtime->hw.channels_min > fp->channels) in setup_hw_info()
1125 runtime->hw.channels_min = fp->channels; in setup_hw_info()
1126 if (runtime->hw.channels_max < fp->channels) in setup_hw_info()
1127 runtime->hw.channels_max = fp->channels; in setup_hw_info()
1130 runtime->hw.period_bytes_min = runtime->hw.period_bytes_max = in setup_hw_info()
1147 snd_pcm_hw_constraint_minmax(runtime, SNDRV_PCM_HW_PARAM_PERIOD_TIME, in setup_hw_info()
1150 if ((err = snd_pcm_hw_rule_add(runtime, 0, SNDRV_PCM_HW_PARAM_RATE, in setup_hw_info()
1157 if ((err = snd_pcm_hw_rule_add(runtime, 0, SNDRV_PCM_HW_PARAM_CHANNELS, in setup_hw_info()
1164 if ((err = snd_pcm_hw_rule_add(runtime, 0, SNDRV_PCM_HW_PARAM_FORMAT, in setup_hw_info()
1172 err = snd_pcm_hw_rule_add(runtime, 0, in setup_hw_info()
1182 if ((err = snd_usb_pcm_check_knot(runtime, subs)) < 0) in setup_hw_info()
1194 struct snd_pcm_runtime *runtime = substream->runtime; in snd_usb_pcm_open() local
1199 runtime->hw = snd_usb_hardware; in snd_usb_pcm_open()
1200 runtime->private_data = subs; in snd_usb_pcm_open()
1209 return setup_hw_info(runtime, subs); in snd_usb_pcm_open()
1240 struct snd_pcm_runtime *runtime = subs->pcm_substream->runtime; in retire_capture_urb() local
1250 stride = runtime->frame_bits >> 3; in retire_capture_urb()
1263 if (bytes % (runtime->sample_bits >> 3) != 0) { in retire_capture_urb()
1274 if (subs->hwptr_done >= runtime->buffer_size * stride) in retire_capture_urb()
1275 subs->hwptr_done -= runtime->buffer_size * stride; in retire_capture_urb()
1278 if (subs->transfer_done >= runtime->period_size) { in retire_capture_urb()
1279 subs->transfer_done -= runtime->period_size; in retire_capture_urb()
1285 runtime->delay = subs->last_delay = 0; in retire_capture_urb()
1293 if (oldptr + bytes > runtime->buffer_size * stride) { in retire_capture_urb()
1295 runtime->buffer_size * stride - oldptr; in retire_capture_urb()
1296 memcpy(runtime->dma_area + oldptr, cp, bytes1); in retire_capture_urb()
1297 memcpy(runtime->dma_area, cp + bytes1, bytes - bytes1); in retire_capture_urb()
1299 memcpy(runtime->dma_area + oldptr, cp, bytes); in retire_capture_urb()
1310 struct snd_pcm_runtime *runtime = subs->pcm_substream->runtime; in fill_playback_urb_dsd_dop() local
1311 unsigned int stride = runtime->frame_bits >> 3; in fill_playback_urb_dsd_dop()
1314 unsigned int wrap = runtime->buffer_size * stride; in fill_playback_urb_dsd_dop()
1316 u8 *src = runtime->dma_area; in fill_playback_urb_dsd_dop()
1342 if (++subs->dsd_dop.channel % runtime->channels == 0) { in fill_playback_urb_dsd_dop()
1365 struct snd_pcm_runtime *runtime = subs->pcm_substream->runtime; in prepare_playback_urb() local
1372 stride = runtime->frame_bits >> 3; in prepare_playback_urb()
1390 if (subs->transfer_done >= runtime->period_size) { in prepare_playback_urb()
1391 subs->transfer_done -= runtime->period_size; in prepare_playback_urb()
1432 % (runtime->buffer_size * stride); in prepare_playback_urb()
1433 buf[i] = bitrev8(runtime->dma_area[idx]); in prepare_playback_urb()
1439 if (subs->hwptr_done + bytes > runtime->buffer_size * stride) { in prepare_playback_urb()
1442 runtime->buffer_size * stride - subs->hwptr_done; in prepare_playback_urb()
1444 runtime->dma_area + subs->hwptr_done, bytes1); in prepare_playback_urb()
1446 runtime->dma_area, bytes - bytes1); in prepare_playback_urb()
1449 runtime->dma_area + subs->hwptr_done, bytes); in prepare_playback_urb()
1455 if (subs->hwptr_done >= runtime->buffer_size * stride) in prepare_playback_urb()
1456 subs->hwptr_done -= runtime->buffer_size * stride; in prepare_playback_urb()
1459 runtime->delay = subs->last_delay; in prepare_playback_urb()
1460 runtime->delay += frames; in prepare_playback_urb()
1461 subs->last_delay = runtime->delay; in prepare_playback_urb()
1471 snd_pcm_gettime(runtime, &runtime->trigger_tstamp); in prepare_playback_urb()
1489 struct snd_pcm_runtime *runtime = subs->pcm_substream->runtime; in retire_playback_urb() local
1504 est_delay = snd_usb_pcm_delay(subs, runtime->rate); in retire_playback_urb()
1510 runtime->delay = subs->last_delay; in retire_playback_urb()
1517 if (abs(est_delay - subs->last_delay) * 1000 > runtime->rate * 2) in retire_playback_urb()
1557 struct snd_usb_substream *subs = substream->runtime->private_data; in snd_usb_substream_playback_trigger()
1586 struct snd_usb_substream *subs = substream->runtime->private_data; in snd_usb_substream_capture_trigger()