| tag | line | file | source code |
| dmap | 135 | drivers/sound/dev_table.h | struct dma_buffparms *dmap; |
| dmap | 54 | drivers/sound/dmabuf.c | struct dma_buffparms *dmap = audio_devs[dev]->dmap; |
| dmap | 60 | drivers/sound/dmabuf.c | if (dmap->fragment_size == 0) |
| dmap | 93 | drivers/sound/dmabuf.c | if (dmap->subdivision == 0) /* Not already set */ |
| dmap | 94 | drivers/sound/dmabuf.c | dmap->subdivision = 1; /* Init to default value */ |
| dmap | 96 | drivers/sound/dmabuf.c | bsz /= dmap->subdivision; |
| dmap | 104 | drivers/sound/dmabuf.c | dmap->fragment_size = bsz; |
| dmap | 112 | drivers/sound/dmabuf.c | if (dmap->fragment_size > audio_devs[dev]->buffsize) |
| dmap | 113 | drivers/sound/dmabuf.c | dmap->fragment_size = audio_devs[dev]->buffsize; |
| dmap | 114 | drivers/sound/dmabuf.c | bsz = dmap->fragment_size; |
| dmap | 122 | drivers/sound/dmabuf.c | for (i = 0; i < dmap->raw_count && |
| dmap | 123 | drivers/sound/dmabuf.c | n < dmap->max_fragments && |
| dmap | 129 | drivers/sound/dmabuf.c | n < dmap->max_fragments && |
| dmap | 132 | drivers/sound/dmabuf.c | dmap->buf[n] = dmap->raw_buf[i] + p; |
| dmap | 133 | drivers/sound/dmabuf.c | dmap->buf_phys[n] = dmap->raw_buf_phys[i] + p; |
| dmap | 139 | drivers/sound/dmabuf.c | dmap->nbufs = n; |
| dmap | 140 | drivers/sound/dmabuf.c | dmap->bytes_in_use = n * bsz; |
| dmap | 142 | drivers/sound/dmabuf.c | for (i = 0; i < dmap->nbufs; i++) |
| dmap | 144 | drivers/sound/dmabuf.c | dmap->counts[i] = 0; |
| dmap | 147 | drivers/sound/dmabuf.c | dmap->flags |= DMA_ALLOC_DONE; |
| dmap | 153 | drivers/sound/dmabuf.c | struct dma_buffparms *dmap = audio_devs[dev]->dmap = &dmaps[dev]; |
| dmap | 157 | drivers/sound/dmabuf.c | dmap->flags = DMA_BUSY; /* Other flags off */ |
| dmap | 158 | drivers/sound/dmabuf.c | dmap->qlen = dmap->qhead = dmap->qtail = 0; |
| dmap | 160 | drivers/sound/dmabuf.c | dmap->qlen = dmap->qtail = dmap->qhead = 0; |
| dmap | 161 | drivers/sound/dmabuf.c | dmap->dma_mode = DMODE_NONE; |
| dmap | 168 | drivers/sound/dmabuf.c | struct dma_buffparms *dmap = NULL; |
| dmap | 182 | drivers/sound/dmabuf.c | dmap = audio_devs[dev]->dmap = &dmaps[dev]; |
| dmap | 184 | drivers/sound/dmabuf.c | if (dmap->flags & DMA_BUSY) |
| dmap | 188 | drivers/sound/dmabuf.c | dmap->raw_buf[0] = NULL; |
| dmap | 192 | drivers/sound/dmabuf.c | if (dmap->raw_buf[0] == NULL) |
| dmap | 198 | drivers/sound/dmabuf.c | dmap->open_mode = mode; |
| dmap | 199 | drivers/sound/dmabuf.c | dmap->subdivision = dmap->underrun_count = 0; |
| dmap | 200 | drivers/sound/dmabuf.c | dmap->fragment_size = 0; |
| dmap | 201 | drivers/sound/dmabuf.c | dmap->max_fragments = 65536; /* Just a large value */ |
| dmap | 222 | drivers/sound/dmabuf.c | if ((retval = audio_devs[dev]->open (dev, audio_devs[dev]->dmap->open_mode)) < 0) |
| dmap | 235 | drivers/sound/dmabuf.c | if (audio_devs[dev]->dmap->dma_mode == DMODE_OUTPUT) |
| dmap | 240 | drivers/sound/dmabuf.c | && audio_devs[dev]->dmap->qlen) |
| dmap | 246 | drivers/sound/dmabuf.c | return audio_devs[dev]->dmap->qlen; |
| dmap | 267 | drivers/sound/dmabuf.c | return audio_devs[dev]->dmap->qlen; |
| dmap | 276 | drivers/sound/dmabuf.c | && (audio_devs[dev]->dmap->dma_mode == DMODE_OUTPUT)) |
| dmap | 290 | drivers/sound/dmabuf.c | audio_devs[dev]->dmap->dma_mode = DMODE_NONE; |
| dmap | 291 | drivers/sound/dmabuf.c | audio_devs[dev]->dmap->flags &= ~DMA_BUSY; |
| dmap | 302 | drivers/sound/dmabuf.c | struct dma_buffparms *dmap = audio_devs[dev]->dmap; |
| dmap | 305 | drivers/sound/dmabuf.c | if (!dmap->qlen) |
| dmap | 307 | drivers/sound/dmabuf.c | if (dmap->flags & DMA_RESTART) |
| dmap | 310 | drivers/sound/dmabuf.c | dmap->flags &= ~DMA_RESTART; |
| dmap | 313 | drivers/sound/dmabuf.c | if (dmap->dma_mode == DMODE_OUTPUT) /* Direction change */ |
| dmap | 317 | drivers/sound/dmabuf.c | dmap->dma_mode = DMODE_NONE; |
| dmap | 320 | drivers/sound/dmabuf.c | if (!(dmap->flags & DMA_ALLOC_DONE)) |
| dmap | 323 | drivers/sound/dmabuf.c | if (!dmap->dma_mode) |
| dmap | 328 | drivers/sound/dmabuf.c | dmap->fragment_size, dmap->nbufs)) < 0) |
| dmap | 333 | drivers/sound/dmabuf.c | dmap->dma_mode = DMODE_INPUT; |
| dmap | 336 | drivers/sound/dmabuf.c | if (!(dmap->flags & DMA_ACTIVE)) |
| dmap | 338 | drivers/sound/dmabuf.c | audio_devs[dev]->start_input (dev, dmap->buf_phys[dmap->qtail], |
| dmap | 339 | drivers/sound/dmabuf.c | dmap->fragment_size, 0, |
| dmap | 341 | drivers/sound/dmabuf.c | !(dmap->flags & DMA_STARTED)); |
| dmap | 342 | drivers/sound/dmabuf.c | dmap->flags |= DMA_ACTIVE | DMA_STARTED; |
| dmap | 359 | drivers/sound/dmabuf.c | if (!dmap->qlen) |
| dmap | 362 | drivers/sound/dmabuf.c | *buf = &dmap->buf[dmap->qhead][dmap->counts[dmap->qhead]]; |
| dmap | 363 | drivers/sound/dmabuf.c | *len = dmap->fragment_size - dmap->counts[dmap->qhead]; |
| dmap | 365 | drivers/sound/dmabuf.c | return dmap->qhead; |
| dmap | 371 | drivers/sound/dmabuf.c | struct dma_buffparms *dmap = audio_devs[dev]->dmap; |
| dmap | 373 | drivers/sound/dmabuf.c | int p = dmap->counts[dmap->qhead] + c; |
| dmap | 375 | drivers/sound/dmabuf.c | if (p >= dmap->fragment_size) |
| dmap | 377 | drivers/sound/dmabuf.c | dmap->counts[dmap->qhead] = 0; |
| dmap | 378 | drivers/sound/dmabuf.c | if (dmap->qlen <= 0 || dmap->qlen > dmap->nbufs) |
| dmap | 380 | drivers/sound/dmabuf.c | dev, dmap->qlen, dmap->nbufs); |
| dmap | 381 | drivers/sound/dmabuf.c | dmap->qlen--; |
| dmap | 382 | drivers/sound/dmabuf.c | dmap->qhead = (dmap->qhead + 1) % dmap->nbufs; |
| dmap | 385 | drivers/sound/dmabuf.c | dmap->counts[dmap->qhead] = p; |
| dmap | 393 | drivers/sound/dmabuf.c | struct dma_buffparms *dmap = audio_devs[dev]->dmap; |
| dmap | 409 | drivers/sound/dmabuf.c | if (!(dmap->flags & DMA_ALLOC_DONE)) |
| dmap | 412 | drivers/sound/dmabuf.c | return IOCTL_OUT (arg, dmap->fragment_size); |
| dmap | 421 | drivers/sound/dmabuf.c | fact = dmap->subdivision; |
| dmap | 427 | drivers/sound/dmabuf.c | if (dmap->subdivision != 0 || |
| dmap | 428 | drivers/sound/dmabuf.c | dmap->fragment_size)/* Too late to change */ |
| dmap | 437 | drivers/sound/dmabuf.c | dmap->subdivision = fact; |
| dmap | 450 | drivers/sound/dmabuf.c | if (dmap->subdivision != 0 || |
| dmap | 451 | drivers/sound/dmabuf.c | dmap->fragment_size)/* Too late to change */ |
| dmap | 466 | drivers/sound/dmabuf.c | dmap->fragment_size = (1 << bytes); |
| dmap | 467 | drivers/sound/dmabuf.c | dmap->max_fragments = count; |
| dmap | 469 | drivers/sound/dmabuf.c | if (dmap->fragment_size > audio_devs[dev]->buffsize) |
| dmap | 470 | drivers/sound/dmabuf.c | dmap->fragment_size = audio_devs[dev]->buffsize; |
| dmap | 472 | drivers/sound/dmabuf.c | if (dmap->fragment_size == audio_devs[dev]->buffsize && |
| dmap | 474 | drivers/sound/dmabuf.c | dmap->fragment_size /= 2; /* Needs at least 2 buffers */ |
| dmap | 476 | drivers/sound/dmabuf.c | dmap->subdivision = 1; /* Disable SNDCTL_DSP_SUBDIVIDE */ |
| dmap | 492 | drivers/sound/dmabuf.c | struct dma_buffparms *dmap = audio_devs[dev]->dmap; |
| dmap | 494 | drivers/sound/dmabuf.c | if (dmap->qlen == dmap->nbufs)/* No space at all */ |
| dmap | 502 | drivers/sound/dmabuf.c | max = dmap->max_fragments; |
| dmap | 503 | drivers/sound/dmabuf.c | len = dmap->qlen; |
| dmap | 525 | drivers/sound/dmabuf.c | struct dma_buffparms *dmap = audio_devs[dev]->dmap; |
| dmap | 527 | drivers/sound/dmabuf.c | if (dmap->dma_mode == DMODE_INPUT) /* Direction change */ |
| dmap | 530 | drivers/sound/dmabuf.c | dmap->dma_mode = DMODE_NONE; |
| dmap | 532 | drivers/sound/dmabuf.c | else if (dmap->flags & DMA_RESTART) /* Restart buffering */ |
| dmap | 538 | drivers/sound/dmabuf.c | dmap->flags &= ~DMA_RESTART; |
| dmap | 540 | drivers/sound/dmabuf.c | if (!(dmap->flags & DMA_ALLOC_DONE)) |
| dmap | 543 | drivers/sound/dmabuf.c | if (!dmap->dma_mode) |
| dmap | 547 | drivers/sound/dmabuf.c | dmap->dma_mode = DMODE_OUTPUT; |
| dmap | 549 | drivers/sound/dmabuf.c | dmap->fragment_size, dmap->nbufs)) < 0) |
| dmap | 584 | drivers/sound/dmabuf.c | *buf = dmap->buf[dmap->qtail]; |
| dmap | 585 | drivers/sound/dmabuf.c | *size = dmap->fragment_size; |
| dmap | 586 | drivers/sound/dmabuf.c | dmap->counts[dmap->qtail] = 0; |
| dmap | 588 | drivers/sound/dmabuf.c | return dmap->qtail; |
| dmap | 594 | drivers/sound/dmabuf.c | struct dma_buffparms *dmap = audio_devs[dev]->dmap; |
| dmap | 596 | drivers/sound/dmabuf.c | if (buff_no != dmap->qtail) |
| dmap | 597 | drivers/sound/dmabuf.c | printk ("Sound warning: DMA buffers out of sync %d != %d\n", buff_no, dmap->qtail); |
| dmap | 599 | drivers/sound/dmabuf.c | dmap->qlen++; |
| dmap | 600 | drivers/sound/dmabuf.c | if (dmap->qlen <= 0 || dmap->qlen > dmap->nbufs) |
| dmap | 602 | drivers/sound/dmabuf.c | dev, dmap->qlen, dmap->nbufs); |
| dmap | 604 | drivers/sound/dmabuf.c | dmap->counts[dmap->qtail] = l; |
| dmap | 606 | drivers/sound/dmabuf.c | if ((l != dmap->fragment_size) && |
| dmap | 609 | drivers/sound/dmabuf.c | dmap->flags |= DMA_RESTART; |
| dmap | 611 | drivers/sound/dmabuf.c | dmap->flags &= ~DMA_RESTART; |
| dmap | 613 | drivers/sound/dmabuf.c | dmap->qtail = (dmap->qtail + 1) % dmap->nbufs; |
| dmap | 615 | drivers/sound/dmabuf.c | if (!(dmap->flags & DMA_ACTIVE)) |
| dmap | 617 | drivers/sound/dmabuf.c | dmap->flags |= DMA_ACTIVE; |
| dmap | 618 | drivers/sound/dmabuf.c | audio_devs[dev]->output_block (dev, dmap->buf_phys[dmap->qhead], |
| dmap | 619 | drivers/sound/dmabuf.c | dmap->counts[dmap->qhead], 0, |
| dmap | 621 | drivers/sound/dmabuf.c | !(dmap->flags & DMA_STARTED)); |
| dmap | 622 | drivers/sound/dmabuf.c | dmap->flags |= DMA_STARTED; |
| dmap | 632 | drivers/sound/dmabuf.c | struct dma_buffparms *dmap = audio_devs[dev]->dmap; |
| dmap | 654 | drivers/sound/dmabuf.c | set_dma_addr (chan, dmap->raw_buf_phys[0]); |
| dmap | 655 | drivers/sound/dmabuf.c | set_dma_count (chan, dmap->bytes_in_use); |
| dmap | 664 | drivers/sound/dmabuf.c | dmap->raw_buf_phys[0], |
| dmap | 665 | drivers/sound/dmabuf.c | dmap->bytes_in_use, |
| dmap | 677 | drivers/sound/dmabuf.c | dmap->raw_buf_phys[0], dmap->bytes_in_use); |
| dmap | 730 | drivers/sound/dmabuf.c | audio_devs[dev]->dmap = &dmaps[dev]; |
| dmap | 748 | drivers/sound/dmabuf.c | struct dma_buffparms *dmap = audio_devs[dev]->dmap; |
| dmap | 752 | drivers/sound/dmabuf.c | if (dmap->qlen <= 0 || dmap->qlen > dmap->nbufs) |
| dmap | 755 | drivers/sound/dmabuf.c | dev, dmap->qlen, dmap->nbufs); |
| dmap | 759 | drivers/sound/dmabuf.c | dmap->qlen--; |
| dmap | 760 | drivers/sound/dmabuf.c | dmap->qhead = (dmap->qhead + 1) % dmap->nbufs; |
| dmap | 761 | drivers/sound/dmabuf.c | dmap->flags &= ~DMA_ACTIVE; |
| dmap | 763 | drivers/sound/dmabuf.c | if (dmap->qlen) |
| dmap | 765 | drivers/sound/dmabuf.c | audio_devs[dev]->output_block (dev, dmap->buf_phys[dmap->qhead], |
| dmap | 766 | drivers/sound/dmabuf.c | dmap->counts[dmap->qhead], 1, |
| dmap | 768 | drivers/sound/dmabuf.c | dmap->flags |= DMA_ACTIVE; |
| dmap | 772 | drivers/sound/dmabuf.c | dmap->underrun_count++; |
| dmap | 776 | drivers/sound/dmabuf.c | dmap->flags |= DMA_RESTART; |
| dmap | 778 | drivers/sound/dmabuf.c | dmap->flags &= ~DMA_RESTART; |
| dmap | 794 | drivers/sound/dmabuf.c | struct dma_buffparms *dmap = audio_devs[dev]->dmap; |
| dmap | 796 | drivers/sound/dmabuf.c | if (dmap->qlen == (dmap->nbufs - 1)) |
| dmap | 799 | drivers/sound/dmabuf.c | dmap->underrun_count++; |
| dmap | 801 | drivers/sound/dmabuf.c | dmap->flags &= ~DMA_ACTIVE; |
| dmap | 803 | drivers/sound/dmabuf.c | dmap->flags |= DMA_RESTART; |
| dmap | 805 | drivers/sound/dmabuf.c | dmap->flags &= ~DMA_RESTART; |
| dmap | 809 | drivers/sound/dmabuf.c | dmap->qlen++; |
| dmap | 810 | drivers/sound/dmabuf.c | if (dmap->qlen <= 0 || dmap->qlen > dmap->nbufs) |
| dmap | 812 | drivers/sound/dmabuf.c | dev, dmap->qlen, dmap->nbufs); |
| dmap | 813 | drivers/sound/dmabuf.c | dmap->qtail = (dmap->qtail + 1) % dmap->nbufs; |
| dmap | 815 | drivers/sound/dmabuf.c | audio_devs[dev]->start_input (dev, dmap->buf_phys[dmap->qtail], |
| dmap | 816 | drivers/sound/dmabuf.c | dmap->fragment_size, 1, |
| dmap | 818 | drivers/sound/dmabuf.c | dmap->flags |= DMA_ACTIVE; |
| dmap | 1649 | drivers/sound/gus_wave.c | COPY_FROM_USER (audio_devs[gus_devnum]->dmap->raw_buf[0], |
| dmap | 1656 | drivers/sound/gus_wave.c | audio_devs[gus_devnum]->dmap->raw_buf_phys[0], |
| dmap | 294 | drivers/sound/soundcard.c | struct dma_buffparms *dmap; |
| dmap | 306 | drivers/sound/soundcard.c | dmap = audio_devs[dev]->dmap; |
| dmap | 326 | drivers/sound/soundcard.c | for (dmap->raw_count = 0; dmap->raw_count < audio_devs[dev]->buffcount; dmap->raw_count++) |
| dmap | 335 | drivers/sound/soundcard.c | dmap->raw_buf[dmap->raw_count] = (char *) start_addr; |
| dmap | 336 | drivers/sound/soundcard.c | dmap->raw_buf_phys[dmap->raw_count] = start_addr; |