• 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/imx/

Lines Matching refs:iprtd

55 	struct imx_pcm_runtime_data *iprtd = runtime->private_data;
60 runtime = iprtd->substream->runtime;
62 iprtd->offset = sg->dma_address - runtime->dma_addr;
64 snd_pcm_period_elapsed(iprtd->substream);
79 struct imx_pcm_runtime_data *iprtd = runtime->private_data;
89 imx_dma_disable(iprtd->dma);
90 ret = imx_dma_setup_sg(iprtd->dma, iprtd->sg_list, iprtd->sg_count,
95 imx_dma_enable(iprtd->dma);
103 struct imx_pcm_runtime_data *iprtd = runtime->private_data;
108 iprtd->dma = imx_dma_request_by_prio(DRV_NAME, DMA_PRIO_HIGH);
109 if (iprtd->dma < 0) {
114 ret = imx_dma_setup_handlers(iprtd->dma,
120 ret = imx_dma_setup_progression_handler(iprtd->dma,
127 ret = imx_dma_config_channel(iprtd->dma,
136 imx_dma_config_burstlen(iprtd->dma, dma_params->burstsize * 2);
140 imx_dma_free(iprtd->dma);
148 struct imx_pcm_runtime_data *iprtd = runtime->private_data;
154 iprtd->size = params_buffer_bytes(params);
155 iprtd->periods = params_periods(params);
156 iprtd->period = params_period_bytes(params);
157 iprtd->offset = 0;
158 iprtd->period_time = HZ / (params_rate(params) /
163 if (iprtd->sg_count != iprtd->periods) {
164 kfree(iprtd->sg_list);
166 iprtd->sg_list = kcalloc(iprtd->periods + 1,
168 if (!iprtd->sg_list)
170 iprtd->sg_count = iprtd->periods + 1;
173 sg_init_table(iprtd->sg_list, iprtd->sg_count);
176 for (i = 0; i < iprtd->periods; i++) {
177 iprtd->sg_list[i].page_link = 0;
178 iprtd->sg_list[i].offset = 0;
179 iprtd->sg_list[i].dma_address = dma_addr;
180 iprtd->sg_list[i].length = iprtd->period;
181 dma_addr += iprtd->period;
185 iprtd->sg_list[iprtd->sg_count - 1].offset = 0;
186 iprtd->sg_list[iprtd->sg_count - 1].length = 0;
187 iprtd->sg_list[iprtd->sg_count - 1].page_link =
188 ((unsigned long) iprtd->sg_list | 0x01) & ~0x02;
195 struct imx_pcm_runtime_data *iprtd = runtime->private_data;
197 if (iprtd->dma >= 0) {
198 imx_dma_free(iprtd->dma);
199 iprtd->dma = -EINVAL;
202 kfree(iprtd->sg_list);
203 iprtd->sg_list = NULL;
213 struct imx_pcm_runtime_data *iprtd = runtime->private_data;
218 iprtd->substream = substream;
219 iprtd->buf = (unsigned int *)substream->dma_buffer.area;
220 iprtd->period_cnt = 0;
223 __func__, iprtd->buf, iprtd->period, iprtd->periods);
225 err = imx_dma_setup_sg(iprtd->dma, iprtd->sg_list, iprtd->sg_count,
238 struct imx_pcm_runtime_data *iprtd = runtime->private_data;
244 imx_dma_enable(iprtd->dma);
251 imx_dma_disable(iprtd->dma);
264 struct imx_pcm_runtime_data *iprtd = runtime->private_data;
266 return bytes_to_frames(substream->runtime, iprtd->offset);
291 struct imx_pcm_runtime_data *iprtd;
294 iprtd = kzalloc(sizeof(*iprtd), GFP_KERNEL);
295 if (iprtd == NULL)
297 runtime->private_data = iprtd;
302 kfree(iprtd);