Lines Matching full:runtime

81 	struct snd_compr_runtime *runtime;  in snd_compr_open()  local
122 runtime = kzalloc(sizeof(*runtime), GFP_KERNEL); in snd_compr_open()
123 if (!runtime) { in snd_compr_open()
128 runtime->state = SNDRV_PCM_STATE_OPEN; in snd_compr_open()
129 init_waitqueue_head(&runtime->sleep); in snd_compr_open()
130 data->stream.runtime = runtime; in snd_compr_open()
136 kfree(runtime); in snd_compr_open()
146 struct snd_compr_runtime *runtime = data->stream.runtime; in snd_compr_free() local
150 switch (runtime->state) { in snd_compr_free()
161 if (!data->stream.runtime->dma_buffer_p) in snd_compr_free()
162 kfree(data->stream.runtime->buffer); in snd_compr_free()
163 kfree(data->stream.runtime); in snd_compr_free()
177 stream->runtime->total_bytes_transferred = tstamp->copied_total; in snd_compr_update_tstamp()
179 stream->runtime->total_bytes_available = tstamp->copied_total; in snd_compr_update_tstamp()
190 if (stream->runtime->total_bytes_available == 0 && in snd_compr_calc_avail()
191 stream->runtime->state == SNDRV_PCM_STATE_SETUP && in snd_compr_calc_avail()
194 return stream->runtime->buffer_size; in snd_compr_calc_avail()
197 stream->runtime->total_bytes_available, in snd_compr_calc_avail()
198 stream->runtime->total_bytes_transferred); in snd_compr_calc_avail()
199 if (stream->runtime->total_bytes_available == in snd_compr_calc_avail()
200 stream->runtime->total_bytes_transferred) { in snd_compr_calc_avail()
203 return stream->runtime->buffer_size; in snd_compr_calc_avail()
210 avail->avail = stream->runtime->total_bytes_available - in snd_compr_calc_avail()
211 stream->runtime->total_bytes_transferred; in snd_compr_calc_avail()
213 avail->avail = stream->runtime->buffer_size - avail->avail; in snd_compr_calc_avail()
235 switch (stream->runtime->state) { in snd_compr_ioctl_avail()
255 struct snd_compr_runtime *runtime = stream->runtime; in snd_compr_write_data() local
257 u64 app_pointer = div64_u64(runtime->total_bytes_available, in snd_compr_write_data()
258 runtime->buffer_size); in snd_compr_write_data()
259 app_pointer = runtime->total_bytes_available - in snd_compr_write_data()
260 (app_pointer * runtime->buffer_size); in snd_compr_write_data()
262 dstn = runtime->buffer + app_pointer; in snd_compr_write_data()
265 if (count < runtime->buffer_size - app_pointer) { in snd_compr_write_data()
269 copy = runtime->buffer_size - app_pointer; in snd_compr_write_data()
272 if (copy_from_user(runtime->buffer, buf + copy, count - copy)) in snd_compr_write_data()
295 switch (stream->runtime->state) { in snd_compr_write()
318 stream->runtime->total_bytes_available += retval; in snd_compr_write()
322 if (stream->runtime->state == SNDRV_PCM_STATE_SETUP) { in snd_compr_write()
323 stream->runtime->state = SNDRV_PCM_STATE_PREPARED; in snd_compr_write()
350 switch (stream->runtime->state) { in snd_compr_read()
375 stream->runtime->total_bytes_transferred += retval; in snd_compr_read()
409 switch (stream->runtime->state) { in snd_compr_poll()
418 poll_wait(f, &stream->runtime->sleep, wait); in snd_compr_poll()
423 switch (stream->runtime->state) { in snd_compr_poll()
429 stream->runtime->state = SNDRV_PCM_STATE_SETUP; in snd_compr_poll()
434 if (avail >= stream->runtime->fragment_size) in snd_compr_poll()
496 if (snd_BUG_ON(!(stream) || !(stream)->runtime)) in snd_compr_malloc_pages()
509 stream->runtime->dma_bytes = size; in snd_compr_malloc_pages()
516 struct snd_compr_runtime *runtime; in snd_compr_free_pages() local
518 if (snd_BUG_ON(!(stream) || !(stream)->runtime)) in snd_compr_free_pages()
520 runtime = stream->runtime; in snd_compr_free_pages()
521 if (runtime->dma_area == NULL) in snd_compr_free_pages()
523 if (runtime->dma_buffer_p != &stream->dma_buffer) { in snd_compr_free_pages()
525 snd_dma_free_pages(runtime->dma_buffer_p); in snd_compr_free_pages()
526 kfree(runtime->dma_buffer_p); in snd_compr_free_pages()
548 if (stream->runtime->dma_buffer_p) { in snd_compr_allocate_buffer()
550 if (buffer_size > stream->runtime->dma_buffer_p->bytes) in snd_compr_allocate_buffer()
554 buffer = stream->runtime->dma_buffer_p->area; in snd_compr_allocate_buffer()
563 stream->runtime->fragment_size = params->buffer.fragment_size; in snd_compr_allocate_buffer()
564 stream->runtime->fragments = params->buffer.fragments; in snd_compr_allocate_buffer()
565 stream->runtime->buffer = buffer; in snd_compr_allocate_buffer()
566 stream->runtime->buffer_size = buffer_size; in snd_compr_allocate_buffer()
594 if (stream->runtime->state == SNDRV_PCM_STATE_OPEN) { in snd_compr_set_params()
620 stream->runtime->state = SNDRV_PCM_STATE_SETUP; in snd_compr_set_params()
712 if (stream->runtime->state != SNDRV_PCM_STATE_RUNNING) in snd_compr_pause()
716 stream->runtime->state = SNDRV_PCM_STATE_PAUSED; in snd_compr_pause()
724 if (stream->runtime->state != SNDRV_PCM_STATE_PAUSED) in snd_compr_resume()
728 stream->runtime->state = SNDRV_PCM_STATE_RUNNING; in snd_compr_resume()
736 switch (stream->runtime->state) { in snd_compr_start()
749 stream->runtime->state = SNDRV_PCM_STATE_RUNNING; in snd_compr_start()
757 switch (stream->runtime->state) { in snd_compr_stop()
772 stream->runtime->total_bytes_available = 0; in snd_compr_stop()
773 stream->runtime->total_bytes_transferred = 0; in snd_compr_stop()
787 wake_up(&stream->runtime->sleep); in error_delayed_work()
804 if (stream->runtime->state == state) in snd_compr_stop_error()
807 stream->runtime->state = state; in snd_compr_stop_error()
829 stream->runtime->state = SNDRV_PCM_STATE_DRAINING; in snd_compress_wait_for_drain()
838 ret = wait_event_interruptible(stream->runtime->sleep, in snd_compress_wait_for_drain()
839 (stream->runtime->state != SNDRV_PCM_STATE_DRAINING)); in snd_compress_wait_for_drain()
846 wake_up(&stream->runtime->sleep); in snd_compress_wait_for_drain()
856 switch (stream->runtime->state) { in snd_compr_drain()
871 wake_up(&stream->runtime->sleep); in snd_compr_drain()
883 if (stream->runtime->state != SNDRV_PCM_STATE_RUNNING) in snd_compr_next_track()
908 switch (stream->runtime->state) { in snd_compr_partial_drain()
932 wake_up(&stream->runtime->sleep); in snd_compr_partial_drain()