Lines Matching refs: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;
186 struct line6_pcm_stream *pstr = get_stream(line6pcm, direction);
189 spin_lock_irqsave(&pstr->lock, flags);
190 if (!test_and_set_bit(type, &pstr->running) &&
191 !(pstr->active_urbs || pstr->unlink_urbs)) {
192 pstr->count = 0;
201 clear_bit(type, &pstr->running);
202 spin_unlock_irqrestore(&pstr->lock, flags);
211 struct line6_pcm_stream *pstr = get_stream(line6pcm, direction);
213 spin_lock_irqsave(&pstr->lock, flags);
214 clear_bit(type, &pstr->running);
215 if (!pstr->running) {
216 spin_unlock_irqrestore(&pstr->lock, flags);
217 line6_unlink_audio_urbs(line6pcm, pstr);
218 spin_lock_irqsave(&pstr->lock, flags);
224 spin_unlock_irqrestore(&pstr->lock, flags);
293 struct line6_pcm_stream *pstr = get_stream(line6pcm, substream->stream);
295 return pstr->pos_done;
303 struct line6_pcm_stream *pstr;
309 pstr = get_stream(line6pcm, dir);
310 ret = line6_buffer_acquire(line6pcm, pstr, dir, type);
313 if (!pstr->running)
314 line6_wait_clear_audio_urbs(line6pcm, pstr);
334 struct line6_pcm_stream *pstr;
341 pstr = get_stream(line6pcm, dir);
342 line6_buffer_release(line6pcm, pstr, type);
354 struct line6_pcm_stream *pstr = get_stream(line6pcm, substream->stream);
357 ret = line6_buffer_acquire(line6pcm, pstr, substream->stream,
362 pstr->period = params_period_bytes(hw_params);
372 struct line6_pcm_stream *pstr = get_stream(line6pcm, substream->stream);
375 line6_buffer_release(line6pcm, pstr, LINE6_STREAM_PCM);
589 struct line6_pcm_stream *pstr = get_stream(line6pcm, substream->stream);
592 if (!pstr->running)
593 line6_wait_clear_audio_urbs(line6pcm, pstr);