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()
716 struct snd_usb_substream *subs = substream->runtime->private_data; in snd_usb_hw_params()
762 struct snd_usb_substream *subs = substream->runtime->private_data; in snd_usb_hw_free()
783 struct snd_pcm_runtime *runtime = substream->runtime; in snd_usb_pcm_prepare() local
784 struct snd_usb_substream *subs = runtime->private_data; in snd_usb_pcm_prepare()
828 bytes_to_frames(runtime, subs->data_endpoint->maxpacksize); in snd_usb_pcm_prepare()
830 bytes_to_frames(runtime, subs->data_endpoint->curpacksize); in snd_usb_pcm_prepare()
837 runtime->delay = 0; in snd_usb_pcm_prepare()
1084 static int snd_usb_pcm_check_knot(struct snd_pcm_runtime *runtime, in snd_usb_pcm_check_knot() argument
1117 err = snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_RATE, in snd_usb_pcm_check_knot()
1130 static int setup_hw_info(struct snd_pcm_runtime *runtime, struct snd_usb_substream *subs) in setup_hw_info() argument
1137 runtime->hw.formats = subs->formats; in setup_hw_info()
1139 runtime->hw.rate_min = 0x7fffffff; in setup_hw_info()
1140 runtime->hw.rate_max = 0; in setup_hw_info()
1141 runtime->hw.channels_min = 256; in setup_hw_info()
1142 runtime->hw.channels_max = 0; in setup_hw_info()
1143 runtime->hw.rates = 0; in setup_hw_info()
1147 runtime->hw.rates |= fp->rates; in setup_hw_info()
1148 if (runtime->hw.rate_min > fp->rate_min) in setup_hw_info()
1149 runtime->hw.rate_min = fp->rate_min; in setup_hw_info()
1150 if (runtime->hw.rate_max < fp->rate_max) in setup_hw_info()
1151 runtime->hw.rate_max = fp->rate_max; in setup_hw_info()
1152 if (runtime->hw.channels_min > fp->channels) in setup_hw_info()
1153 runtime->hw.channels_min = fp->channels; in setup_hw_info()
1154 if (runtime->hw.channels_max < fp->channels) in setup_hw_info()
1155 runtime->hw.channels_max = fp->channels; in setup_hw_info()
1158 runtime->hw.period_bytes_min = runtime->hw.period_bytes_max = in setup_hw_info()
1175 snd_pcm_hw_constraint_minmax(runtime, SNDRV_PCM_HW_PARAM_PERIOD_TIME, in setup_hw_info()
1178 if ((err = snd_pcm_hw_rule_add(runtime, 0, SNDRV_PCM_HW_PARAM_RATE, in setup_hw_info()
1185 if ((err = snd_pcm_hw_rule_add(runtime, 0, SNDRV_PCM_HW_PARAM_CHANNELS, in setup_hw_info()
1192 if ((err = snd_pcm_hw_rule_add(runtime, 0, SNDRV_PCM_HW_PARAM_FORMAT, in setup_hw_info()
1200 err = snd_pcm_hw_rule_add(runtime, 0, in setup_hw_info()
1210 if ((err = snd_usb_pcm_check_knot(runtime, subs)) < 0) in setup_hw_info()
1222 struct snd_pcm_runtime *runtime = substream->runtime; in snd_usb_pcm_open() local
1227 runtime->hw = snd_usb_hardware; in snd_usb_pcm_open()
1228 runtime->private_data = subs; in snd_usb_pcm_open()
1237 return setup_hw_info(runtime, subs); in snd_usb_pcm_open()
1268 struct snd_pcm_runtime *runtime = subs->pcm_substream->runtime; in retire_capture_urb() local
1278 stride = runtime->frame_bits >> 3; in retire_capture_urb()
1291 if (bytes % (runtime->sample_bits >> 3) != 0) { in retire_capture_urb()
1302 if (subs->hwptr_done >= runtime->buffer_size * stride) in retire_capture_urb()
1303 subs->hwptr_done -= runtime->buffer_size * stride; in retire_capture_urb()
1306 if (subs->transfer_done >= runtime->period_size) { in retire_capture_urb()
1307 subs->transfer_done -= runtime->period_size; in retire_capture_urb()
1313 runtime->delay = subs->last_delay = 0; in retire_capture_urb()
1321 if (oldptr + bytes > runtime->buffer_size * stride) { in retire_capture_urb()
1323 runtime->buffer_size * stride - oldptr; in retire_capture_urb()
1324 memcpy(runtime->dma_area + oldptr, cp, bytes1); in retire_capture_urb()
1325 memcpy(runtime->dma_area, cp + bytes1, bytes - bytes1); in retire_capture_urb()
1327 memcpy(runtime->dma_area + oldptr, cp, bytes); in retire_capture_urb()
1338 struct snd_pcm_runtime *runtime = subs->pcm_substream->runtime; in fill_playback_urb_dsd_dop() local
1339 unsigned int stride = runtime->frame_bits >> 3; in fill_playback_urb_dsd_dop()
1342 unsigned int wrap = runtime->buffer_size * stride; in fill_playback_urb_dsd_dop()
1344 u8 *src = runtime->dma_area; in fill_playback_urb_dsd_dop()
1370 if (++subs->dsd_dop.channel % runtime->channels == 0) { in fill_playback_urb_dsd_dop()
1388 if (subs->hwptr_done >= runtime->buffer_size * stride) in fill_playback_urb_dsd_dop()
1389 subs->hwptr_done -= runtime->buffer_size * stride; in fill_playback_urb_dsd_dop()
1395 struct snd_pcm_runtime *runtime = subs->pcm_substream->runtime; in copy_to_urb() local
1397 if (subs->hwptr_done + bytes > runtime->buffer_size * stride) { in copy_to_urb()
1400 runtime->buffer_size * stride - subs->hwptr_done; in copy_to_urb()
1402 runtime->dma_area + subs->hwptr_done, bytes1); in copy_to_urb()
1404 runtime->dma_area, bytes - bytes1); in copy_to_urb()
1407 runtime->dma_area + subs->hwptr_done, bytes); in copy_to_urb()
1410 if (subs->hwptr_done >= runtime->buffer_size * stride) in copy_to_urb()
1411 subs->hwptr_done -= runtime->buffer_size * stride; in copy_to_urb()
1443 struct snd_pcm_runtime *runtime = subs->pcm_substream->runtime; in prepare_playback_urb() local
1450 stride = runtime->frame_bits >> 3; in prepare_playback_urb()
1468 if (subs->transfer_done >= runtime->period_size) { in prepare_playback_urb()
1469 subs->transfer_done -= runtime->period_size; in prepare_playback_urb()
1510 % (runtime->buffer_size * stride); in prepare_playback_urb()
1511 buf[i] = bitrev8(runtime->dma_area[idx]); in prepare_playback_urb()
1515 if (subs->hwptr_done >= runtime->buffer_size * stride) in prepare_playback_urb()
1516 subs->hwptr_done -= runtime->buffer_size * stride; in prepare_playback_urb()
1527 runtime->delay = subs->last_delay; in prepare_playback_urb()
1528 runtime->delay += frames; in prepare_playback_urb()
1529 subs->last_delay = runtime->delay; in prepare_playback_urb()
1539 snd_pcm_gettime(runtime, &runtime->trigger_tstamp); in prepare_playback_urb()
1557 struct snd_pcm_runtime *runtime = subs->pcm_substream->runtime; in retire_playback_urb() local
1572 est_delay = snd_usb_pcm_delay(subs, runtime->rate); in retire_playback_urb()
1578 runtime->delay = subs->last_delay; in retire_playback_urb()
1585 if (abs(est_delay - subs->last_delay) * 1000 > runtime->rate * 2) in retire_playback_urb()
1625 struct snd_usb_substream *subs = substream->runtime->private_data; in snd_usb_substream_playback_trigger()
1654 struct snd_usb_substream *subs = substream->runtime->private_data; in snd_usb_substream_capture_trigger()