Lines Matching defs:pstr

148 				struct line6_pcm_stream *pstr, int direction, int type)
156 if (!test_and_set_bit(type, &pstr->opened) && !pstr->buffer) {
157 pstr->buffer =
161 if (!pstr->buffer)
171 struct line6_pcm_stream *pstr, int type)
173 clear_bit(type, &pstr->opened);
174 if (!pstr->opened) {
175 line6_wait_clear_audio_urbs(line6pcm, pstr);
176 kfree(pstr->buffer);
177 pstr->buffer = NULL;
185 struct line6_pcm_stream *pstr = get_stream(line6pcm, direction);
188 guard(spinlock_irqsave)(&pstr->lock);
189 if (!test_and_set_bit(type, &pstr->running) &&
190 !(pstr->active_urbs || pstr->unlink_urbs)) {
191 pstr->count = 0;
200 clear_bit(type, &pstr->running);
208 struct line6_pcm_stream *pstr = get_stream(line6pcm, direction);
210 scoped_guard(spinlock_irqsave, &pstr->lock) {
211 clear_bit(type, &pstr->running);
212 if (pstr->running)
216 line6_unlink_audio_urbs(line6pcm, pstr);
218 guard(spinlock_irqsave)(&pstr->lock);
290 struct line6_pcm_stream *pstr = get_stream(line6pcm, substream->stream);
292 return pstr->pos_done;
298 struct line6_pcm_stream *pstr;
304 pstr = get_stream(line6pcm, dir);
305 line6_buffer_release(line6pcm, pstr, type);
322 struct line6_pcm_stream *pstr;
328 pstr = get_stream(line6pcm, dir);
329 ret = line6_buffer_acquire(line6pcm, pstr, dir, type);
332 if (!pstr->running)
333 line6_wait_clear_audio_urbs(line6pcm, pstr);
355 struct line6_pcm_stream *pstr = get_stream(line6pcm, substream->stream);
358 ret = line6_buffer_acquire(line6pcm, pstr, substream->stream,
363 pstr->period = params_period_bytes(hw_params);
371 struct line6_pcm_stream *pstr = get_stream(line6pcm, substream->stream);
374 line6_buffer_release(line6pcm, pstr, LINE6_STREAM_PCM);
587 struct line6_pcm_stream *pstr = get_stream(line6pcm, substream->stream);
590 if (!pstr->running)
591 line6_wait_clear_audio_urbs(line6pcm, pstr);