Lines Matching refs:pstr
153 struct line6_pcm_stream *pstr, int type) in line6_buffer_acquire() argument
156 if (!test_and_set_bit(type, &pstr->opened) && !pstr->buffer) { in line6_buffer_acquire()
157 pstr->buffer = kmalloc(LINE6_ISO_BUFFERS * LINE6_ISO_PACKETS * in line6_buffer_acquire()
159 if (!pstr->buffer) in line6_buffer_acquire()
169 struct line6_pcm_stream *pstr, int type) in line6_buffer_release() argument
172 clear_bit(type, &pstr->opened); in line6_buffer_release()
173 if (!pstr->opened) { in line6_buffer_release()
174 line6_wait_clear_audio_urbs(line6pcm, pstr); in line6_buffer_release()
175 kfree(pstr->buffer); in line6_buffer_release()
176 pstr->buffer = NULL; in line6_buffer_release()
185 struct line6_pcm_stream *pstr = get_stream(line6pcm, direction); in line6_stream_start() local
188 spin_lock_irqsave(&pstr->lock, flags); in line6_stream_start()
189 if (!test_and_set_bit(type, &pstr->running) && in line6_stream_start()
190 !(pstr->active_urbs || pstr->unlink_urbs)) { in line6_stream_start()
191 pstr->count = 0; in line6_stream_start()
199 clear_bit(type, &pstr->running); in line6_stream_start()
200 spin_unlock_irqrestore(&pstr->lock, flags); in line6_stream_start()
209 struct line6_pcm_stream *pstr = get_stream(line6pcm, direction); in line6_stream_stop() local
211 spin_lock_irqsave(&pstr->lock, flags); in line6_stream_stop()
212 clear_bit(type, &pstr->running); in line6_stream_stop()
213 if (!pstr->running) { in line6_stream_stop()
214 line6_unlink_audio_urbs(line6pcm, pstr); in line6_stream_stop()
220 spin_unlock_irqrestore(&pstr->lock, flags); in line6_stream_stop()
275 struct line6_pcm_stream *pstr = get_stream(line6pcm, substream->stream); in snd_line6_pointer() local
277 return pstr->pos_done; in snd_line6_pointer()
285 struct line6_pcm_stream *pstr; in line6_pcm_acquire() local
290 pstr = get_stream(line6pcm, dir); in line6_pcm_acquire()
291 ret = line6_buffer_acquire(line6pcm, pstr, type); in line6_pcm_acquire()
294 if (!pstr->running) in line6_pcm_acquire()
295 line6_wait_clear_audio_urbs(line6pcm, pstr); in line6_pcm_acquire()
313 struct line6_pcm_stream *pstr; in line6_pcm_release() local
320 pstr = get_stream(line6pcm, dir); in line6_pcm_release()
321 line6_buffer_release(line6pcm, pstr, type); in line6_pcm_release()
333 struct line6_pcm_stream *pstr = get_stream(line6pcm, substream->stream); in snd_line6_hw_params() local
336 ret = line6_buffer_acquire(line6pcm, pstr, LINE6_STREAM_PCM); in snd_line6_hw_params()
343 line6_buffer_release(line6pcm, pstr, LINE6_STREAM_PCM); in snd_line6_hw_params()
347 pstr->period = params_period_bytes(hw_params); in snd_line6_hw_params()
357 struct line6_pcm_stream *pstr = get_stream(line6pcm, substream->stream); in snd_line6_hw_free() local
360 line6_buffer_release(line6pcm, pstr, LINE6_STREAM_PCM); in snd_line6_hw_free()
565 struct line6_pcm_stream *pstr = get_stream(line6pcm, substream->stream); in snd_line6_prepare() local
568 if (!pstr->running) in snd_line6_prepare()
569 line6_wait_clear_audio_urbs(line6pcm, pstr); in snd_line6_prepare()