• Home
  • Raw
  • Download

Lines Matching full:pstr

152 				struct line6_pcm_stream *pstr, int direction, int type)  in line6_buffer_acquire()  argument
160 if (!test_and_set_bit(type, &pstr->opened) && !pstr->buffer) { in line6_buffer_acquire()
161 pstr->buffer = in line6_buffer_acquire()
165 if (!pstr->buffer) in line6_buffer_acquire()
175 struct line6_pcm_stream *pstr, int type) in line6_buffer_release() argument
177 clear_bit(type, &pstr->opened); in line6_buffer_release()
178 if (!pstr->opened) { in line6_buffer_release()
179 line6_wait_clear_audio_urbs(line6pcm, pstr); in line6_buffer_release()
180 kfree(pstr->buffer); in line6_buffer_release()
181 pstr->buffer = NULL; in line6_buffer_release()
190 struct line6_pcm_stream *pstr = get_stream(line6pcm, direction); in line6_stream_start() local
193 spin_lock_irqsave(&pstr->lock, flags); in line6_stream_start()
194 if (!test_and_set_bit(type, &pstr->running) && in line6_stream_start()
195 !(pstr->active_urbs || pstr->unlink_urbs)) { in line6_stream_start()
196 pstr->count = 0; in line6_stream_start()
205 clear_bit(type, &pstr->running); in line6_stream_start()
206 spin_unlock_irqrestore(&pstr->lock, flags); in line6_stream_start()
215 struct line6_pcm_stream *pstr = get_stream(line6pcm, direction); in line6_stream_stop() local
217 spin_lock_irqsave(&pstr->lock, flags); in line6_stream_stop()
218 clear_bit(type, &pstr->running); in line6_stream_stop()
219 if (!pstr->running) { in line6_stream_stop()
220 spin_unlock_irqrestore(&pstr->lock, flags); in line6_stream_stop()
221 line6_unlink_audio_urbs(line6pcm, pstr); in line6_stream_stop()
222 spin_lock_irqsave(&pstr->lock, flags); in line6_stream_stop()
228 spin_unlock_irqrestore(&pstr->lock, flags); in line6_stream_stop()
297 struct line6_pcm_stream *pstr = get_stream(line6pcm, substream->stream); in snd_line6_pointer() local
299 return pstr->pos_done; in snd_line6_pointer()
307 struct line6_pcm_stream *pstr; in line6_pcm_acquire() local
313 pstr = get_stream(line6pcm, dir); in line6_pcm_acquire()
314 ret = line6_buffer_acquire(line6pcm, pstr, dir, type); in line6_pcm_acquire()
317 if (!pstr->running) in line6_pcm_acquire()
318 line6_wait_clear_audio_urbs(line6pcm, pstr); in line6_pcm_acquire()
338 struct line6_pcm_stream *pstr; in line6_pcm_release() local
345 pstr = get_stream(line6pcm, dir); in line6_pcm_release()
346 line6_buffer_release(line6pcm, pstr, type); in line6_pcm_release()
358 struct line6_pcm_stream *pstr = get_stream(line6pcm, substream->stream); in snd_line6_hw_params() local
361 ret = line6_buffer_acquire(line6pcm, pstr, substream->stream, in snd_line6_hw_params()
369 line6_buffer_release(line6pcm, pstr, LINE6_STREAM_PCM); in snd_line6_hw_params()
373 pstr->period = params_period_bytes(hw_params); in snd_line6_hw_params()
383 struct line6_pcm_stream *pstr = get_stream(line6pcm, substream->stream); in snd_line6_hw_free() local
386 line6_buffer_release(line6pcm, pstr, LINE6_STREAM_PCM); in snd_line6_hw_free()
602 struct line6_pcm_stream *pstr = get_stream(line6pcm, substream->stream); in snd_line6_prepare() local
605 if (!pstr->running) in snd_line6_prepare()
606 line6_wait_clear_audio_urbs(line6pcm, pstr); in snd_line6_prepare()