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

Lines Matching refs:prtd

75 	struct s3c24xx_runtime_data *prtd = substream->runtime->private_data;
76 dma_addr_t pos = prtd->dma_pos;
83 limit = (prtd->dma_end - prtd->dma_start) / prtd->dma_period;
85 limit = prtd->dma_limit;
88 __func__, prtd->dma_loaded, limit);
90 while (prtd->dma_loaded < limit) {
91 unsigned long len = prtd->dma_period;
93 pr_debug("dma_loaded: %d\n", prtd->dma_loaded);
95 if ((pos + len) > prtd->dma_end) {
96 len = prtd->dma_end - pos;
100 ret = s3c2410_dma_enqueue(prtd->params->channel,
104 prtd->dma_loaded++;
105 pos += prtd->dma_period;
106 if (pos >= prtd->dma_end)
107 pos = prtd->dma_start;
112 prtd->dma_pos = pos;
120 struct s3c24xx_runtime_data *prtd;
127 prtd = substream->runtime->private_data;
132 spin_lock(&prtd->lock);
133 if (prtd->state & ST_RUNNING && !s3c_dma_has_circular()) {
134 prtd->dma_loaded--;
138 spin_unlock(&prtd->lock);
145 struct s3c24xx_runtime_data *prtd = runtime->private_data;
160 if (prtd->params == NULL) {
162 prtd->params = dma;
164 pr_debug("params %p, client %p, channel %d\n", prtd->params,
165 prtd->params->client, prtd->params->channel);
167 ret = s3c2410_dma_request(prtd->params->channel,
168 prtd->params->client, NULL);
177 s3c2410_dma_setflags(prtd->params->channel,
181 s3c2410_dma_set_buffdone_fn(prtd->params->channel,
188 spin_lock_irq(&prtd->lock);
189 prtd->dma_loaded = 0;
190 prtd->dma_limit = runtime->hw.periods_min;
191 prtd->dma_period = params_period_bytes(params);
192 prtd->dma_start = runtime->dma_addr;
193 prtd->dma_pos = prtd->dma_start;
194 prtd->dma_end = prtd->dma_start + totbytes;
195 spin_unlock_irq(&prtd->lock);
202 struct s3c24xx_runtime_data *prtd = substream->runtime->private_data;
209 if (prtd->params) {
210 s3c2410_dma_free(prtd->params->channel, prtd->params->client);
211 prtd->params = NULL;
219 struct s3c24xx_runtime_data *prtd = substream->runtime->private_data;
224 if (!prtd->params)
230 s3c2410_dma_devconfig(prtd->params->channel,
232 prtd->params->dma_addr);
234 s3c2410_dma_devconfig(prtd->params->channel,
236 prtd->params->dma_addr);
239 s3c2410_dma_config(prtd->params->channel,
240 prtd->params->dma_size);
243 s3c2410_dma_ctrl(prtd->params->channel, S3C2410_DMAOP_FLUSH);
244 prtd->dma_loaded = 0;
245 prtd->dma_pos = prtd->dma_start;
255 struct s3c24xx_runtime_data *prtd = substream->runtime->private_data;
260 spin_lock(&prtd->lock);
266 prtd->state |= ST_RUNNING;
267 s3c2410_dma_ctrl(prtd->params->channel, S3C2410_DMAOP_START);
273 prtd->state &= ~ST_RUNNING;
274 s3c2410_dma_ctrl(prtd->params->channel, S3C2410_DMAOP_STOP);
282 spin_unlock(&prtd->lock);
291 struct s3c24xx_runtime_data *prtd = runtime->private_data;
297 spin_lock(&prtd->lock);
298 s3c2410_dma_getposition(prtd->params->channel, &src, &dst);
301 res = dst - prtd->dma_start;
303 res = src - prtd->dma_start;
305 spin_unlock(&prtd->lock);
326 struct s3c24xx_runtime_data *prtd;
333 prtd = kzalloc(sizeof(struct s3c24xx_runtime_data), GFP_KERNEL);
334 if (prtd == NULL)
337 spin_lock_init(&prtd->lock);
339 runtime->private_data = prtd;
346 struct s3c24xx_runtime_data *prtd = runtime->private_data;
350 if (!prtd)
351 pr_debug("s3c_dma_close called with prtd == NULL\n");
353 kfree(prtd);