Lines Matching defs:runtime

33 					   struct snd_pcm_runtime *runtime)
41 queued = bytes_to_frames(runtime, subs->inflight_bytes);
58 est_delay = frame_diff * runtime->rate / 1000;
74 struct snd_pcm_runtime *runtime = substream->runtime;
75 struct snd_usb_substream *subs = runtime->private_data;
82 runtime->delay = snd_usb_pcm_delay(subs, runtime);
84 return bytes_to_frames(runtime, hwptr_done);
305 struct snd_usb_substream *subs = substream->runtime->private_data;
477 struct snd_usb_substream *subs = substream->runtime->private_data;
590 struct snd_usb_substream *subs = substream->runtime->private_data;
608 static int in_free_wheeling_mode(struct snd_pcm_runtime *runtime)
610 return runtime->stop_threshold > runtime->buffer_size;
614 static int lowlatency_playback_available(struct snd_pcm_runtime *runtime,
624 if (in_free_wheeling_mode(runtime))
639 struct snd_pcm_runtime *runtime = substream->runtime;
640 struct snd_usb_substream *subs = runtime->private_data;
672 subs->buffer_bytes = frames_to_bytes(runtime, runtime->buffer_size);
678 runtime->delay = 0;
680 subs->lowlatency_playback = lowlatency_playback_available(runtime, subs);
1079 * set up the runtime hardware information.
1082 static int setup_hw_info(struct snd_pcm_runtime *runtime, struct snd_usb_substream *subs)
1089 runtime->hw.formats = subs->formats;
1091 runtime->hw.rate_min = 0x7fffffff;
1092 runtime->hw.rate_max = 0;
1093 runtime->hw.channels_min = 256;
1094 runtime->hw.channels_max = 0;
1095 runtime->hw.rates = 0;
1099 runtime->hw.rates |= fp->rates;
1100 if (runtime->hw.rate_min > fp->rate_min)
1101 runtime->hw.rate_min = fp->rate_min;
1102 if (runtime->hw.rate_max < fp->rate_max)
1103 runtime->hw.rate_max = fp->rate_max;
1104 if (runtime->hw.channels_min > fp->channels)
1105 runtime->hw.channels_min = fp->channels;
1106 if (runtime->hw.channels_max < fp->channels)
1107 runtime->hw.channels_max = fp->channels;
1110 runtime->hw.period_bytes_min = runtime->hw.period_bytes_max =
1125 err = snd_pcm_hw_constraint_minmax(runtime,
1131 err = snd_pcm_hw_rule_add(runtime, 0, SNDRV_PCM_HW_PARAM_RATE,
1141 err = snd_pcm_hw_rule_add(runtime, 0, SNDRV_PCM_HW_PARAM_CHANNELS,
1150 err = snd_pcm_hw_rule_add(runtime, 0, SNDRV_PCM_HW_PARAM_FORMAT,
1160 err = snd_pcm_hw_rule_add(runtime, 0,
1172 err = snd_pcm_hw_constraint_minmax(runtime,
1177 err = snd_pcm_hw_constraint_minmax(runtime,
1184 err = snd_pcm_hw_rule_add(runtime, 0, SNDRV_PCM_HW_PARAM_PERIOD_SIZE,
1189 err = snd_pcm_hw_rule_add(runtime, 0, SNDRV_PCM_HW_PARAM_PERIODS,
1197 runtime->hw.info |= SNDRV_PCM_INFO_JOINT_DUPLEX;
1209 struct snd_pcm_runtime *runtime = substream->runtime;
1213 runtime->hw = snd_usb_hardware;
1217 runtime->hw.info |= SNDRV_PCM_INFO_SYNC_APPLPTR;
1218 runtime->private_data = subs;
1220 /* runtime PM is also done there */
1227 ret = setup_hw_info(runtime, subs);
1269 struct snd_pcm_runtime *runtime = subs->pcm_substream->runtime;
1279 stride = runtime->frame_bits >> 3;
1298 if (bytes % (runtime->sample_bits >> 3) != 0) {
1313 if (subs->transfer_done >= runtime->period_size) {
1314 subs->transfer_done -= runtime->period_size;
1326 memcpy(runtime->dma_area + oldptr, cp, bytes1);
1327 memcpy(runtime->dma_area, cp + bytes1, bytes - bytes1);
1329 memcpy(runtime->dma_area + oldptr, cp, bytes);
1352 struct snd_pcm_runtime *runtime = subs->pcm_substream->runtime;
1357 u8 *src = runtime->dma_area;
1384 if (++subs->dsd_dop.channel % runtime->channels == 0) {
1409 struct snd_pcm_runtime *runtime = subs->pcm_substream->runtime;
1410 const u8 *src = runtime->dma_area;
1426 struct snd_pcm_runtime *runtime = subs->pcm_substream->runtime;
1433 runtime->dma_area + subs->hwptr_done, bytes1);
1435 runtime->dma_area, bytes - bytes1);
1438 runtime->dma_area + subs->hwptr_done, bytes);
1474 struct snd_pcm_runtime *runtime = subs->pcm_substream->runtime;
1495 runtime->state != SNDRV_PCM_STATE_DRAINING) {
1499 avail = (runtime->control->appl_ptr - runtime->hw_ptr_base)
1500 % runtime->buffer_size;
1502 avail += runtime->buffer_size;
1517 if (transfer_done >= runtime->period_size) {
1518 transfer_done -= runtime->period_size;
1577 snd_pcm_gettime(runtime, &runtime->trigger_tstamp);
1634 struct snd_usb_substream *subs = substream->runtime->private_data;
1653 struct snd_usb_substream *subs = substream->runtime->private_data;
1667 if (in_free_wheeling_mode(substream->runtime))
1683 stop_endpoints(subs, substream->runtime->state == SNDRV_PCM_STATE_DRAINING);
1711 struct snd_usb_substream *subs = substream->runtime->private_data;