• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/sound/soc/fsl/

Lines Matching refs:dma_private

183 static void fsl_dma_update_pointers(struct fsl_dma_private *dma_private)
186 &dma_private->link[dma_private->current_link];
189 if (dma_private->substream->stream == SNDRV_PCM_STREAM_PLAYBACK)
191 cpu_to_be32(dma_private->dma_buf_next);
194 cpu_to_be32(dma_private->dma_buf_next);
197 dma_private->dma_buf_next += dma_private->period_size;
199 if (dma_private->dma_buf_next >= dma_private->dma_buf_end)
200 dma_private->dma_buf_next = dma_private->dma_buf_phys;
202 if (++dma_private->current_link >= NUM_DMA_LINKS)
203 dma_private->current_link = 0;
210 * @dev_id: pointer to the dma_private structure for this DMA channel
214 struct fsl_dma_private *dma_private = dev_id;
215 struct ccsr_dma_channel __iomem *dma_channel = dma_private->dma_channel;
225 dev_err(dma_private->substream->pcm->card->dev,
227 dma_private->controller_id,
228 dma_private->channel_id, irq);
229 fsl_dma_abort_stream(dma_private->substream);
238 dev_err(dma_private->substream->pcm->card->dev,
240 dma_private->controller_id,
241 dma_private->channel_id, irq);
242 fsl_dma_abort_stream(dma_private->substream);
256 struct snd_pcm_substream *substream = dma_private->substream;
266 if (dma_private->num_periods != NUM_DMA_LINKS)
267 fsl_dma_update_pointers(dma_private);
393 struct fsl_dma_private *dma_private;
422 dma_private = dma_alloc_coherent(substream->pcm->card->dev,
424 if (!dma_private) {
430 dma_private->ssi_sxx_phys = dma_global_data.ssi_stx_phys;
432 dma_private->ssi_sxx_phys = dma_global_data.ssi_srx_phys;
434 dma_private->dma_channel = dma_global_data.dma_channel[channel];
435 dma_private->irq = dma_global_data.irq[channel];
436 dma_private->substream = substream;
437 dma_private->ld_buf_phys = ld_buf_phys;
438 dma_private->dma_buf_phys = substream->dma_buffer.addr;
441 dma_private->controller_id = 0;
442 dma_private->channel_id = channel;
444 ret = request_irq(dma_private->irq, fsl_dma_isr, 0, "DMA", dma_private);
448 dma_private->irq, ret);
451 dma_private, dma_private->ld_buf_phys);
459 runtime->private_data = dma_private;
463 dma_channel = dma_private->dma_channel;
465 temp_link = dma_private->ld_buf_phys +
469 dma_private->link[i].next = cpu_to_be64(temp_link);
474 dma_private->link[i - 1].next = cpu_to_be64(dma_private->ld_buf_phys);
478 CCSR_DMA_CLNDAR_ADDR(dma_private->ld_buf_phys));
480 CCSR_DMA_ECLNDAR_ADDR(dma_private->ld_buf_phys));
548 struct fsl_dma_private *dma_private = runtime->private_data;
558 dma_addr_t ssi_sxx_phys = dma_private->ssi_sxx_phys;
570 struct ccsr_dma_channel __iomem *dma_channel = dma_private->dma_channel;
577 dma_private->period_size = period_size;
578 dma_private->num_periods = params_periods(hw_params);
579 dma_private->dma_buf_end = dma_private->dma_buf_phys + buffer_size;
580 dma_private->dma_buf_next = dma_private->dma_buf_phys +
583 if (dma_private->dma_buf_next >= dma_private->dma_buf_end)
585 dma_private->dma_buf_next = dma_private->dma_buf_phys;
630 struct fsl_dma_link_descriptor *link = &dma_private->link[i];
691 struct fsl_dma_private *dma_private = runtime->private_data;
692 struct ccsr_dma_channel __iomem *dma_channel = dma_private->dma_channel;
711 if ((position < dma_private->dma_buf_phys) ||
712 (position > dma_private->dma_buf_end)) {
718 frames = bytes_to_frames(runtime, position - dma_private->dma_buf_phys);
741 struct fsl_dma_private *dma_private = runtime->private_data;
743 if (dma_private) {
746 dma_channel = dma_private->dma_channel;
774 struct fsl_dma_private *dma_private = runtime->private_data;
777 if (dma_private) {
778 if (dma_private->irq)
779 free_irq(dma_private->irq, dma_private);
781 if (dma_private->ld_buf_phys) {
783 dma_private->ld_buf_phys,
784 sizeof(dma_private->link), DMA_TO_DEVICE);
790 dma_private, dma_private->ld_buf_phys);