line6pcm 21 sound/usb/line6/capture.c static int submit_audio_in_urb(struct snd_line6_pcm *line6pcm) line6pcm 28 sound/usb/line6/capture.c index = find_first_zero_bit(&line6pcm->in.active_urbs, line6pcm 29 sound/usb/line6/capture.c line6pcm->line6->iso_buffers); line6pcm 31 sound/usb/line6/capture.c if (index < 0 || index >= line6pcm->line6->iso_buffers) { line6pcm 32 sound/usb/line6/capture.c dev_err(line6pcm->line6->ifcdev, "no free URB found\n"); line6pcm 36 sound/usb/line6/capture.c urb_in = line6pcm->in.urbs[index]; line6pcm 43 sound/usb/line6/capture.c fin->length = line6pcm->max_packet_size_in; line6pcm 44 sound/usb/line6/capture.c urb_size += line6pcm->max_packet_size_in; line6pcm 48 sound/usb/line6/capture.c line6pcm->in.buffer + line6pcm 49 sound/usb/line6/capture.c index * LINE6_ISO_PACKETS * line6pcm->max_packet_size_in; line6pcm 51 sound/usb/line6/capture.c urb_in->context = line6pcm; line6pcm 56 sound/usb/line6/capture.c set_bit(index, &line6pcm->in.active_urbs); line6pcm 58 sound/usb/line6/capture.c dev_err(line6pcm->line6->ifcdev, line6pcm 68 sound/usb/line6/capture.c int line6_submit_audio_in_all_urbs(struct snd_line6_pcm *line6pcm) line6pcm 72 sound/usb/line6/capture.c for (i = 0; i < line6pcm->line6->iso_buffers; ++i) { line6pcm 73 sound/usb/line6/capture.c ret = submit_audio_in_urb(line6pcm); line6pcm 84 sound/usb/line6/capture.c void line6_capture_copy(struct snd_line6_pcm *line6pcm, char *fbuf, int fsize) line6pcm 87 sound/usb/line6/capture.c get_substream(line6pcm, SNDRV_PCM_STREAM_CAPTURE); line6pcm 90 sound/usb/line6/capture.c line6pcm->properties->bytes_per_channel * line6pcm 91 sound/usb/line6/capture.c line6pcm->properties->capture_hw.channels_max; line6pcm 97 sound/usb/line6/capture.c if (line6pcm->in.pos_done + frames > runtime->buffer_size) { line6pcm 104 sound/usb/line6/capture.c len = runtime->buffer_size - line6pcm->in.pos_done; line6pcm 108 sound/usb/line6/capture.c line6pcm->in.pos_done * bytes_per_frame, fbuf, line6pcm 114 sound/usb/line6/capture.c dev_err(line6pcm->line6->ifcdev, line6pcm 120 sound/usb/line6/capture.c line6pcm->in.pos_done * bytes_per_frame, fbuf, fsize); line6pcm 123 sound/usb/line6/capture.c line6pcm->in.pos_done += frames; line6pcm 124 sound/usb/line6/capture.c if (line6pcm->in.pos_done >= runtime->buffer_size) line6pcm 125 sound/usb/line6/capture.c line6pcm->in.pos_done -= runtime->buffer_size; line6pcm 128 sound/usb/line6/capture.c void line6_capture_check_period(struct snd_line6_pcm *line6pcm, int length) line6pcm 131 sound/usb/line6/capture.c get_substream(line6pcm, SNDRV_PCM_STREAM_CAPTURE); line6pcm 133 sound/usb/line6/capture.c line6pcm->in.bytes += length; line6pcm 134 sound/usb/line6/capture.c if (line6pcm->in.bytes >= line6pcm->in.period) { line6pcm 135 sound/usb/line6/capture.c line6pcm->in.bytes %= line6pcm->in.period; line6pcm 136 sound/usb/line6/capture.c spin_unlock(&line6pcm->in.lock); line6pcm 138 sound/usb/line6/capture.c spin_lock(&line6pcm->in.lock); line6pcm 150 sound/usb/line6/capture.c struct snd_line6_pcm *line6pcm = (struct snd_line6_pcm *)urb->context; line6pcm 152 sound/usb/line6/capture.c line6pcm->in.last_frame = urb->start_frame; line6pcm 155 sound/usb/line6/capture.c for (index = 0; index < line6pcm->line6->iso_buffers; ++index) line6pcm 156 sound/usb/line6/capture.c if (urb == line6pcm->in.urbs[index]) line6pcm 159 sound/usb/line6/capture.c spin_lock_irqsave(&line6pcm->in.lock, flags); line6pcm 174 sound/usb/line6/capture.c if (fsize > line6pcm->max_packet_size_in) { line6pcm 175 sound/usb/line6/capture.c dev_err(line6pcm->line6->ifcdev, line6pcm 177 sound/usb/line6/capture.c fsize, line6pcm->max_packet_size_in); line6pcm 191 sound/usb/line6/capture.c line6pcm->prev_fbuf = fbuf; line6pcm 192 sound/usb/line6/capture.c line6pcm->prev_fsize = fsize / line6pcm 193 sound/usb/line6/capture.c (line6pcm->properties->bytes_per_channel * line6pcm 194 sound/usb/line6/capture.c line6pcm->properties->capture_hw.channels_max); line6pcm 196 sound/usb/line6/capture.c if (!test_bit(LINE6_STREAM_IMPULSE, &line6pcm->in.running) && line6pcm 197 sound/usb/line6/capture.c test_bit(LINE6_STREAM_PCM, &line6pcm->in.running) && line6pcm 199 sound/usb/line6/capture.c line6_capture_copy(line6pcm, fbuf, fsize); line6pcm 202 sound/usb/line6/capture.c clear_bit(index, &line6pcm->in.active_urbs); line6pcm 204 sound/usb/line6/capture.c if (test_and_clear_bit(index, &line6pcm->in.unlink_urbs)) line6pcm 208 sound/usb/line6/capture.c submit_audio_in_urb(line6pcm); line6pcm 210 sound/usb/line6/capture.c if (!test_bit(LINE6_STREAM_IMPULSE, &line6pcm->in.running) && line6pcm 211 sound/usb/line6/capture.c test_bit(LINE6_STREAM_PCM, &line6pcm->in.running)) line6pcm 212 sound/usb/line6/capture.c line6_capture_check_period(line6pcm, length); line6pcm 215 sound/usb/line6/capture.c spin_unlock_irqrestore(&line6pcm->in.lock, flags); line6pcm 223 sound/usb/line6/capture.c struct snd_line6_pcm *line6pcm = snd_pcm_substream_chip(substream); line6pcm 227 sound/usb/line6/capture.c &line6pcm->properties->rates); line6pcm 231 sound/usb/line6/capture.c line6_pcm_acquire(line6pcm, LINE6_STREAM_CAPTURE_HELPER, false); line6pcm 233 sound/usb/line6/capture.c runtime->hw = line6pcm->properties->capture_hw; line6pcm 240 sound/usb/line6/capture.c struct snd_line6_pcm *line6pcm = snd_pcm_substream_chip(substream); line6pcm 242 sound/usb/line6/capture.c line6_pcm_release(line6pcm, LINE6_STREAM_CAPTURE_HELPER); line6pcm 258 sound/usb/line6/capture.c int line6_create_audio_in_urbs(struct snd_line6_pcm *line6pcm) line6pcm 260 sound/usb/line6/capture.c struct usb_line6 *line6 = line6pcm->line6; line6pcm 263 sound/usb/line6/capture.c line6pcm->in.urbs = kcalloc(line6->iso_buffers, sizeof(struct urb *), line6pcm 265 sound/usb/line6/capture.c if (line6pcm->in.urbs == NULL) line6pcm 273 sound/usb/line6/capture.c urb = line6pcm->in.urbs[i] = line6pcm 18 sound/usb/line6/capture.h extern void line6_capture_copy(struct snd_line6_pcm *line6pcm, char *fbuf, line6pcm 20 sound/usb/line6/capture.h extern void line6_capture_check_period(struct snd_line6_pcm *line6pcm, line6pcm 22 sound/usb/line6/capture.h extern int line6_create_audio_in_urbs(struct snd_line6_pcm *line6pcm); line6pcm 23 sound/usb/line6/capture.h extern int line6_submit_audio_in_all_urbs(struct snd_line6_pcm *line6pcm); line6pcm 829 sound/usb/line6/driver.c if (line6->line6pcm) line6pcm 830 sound/usb/line6/driver.c line6_pcm_disconnect(line6->line6pcm); line6pcm 852 sound/usb/line6/driver.c struct snd_line6_pcm *line6pcm = line6->line6pcm; line6pcm 859 sound/usb/line6/driver.c if (line6pcm != NULL) line6pcm 860 sound/usb/line6/driver.c line6pcm->flags = 0; line6pcm 144 sound/usb/line6/driver.h struct snd_line6_pcm *line6pcm; line6pcm 33 sound/usb/line6/pcm.c struct snd_line6_pcm *line6pcm = snd_kcontrol_chip(kcontrol); line6pcm 35 sound/usb/line6/pcm.c ucontrol->value.integer.value[0] = line6pcm->impulse_volume; line6pcm 42 sound/usb/line6/pcm.c struct snd_line6_pcm *line6pcm = snd_kcontrol_chip(kcontrol); line6pcm 46 sound/usb/line6/pcm.c if (line6pcm->impulse_volume == value) line6pcm 49 sound/usb/line6/pcm.c line6pcm->impulse_volume = value; line6pcm 51 sound/usb/line6/pcm.c err = line6_pcm_acquire(line6pcm, LINE6_STREAM_IMPULSE, true); line6pcm 53 sound/usb/line6/pcm.c line6pcm->impulse_volume = 0; line6pcm 57 sound/usb/line6/pcm.c line6_pcm_release(line6pcm, LINE6_STREAM_IMPULSE); line6pcm 76 sound/usb/line6/pcm.c struct snd_line6_pcm *line6pcm = snd_kcontrol_chip(kcontrol); line6pcm 78 sound/usb/line6/pcm.c ucontrol->value.integer.value[0] = line6pcm->impulse_period; line6pcm 85 sound/usb/line6/pcm.c struct snd_line6_pcm *line6pcm = snd_kcontrol_chip(kcontrol); line6pcm 88 sound/usb/line6/pcm.c if (line6pcm->impulse_period == value) line6pcm 91 sound/usb/line6/pcm.c line6pcm->impulse_period = value; line6pcm 98 sound/usb/line6/pcm.c static void line6_unlink_audio_urbs(struct snd_line6_pcm *line6pcm, line6pcm 103 sound/usb/line6/pcm.c for (i = 0; i < line6pcm->line6->iso_buffers; i++) { line6pcm 114 sound/usb/line6/pcm.c static void line6_wait_clear_audio_urbs(struct snd_line6_pcm *line6pcm, line6pcm 123 sound/usb/line6/pcm.c for (i = 0; i < line6pcm->line6->iso_buffers; i++) { line6pcm 133 sound/usb/line6/pcm.c dev_err(line6pcm->line6->ifcdev, line6pcm 138 sound/usb/line6/pcm.c get_stream(struct snd_line6_pcm *line6pcm, int direction) line6pcm 141 sound/usb/line6/pcm.c &line6pcm->out : &line6pcm->in; line6pcm 147 sound/usb/line6/pcm.c static int line6_buffer_acquire(struct snd_line6_pcm *line6pcm, line6pcm 152 sound/usb/line6/pcm.c line6pcm->max_packet_size_out : line6pcm 153 sound/usb/line6/pcm.c line6pcm->max_packet_size_in; line6pcm 158 sound/usb/line6/pcm.c kmalloc(array3_size(line6pcm->line6->iso_buffers, line6pcm 170 sound/usb/line6/pcm.c static void line6_buffer_release(struct snd_line6_pcm *line6pcm, line6pcm 175 sound/usb/line6/pcm.c line6_wait_clear_audio_urbs(line6pcm, pstr); line6pcm 182 sound/usb/line6/pcm.c static int line6_stream_start(struct snd_line6_pcm *line6pcm, int direction, line6pcm 186 sound/usb/line6/pcm.c struct line6_pcm_stream *pstr = get_stream(line6pcm, direction); line6pcm 195 sound/usb/line6/pcm.c ret = line6_submit_audio_out_all_urbs(line6pcm); line6pcm 197 sound/usb/line6/pcm.c ret = line6_submit_audio_in_all_urbs(line6pcm); line6pcm 207 sound/usb/line6/pcm.c static void line6_stream_stop(struct snd_line6_pcm *line6pcm, int direction, line6pcm 211 sound/usb/line6/pcm.c struct line6_pcm_stream *pstr = get_stream(line6pcm, direction); line6pcm 217 sound/usb/line6/pcm.c line6_unlink_audio_urbs(line6pcm, pstr); line6pcm 220 sound/usb/line6/pcm.c line6pcm->prev_fbuf = NULL; line6pcm 221 sound/usb/line6/pcm.c line6pcm->prev_fsize = 0; line6pcm 230 sound/usb/line6/pcm.c struct snd_line6_pcm *line6pcm = snd_pcm_substream_chip(substream); line6pcm 234 sound/usb/line6/pcm.c clear_bit(LINE6_FLAG_PREPARED, &line6pcm->flags); line6pcm 244 sound/usb/line6/pcm.c (line6pcm->line6->properties->capabilities & line6pcm 246 sound/usb/line6/pcm.c err = line6_stream_start(line6pcm, SNDRV_PCM_STREAM_PLAYBACK, line6pcm 251 sound/usb/line6/pcm.c err = line6_stream_start(line6pcm, s->stream, line6pcm 260 sound/usb/line6/pcm.c (line6pcm->line6->properties->capabilities & line6pcm 262 sound/usb/line6/pcm.c line6_stream_stop(line6pcm, SNDRV_PCM_STREAM_PLAYBACK, line6pcm 265 sound/usb/line6/pcm.c line6_stream_stop(line6pcm, s->stream, line6pcm 272 sound/usb/line6/pcm.c set_bit(LINE6_FLAG_PAUSE_PLAYBACK, &line6pcm->flags); line6pcm 278 sound/usb/line6/pcm.c clear_bit(LINE6_FLAG_PAUSE_PLAYBACK, &line6pcm->flags); line6pcm 292 sound/usb/line6/pcm.c struct snd_line6_pcm *line6pcm = snd_pcm_substream_chip(substream); line6pcm 293 sound/usb/line6/pcm.c struct line6_pcm_stream *pstr = get_stream(line6pcm, substream->stream); line6pcm 301 sound/usb/line6/pcm.c int line6_pcm_acquire(struct snd_line6_pcm *line6pcm, int type, bool start) line6pcm 307 sound/usb/line6/pcm.c mutex_lock(&line6pcm->state_mutex); line6pcm 309 sound/usb/line6/pcm.c pstr = get_stream(line6pcm, dir); line6pcm 310 sound/usb/line6/pcm.c ret = line6_buffer_acquire(line6pcm, pstr, dir, type); line6pcm 314 sound/usb/line6/pcm.c line6_wait_clear_audio_urbs(line6pcm, pstr); line6pcm 318 sound/usb/line6/pcm.c ret = line6_stream_start(line6pcm, dir, type); line6pcm 324 sound/usb/line6/pcm.c mutex_unlock(&line6pcm->state_mutex); line6pcm 326 sound/usb/line6/pcm.c line6_pcm_release(line6pcm, type); line6pcm 332 sound/usb/line6/pcm.c void line6_pcm_release(struct snd_line6_pcm *line6pcm, int type) line6pcm 337 sound/usb/line6/pcm.c mutex_lock(&line6pcm->state_mutex); line6pcm 339 sound/usb/line6/pcm.c line6_stream_stop(line6pcm, dir, type); line6pcm 341 sound/usb/line6/pcm.c pstr = get_stream(line6pcm, dir); line6pcm 342 sound/usb/line6/pcm.c line6_buffer_release(line6pcm, pstr, type); line6pcm 344 sound/usb/line6/pcm.c mutex_unlock(&line6pcm->state_mutex); line6pcm 353 sound/usb/line6/pcm.c struct snd_line6_pcm *line6pcm = snd_pcm_substream_chip(substream); line6pcm 354 sound/usb/line6/pcm.c struct line6_pcm_stream *pstr = get_stream(line6pcm, substream->stream); line6pcm 356 sound/usb/line6/pcm.c mutex_lock(&line6pcm->state_mutex); line6pcm 357 sound/usb/line6/pcm.c ret = line6_buffer_acquire(line6pcm, pstr, substream->stream, line6pcm 365 sound/usb/line6/pcm.c line6_buffer_release(line6pcm, pstr, LINE6_STREAM_PCM); line6pcm 371 sound/usb/line6/pcm.c mutex_unlock(&line6pcm->state_mutex); line6pcm 378 sound/usb/line6/pcm.c struct snd_line6_pcm *line6pcm = snd_pcm_substream_chip(substream); line6pcm 379 sound/usb/line6/pcm.c struct line6_pcm_stream *pstr = get_stream(line6pcm, substream->stream); line6pcm 381 sound/usb/line6/pcm.c mutex_lock(&line6pcm->state_mutex); line6pcm 382 sound/usb/line6/pcm.c line6_buffer_release(line6pcm, pstr, LINE6_STREAM_PCM); line6pcm 383 sound/usb/line6/pcm.c mutex_unlock(&line6pcm->state_mutex); line6pcm 404 sound/usb/line6/pcm.c struct snd_line6_pcm *line6pcm = snd_kcontrol_chip(kcontrol); line6pcm 407 sound/usb/line6/pcm.c ucontrol->value.integer.value[i] = line6pcm->volume_playback[i]; line6pcm 417 sound/usb/line6/pcm.c struct snd_line6_pcm *line6pcm = snd_kcontrol_chip(kcontrol); line6pcm 420 sound/usb/line6/pcm.c if (line6pcm->volume_playback[i] != line6pcm 422 sound/usb/line6/pcm.c line6pcm->volume_playback[i] = line6pcm 478 sound/usb/line6/pcm.c struct snd_line6_pcm *line6pcm = snd_pcm_chip(pcm); line6pcm 480 sound/usb/line6/pcm.c cleanup_urbs(&line6pcm->out, line6pcm->line6->iso_buffers); line6pcm 481 sound/usb/line6/pcm.c cleanup_urbs(&line6pcm->in, line6pcm->line6->iso_buffers); line6pcm 482 sound/usb/line6/pcm.c kfree(line6pcm); line6pcm 514 sound/usb/line6/pcm.c void line6_pcm_disconnect(struct snd_line6_pcm *line6pcm) line6pcm 516 sound/usb/line6/pcm.c line6_unlink_audio_urbs(line6pcm, &line6pcm->out); line6pcm 517 sound/usb/line6/pcm.c line6_unlink_audio_urbs(line6pcm, &line6pcm->in); line6pcm 518 sound/usb/line6/pcm.c line6_wait_clear_audio_urbs(line6pcm, &line6pcm->out); line6pcm 519 sound/usb/line6/pcm.c line6_wait_clear_audio_urbs(line6pcm, &line6pcm->in); line6pcm 533 sound/usb/line6/pcm.c struct snd_line6_pcm *line6pcm; line6pcm 542 sound/usb/line6/pcm.c line6pcm = kzalloc(sizeof(*line6pcm), GFP_KERNEL); line6pcm 543 sound/usb/line6/pcm.c if (!line6pcm) line6pcm 546 sound/usb/line6/pcm.c mutex_init(&line6pcm->state_mutex); line6pcm 547 sound/usb/line6/pcm.c line6pcm->pcm = pcm; line6pcm 548 sound/usb/line6/pcm.c line6pcm->properties = properties; line6pcm 549 sound/usb/line6/pcm.c line6pcm->volume_playback[0] = line6pcm->volume_playback[1] = 255; line6pcm 550 sound/usb/line6/pcm.c line6pcm->volume_monitor = 255; line6pcm 551 sound/usb/line6/pcm.c line6pcm->line6 = line6; line6pcm 553 sound/usb/line6/pcm.c spin_lock_init(&line6pcm->out.lock); line6pcm 554 sound/usb/line6/pcm.c spin_lock_init(&line6pcm->in.lock); line6pcm 555 sound/usb/line6/pcm.c line6pcm->impulse_period = LINE6_IMPULSE_DEFAULT_PERIOD; line6pcm 557 sound/usb/line6/pcm.c line6->line6pcm = line6pcm; line6pcm 559 sound/usb/line6/pcm.c pcm->private_data = line6pcm; line6pcm 562 sound/usb/line6/pcm.c line6pcm->max_packet_size_in = line6pcm 565 sound/usb/line6/pcm.c line6pcm->max_packet_size_out = line6pcm 568 sound/usb/line6/pcm.c if (!line6pcm->max_packet_size_in || !line6pcm->max_packet_size_out) { line6pcm 569 sound/usb/line6/pcm.c dev_err(line6pcm->line6->ifcdev, line6pcm 574 sound/usb/line6/pcm.c err = line6_create_audio_out_urbs(line6pcm); line6pcm 578 sound/usb/line6/pcm.c err = line6_create_audio_in_urbs(line6pcm); line6pcm 585 sound/usb/line6/pcm.c snd_ctl_new1(&line6_controls[i], line6pcm)); line6pcm 597 sound/usb/line6/pcm.c struct snd_line6_pcm *line6pcm = snd_pcm_substream_chip(substream); line6pcm 598 sound/usb/line6/pcm.c struct line6_pcm_stream *pstr = get_stream(line6pcm, substream->stream); line6pcm 600 sound/usb/line6/pcm.c mutex_lock(&line6pcm->state_mutex); line6pcm 602 sound/usb/line6/pcm.c line6_wait_clear_audio_urbs(line6pcm, pstr); line6pcm 604 sound/usb/line6/pcm.c if (!test_and_set_bit(LINE6_FLAG_PREPARED, &line6pcm->flags)) { line6pcm 605 sound/usb/line6/pcm.c line6pcm->out.count = 0; line6pcm 606 sound/usb/line6/pcm.c line6pcm->out.pos = 0; line6pcm 607 sound/usb/line6/pcm.c line6pcm->out.pos_done = 0; line6pcm 608 sound/usb/line6/pcm.c line6pcm->out.bytes = 0; line6pcm 609 sound/usb/line6/pcm.c line6pcm->in.count = 0; line6pcm 610 sound/usb/line6/pcm.c line6pcm->in.pos_done = 0; line6pcm 611 sound/usb/line6/pcm.c line6pcm->in.bytes = 0; line6pcm 614 sound/usb/line6/pcm.c mutex_unlock(&line6pcm->state_mutex); line6pcm 37 sound/usb/line6/pcm.h #define get_substream(line6pcm, stream) \ line6pcm 38 sound/usb/line6/pcm.h (line6pcm->pcm->streams[stream].substream) line6pcm 190 sound/usb/line6/pcm.h extern void line6_pcm_disconnect(struct snd_line6_pcm *line6pcm); line6pcm 191 sound/usb/line6/pcm.h extern int line6_pcm_acquire(struct snd_line6_pcm *line6pcm, int type, line6pcm 193 sound/usb/line6/pcm.h extern void line6_pcm_release(struct snd_line6_pcm *line6pcm, int type); line6pcm 65 sound/usb/line6/playback.c static void create_impulse_test_signal(struct snd_line6_pcm *line6pcm, line6pcm 72 sound/usb/line6/playback.c short *pi = (short *)line6pcm->prev_fbuf; line6pcm 83 sound/usb/line6/playback.c unsigned char *pi = line6pcm->prev_fbuf; line6pcm 97 sound/usb/line6/playback.c if (--line6pcm->impulse_count <= 0) { line6pcm 100 sound/usb/line6/playback.c line6pcm->impulse_volume; line6pcm 101 sound/usb/line6/playback.c line6pcm->impulse_count = line6pcm->impulse_period; line6pcm 140 sound/usb/line6/playback.c static int submit_audio_out_urb(struct snd_line6_pcm *line6pcm) line6pcm 146 sound/usb/line6/playback.c line6pcm->properties->bytes_per_channel * line6pcm 147 sound/usb/line6/playback.c line6pcm->properties->playback_hw.channels_max; line6pcm 149 sound/usb/line6/playback.c line6pcm->properties->rates.rats[0].num_min; line6pcm 151 sound/usb/line6/playback.c line6pcm->properties->rates.rats[0].den * line6pcm 152 sound/usb/line6/playback.c (line6pcm->line6->intervals_per_second / LINE6_ISO_INTERVAL); line6pcm 155 sound/usb/line6/playback.c index = find_first_zero_bit(&line6pcm->out.active_urbs, line6pcm 156 sound/usb/line6/playback.c line6pcm->line6->iso_buffers); line6pcm 158 sound/usb/line6/playback.c if (index < 0 || index >= line6pcm->line6->iso_buffers) { line6pcm 159 sound/usb/line6/playback.c dev_err(line6pcm->line6->ifcdev, "no free URB found\n"); line6pcm 163 sound/usb/line6/playback.c urb_out = line6pcm->out.urbs[index]; line6pcm 173 sound/usb/line6/playback.c fsize = line6pcm->prev_fsize; line6pcm 177 sound/usb/line6/playback.c line6pcm->out.count += frame_increment; line6pcm 178 sound/usb/line6/playback.c n = line6pcm->out.count / frame_factor; line6pcm 179 sound/usb/line6/playback.c line6pcm->out.count -= n * frame_factor; line6pcm 192 sound/usb/line6/playback.c dev_err(line6pcm->line6->ifcdev, "driver bug: urb_size = 0\n"); line6pcm 198 sound/usb/line6/playback.c line6pcm->out.buffer + line6pcm 199 sound/usb/line6/playback.c index * LINE6_ISO_PACKETS * line6pcm->max_packet_size_out; line6pcm 201 sound/usb/line6/playback.c urb_out->context = line6pcm; line6pcm 203 sound/usb/line6/playback.c if (test_bit(LINE6_STREAM_PCM, &line6pcm->out.running) && line6pcm 204 sound/usb/line6/playback.c !test_bit(LINE6_FLAG_PAUSE_PLAYBACK, &line6pcm->flags)) { line6pcm 206 sound/usb/line6/playback.c get_substream(line6pcm, SNDRV_PCM_STREAM_PLAYBACK)->runtime; line6pcm 208 sound/usb/line6/playback.c if (line6pcm->out.pos + urb_frames > runtime->buffer_size) { line6pcm 215 sound/usb/line6/playback.c len = runtime->buffer_size - line6pcm->out.pos; line6pcm 220 sound/usb/line6/playback.c line6pcm->out.pos * bytes_per_frame, line6pcm 226 sound/usb/line6/playback.c dev_err(line6pcm->line6->ifcdev, "driver bug: len = %d\n", line6pcm 231 sound/usb/line6/playback.c line6pcm->out.pos * bytes_per_frame, line6pcm 235 sound/usb/line6/playback.c line6pcm->out.pos += urb_frames; line6pcm 236 sound/usb/line6/playback.c if (line6pcm->out.pos >= runtime->buffer_size) line6pcm 237 sound/usb/line6/playback.c line6pcm->out.pos -= runtime->buffer_size; line6pcm 239 sound/usb/line6/playback.c change_volume(urb_out, line6pcm->volume_playback, line6pcm 246 sound/usb/line6/playback.c spin_lock_nested(&line6pcm->in.lock, SINGLE_DEPTH_NESTING); line6pcm 247 sound/usb/line6/playback.c if (line6pcm->prev_fbuf) { line6pcm 248 sound/usb/line6/playback.c if (test_bit(LINE6_STREAM_IMPULSE, &line6pcm->out.running)) { line6pcm 249 sound/usb/line6/playback.c create_impulse_test_signal(line6pcm, urb_out, line6pcm 251 sound/usb/line6/playback.c if (test_bit(LINE6_STREAM_PCM, &line6pcm->in.running)) { line6pcm 252 sound/usb/line6/playback.c line6_capture_copy(line6pcm, line6pcm 256 sound/usb/line6/playback.c line6_capture_check_period(line6pcm, line6pcm 260 sound/usb/line6/playback.c if (!(line6pcm->line6->properties->capabilities & LINE6_CAP_HWMON) line6pcm 261 sound/usb/line6/playback.c && line6pcm->out.running && line6pcm->in.running) line6pcm 262 sound/usb/line6/playback.c add_monitor_signal(urb_out, line6pcm->prev_fbuf, line6pcm 263 sound/usb/line6/playback.c line6pcm->volume_monitor, line6pcm 266 sound/usb/line6/playback.c line6pcm->prev_fbuf = NULL; line6pcm 267 sound/usb/line6/playback.c line6pcm->prev_fsize = 0; line6pcm 269 sound/usb/line6/playback.c spin_unlock(&line6pcm->in.lock); line6pcm 274 sound/usb/line6/playback.c set_bit(index, &line6pcm->out.active_urbs); line6pcm 276 sound/usb/line6/playback.c dev_err(line6pcm->line6->ifcdev, line6pcm 286 sound/usb/line6/playback.c int line6_submit_audio_out_all_urbs(struct snd_line6_pcm *line6pcm) line6pcm 290 sound/usb/line6/playback.c for (i = 0; i < line6pcm->line6->iso_buffers; ++i) { line6pcm 291 sound/usb/line6/playback.c ret = submit_audio_out_urb(line6pcm); line6pcm 306 sound/usb/line6/playback.c struct snd_line6_pcm *line6pcm = (struct snd_line6_pcm *)urb->context; line6pcm 308 sound/usb/line6/playback.c get_substream(line6pcm, SNDRV_PCM_STREAM_PLAYBACK); line6pcm 310 sound/usb/line6/playback.c line6pcm->properties->bytes_per_channel * line6pcm 311 sound/usb/line6/playback.c line6pcm->properties->playback_hw.channels_max; line6pcm 317 sound/usb/line6/playback.c line6pcm->out.last_frame = urb->start_frame; line6pcm 320 sound/usb/line6/playback.c for (index = 0; index < line6pcm->line6->iso_buffers; index++) line6pcm 321 sound/usb/line6/playback.c if (urb == line6pcm->out.urbs[index]) line6pcm 324 sound/usb/line6/playback.c if (index >= line6pcm->line6->iso_buffers) line6pcm 330 sound/usb/line6/playback.c spin_lock_irqsave(&line6pcm->out.lock, flags); line6pcm 332 sound/usb/line6/playback.c if (test_bit(LINE6_STREAM_PCM, &line6pcm->out.running)) { line6pcm 335 sound/usb/line6/playback.c line6pcm->out.pos_done += line6pcm 338 sound/usb/line6/playback.c if (line6pcm->out.pos_done >= runtime->buffer_size) line6pcm 339 sound/usb/line6/playback.c line6pcm->out.pos_done -= runtime->buffer_size; line6pcm 342 sound/usb/line6/playback.c clear_bit(index, &line6pcm->out.active_urbs); line6pcm 350 sound/usb/line6/playback.c if (test_and_clear_bit(index, &line6pcm->out.unlink_urbs)) line6pcm 354 sound/usb/line6/playback.c submit_audio_out_urb(line6pcm); line6pcm 356 sound/usb/line6/playback.c if (test_bit(LINE6_STREAM_PCM, &line6pcm->out.running)) { line6pcm 357 sound/usb/line6/playback.c line6pcm->out.bytes += length; line6pcm 358 sound/usb/line6/playback.c if (line6pcm->out.bytes >= line6pcm->out.period) { line6pcm 359 sound/usb/line6/playback.c line6pcm->out.bytes %= line6pcm->out.period; line6pcm 360 sound/usb/line6/playback.c spin_unlock(&line6pcm->out.lock); line6pcm 362 sound/usb/line6/playback.c spin_lock(&line6pcm->out.lock); line6pcm 366 sound/usb/line6/playback.c spin_unlock_irqrestore(&line6pcm->out.lock, flags); line6pcm 374 sound/usb/line6/playback.c struct snd_line6_pcm *line6pcm = snd_pcm_substream_chip(substream); line6pcm 377 sound/usb/line6/playback.c &line6pcm->properties->rates); line6pcm 381 sound/usb/line6/playback.c runtime->hw = line6pcm->properties->playback_hw; line6pcm 403 sound/usb/line6/playback.c int line6_create_audio_out_urbs(struct snd_line6_pcm *line6pcm) line6pcm 405 sound/usb/line6/playback.c struct usb_line6 *line6 = line6pcm->line6; line6pcm 408 sound/usb/line6/playback.c line6pcm->out.urbs = kcalloc(line6->iso_buffers, sizeof(struct urb *), line6pcm 410 sound/usb/line6/playback.c if (line6pcm->out.urbs == NULL) line6pcm 418 sound/usb/line6/playback.c urb = line6pcm->out.urbs[i] = line6pcm 28 sound/usb/line6/playback.h extern int line6_create_audio_out_urbs(struct snd_line6_pcm *line6pcm); line6pcm 29 sound/usb/line6/playback.h extern int line6_submit_audio_out_all_urbs(struct snd_line6_pcm *line6pcm); line6pcm 328 sound/usb/line6/pod.c struct snd_line6_pcm *line6pcm = snd_kcontrol_chip(kcontrol); line6pcm 329 sound/usb/line6/pod.c struct usb_line6_pod *pod = line6_to_pod(line6pcm->line6); line6pcm 339 sound/usb/line6/pod.c struct snd_line6_pcm *line6pcm = snd_kcontrol_chip(kcontrol); line6pcm 340 sound/usb/line6/pod.c struct usb_line6_pod *pod = line6_to_pod(line6pcm->line6); line6pcm 391 sound/usb/line6/pod.c snd_ctl_new1(&pod_control_monitor, line6->line6pcm)); line6pcm 156 sound/usb/line6/toneport.c struct snd_line6_pcm *line6pcm = snd_kcontrol_chip(kcontrol); line6pcm 158 sound/usb/line6/toneport.c ucontrol->value.integer.value[0] = line6pcm->volume_monitor; line6pcm 166 sound/usb/line6/toneport.c struct snd_line6_pcm *line6pcm = snd_kcontrol_chip(kcontrol); line6pcm 169 sound/usb/line6/toneport.c if (ucontrol->value.integer.value[0] == line6pcm->volume_monitor) line6pcm 172 sound/usb/line6/toneport.c line6pcm->volume_monitor = ucontrol->value.integer.value[0]; line6pcm 174 sound/usb/line6/toneport.c if (line6pcm->volume_monitor > 0) { line6pcm 175 sound/usb/line6/toneport.c err = line6_pcm_acquire(line6pcm, LINE6_STREAM_MONITOR, true); line6pcm 177 sound/usb/line6/toneport.c line6pcm->volume_monitor = 0; line6pcm 178 sound/usb/line6/toneport.c line6_pcm_release(line6pcm, LINE6_STREAM_MONITOR); line6pcm 182 sound/usb/line6/toneport.c line6_pcm_release(line6pcm, LINE6_STREAM_MONITOR); line6pcm 211 sound/usb/line6/toneport.c struct snd_line6_pcm *line6pcm = snd_kcontrol_chip(kcontrol); line6pcm 212 sound/usb/line6/toneport.c struct usb_line6_toneport *toneport = line6_to_toneport(line6pcm->line6); line6pcm 222 sound/usb/line6/toneport.c struct snd_line6_pcm *line6pcm = snd_kcontrol_chip(kcontrol); line6pcm 223 sound/usb/line6/toneport.c struct usb_line6_toneport *toneport = line6_to_toneport(line6pcm->line6); line6pcm 240 sound/usb/line6/toneport.c line6_pcm_acquire(line6->line6pcm, LINE6_STREAM_MONITOR, true); line6pcm 426 sound/usb/line6/toneport.c line6->line6pcm)); line6pcm 435 sound/usb/line6/toneport.c line6->line6pcm));