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

Lines Matching refs:prtd

147 	struct davinci_runtime_data *prtd = substream->runtime->private_data;
149 int link = prtd->asp_link[0];
162 dma_offset = prtd->period * period_size;
164 fifo_level = prtd->params->fifo_level;
169 data_type = prtd->params->data_type;
176 dst = prtd->params->dma_addr;
182 src = prtd->params->dma_addr;
190 acnt = prtd->params->acnt;
203 prtd->period++;
204 if (unlikely(prtd->period >= runtime->periods))
205 prtd->period = 0;
211 struct davinci_runtime_data *prtd = substream->runtime->private_data;
213 print_buf_info(prtd->ram_channel, "i ram_channel");
220 if (prtd->ram_channel < 0) {
222 spin_lock(&prtd->lock);
224 spin_unlock(&prtd->lock);
269 struct davinci_runtime_data *prtd = runtime->private_data;
272 struct davinci_pcm_dma_params *params = prtd->params;
277 int link = prtd->asp_link[1];
278 unsigned int fifo_level = prtd->params->fifo_level;
290 link = prtd->asp_link[0];
292 link = prtd->asp_link[1];
295 link = prtd->ram_link;
303 link = prtd->asp_link[0];
305 link = prtd->asp_link[1];
308 link = prtd->ram_link;
314 edma_set_transfer_params(prtd->asp_link[0], acnt, count,
316 edma_set_transfer_params(prtd->asp_link[1], acnt, count,
320 edma_set_transfer_params(prtd->asp_link[0], acnt, fifo_level,
322 edma_set_transfer_params(prtd->asp_link[1], acnt, fifo_level,
326 link = prtd->ram_link;
333 edma_read_slot(prtd->asp_link[0], &prtd->asp_params);
334 edma_read_slot(prtd->ram_link, &prtd->ram_params);
338 prtd->ram_params.a_b_cnt = (1 << 16) | (ping_size << 1);
340 prtd->ram_params.src_dst_bidx = (ping_size << 1);
342 prtd->ram_params.src_dst_cidx = (ping_size << 1);
343 prtd->ram_params.ccnt = 1;
346 edma_read_slot(prtd->ram_link, &p_ram);
349 edma_write_slot(prtd->ram_link2, &p_ram);
355 prtd->ram_params.link_bcntrld =
356 EDMA_CHAN_SLOT(prtd->ram_link2) << 5;
373 struct davinci_runtime_data *prtd,
379 struct davinci_pcm_dma_params *params = prtd->params;
382 link = prtd->ram_channel = edma_alloc_channel(EDMA_CHANNEL_ANY,
384 prtd->params->ram_chan_q);
389 link = prtd->ram_link = edma_alloc_slot(
390 EDMA_CTLR(prtd->ram_channel), EDMA_SLOT_ANY);
394 link = prtd->asp_link[1] = edma_alloc_slot(
395 EDMA_CTLR(prtd->asp_channel), EDMA_SLOT_ANY);
399 prtd->ram_link2 = -1;
401 link = prtd->ram_link2 = edma_alloc_slot(
402 EDMA_CTLR(prtd->ram_channel), EDMA_SLOT_ANY);
407 edma_link(prtd->asp_link[0], prtd->asp_link[1]);
408 edma_link(prtd->asp_link[1], prtd->asp_link[0]);
410 edma_link(prtd->ram_link, prtd->ram_link);
420 link = prtd->asp_link[0];
426 edma_read_slot(link, &prtd->asp_params);
427 prtd->asp_params.opt &= ~(TCCMODE | EDMA_TCC(0x3f) | TCINTEN);
428 prtd->asp_params.opt |= TCCHEN | EDMA_TCC(prtd->ram_channel & 0x3f);
429 edma_write_slot(link, &prtd->asp_params);
432 link = prtd->asp_link[1];
438 edma_read_slot(link, &prtd->asp_params);
439 prtd->asp_params.opt &= ~(TCCMODE | EDMA_TCC(0x3f));
441 prtd->asp_params.opt |= TCINTEN | TCCHEN |
442 EDMA_TCC(EDMA_CHAN_SLOT(prtd->ram_channel));
443 edma_write_slot(link, &prtd->asp_params);
446 link = prtd->ram_link;
451 prtd->ram_channel, prtd->ram_link, prtd->ram_link2,
452 prtd->asp_channel, prtd->asp_link[0],
453 prtd->asp_link[1]);
456 edma_free_channel(prtd->asp_link[1]);
457 prtd->asp_link[1] = -1;
459 edma_free_channel(prtd->ram_link);
460 prtd->ram_link = -1;
462 edma_free_channel(prtd->ram_channel);
463 prtd->ram_channel = -1;
471 struct davinci_runtime_data *prtd = substream->runtime->private_data;
472 struct davinci_pcm_dma_params *params = prtd->params;
479 link = prtd->asp_channel = edma_alloc_channel(params->channel,
481 prtd->params->asp_chan_q);
486 link = prtd->asp_link[0] = edma_alloc_slot(
487 EDMA_CTLR(prtd->asp_channel), EDMA_SLOT_ANY);
493 if (request_ping_pong(substream, prtd, iram_dma) == 0)
508 edma_read_slot(link, &prtd->asp_params);
509 prtd->asp_params.opt |= TCINTEN |
510 EDMA_TCC(EDMA_CHAN_SLOT(prtd->asp_channel));
511 prtd->asp_params.link_bcntrld = EDMA_CHAN_SLOT(link) << 5;
512 edma_write_slot(link, &prtd->asp_params);
515 edma_free_channel(prtd->asp_channel);
516 prtd->asp_channel = -1;
523 struct davinci_runtime_data *prtd = substream->runtime->private_data;
526 spin_lock(&prtd->lock);
532 edma_resume(prtd->asp_channel);
537 edma_pause(prtd->asp_channel);
544 spin_unlock(&prtd->lock);
551 struct davinci_runtime_data *prtd = substream->runtime->private_data;
553 if (prtd->ram_channel >= 0) {
558 edma_write_slot(prtd->ram_channel, &prtd->ram_params);
559 edma_write_slot(prtd->asp_channel, &prtd->asp_params);
561 print_buf_info(prtd->ram_channel, "ram_channel");
562 print_buf_info(prtd->ram_link, "ram_link");
563 print_buf_info(prtd->ram_link2, "ram_link2");
564 print_buf_info(prtd->asp_channel, "asp_channel");
565 print_buf_info(prtd->asp_link[0], "asp_link[0]");
566 print_buf_info(prtd->asp_link[1], "asp_link[1]");
570 edma_start(prtd->ram_channel);
572 edma_start(prtd->asp_channel);
575 prtd->period = 0;
579 edma_read_slot(prtd->asp_link[0], &prtd->asp_params);
580 edma_write_slot(prtd->asp_channel, &prtd->asp_params);
582 edma_start(prtd->asp_channel);
591 struct davinci_runtime_data *prtd = runtime->private_data;
596 spin_lock(&prtd->lock);
597 if (prtd->ram_channel >= 0) {
607 edma_get_position(prtd->ram_channel,
609 edma_get_position(prtd->asp_channel,
611 asp_count = asp_src - prtd->asp_params.src;
612 ram_count = ram_src - prtd->ram_params.src;
625 edma_get_position(prtd->ram_channel,
627 ram_count = ram_dst - prtd->ram_params.dst;
631 edma_get_position(prtd->asp_channel, &asp_src, &asp_dst);
637 spin_unlock(&prtd->lock);
649 struct davinci_runtime_data *prtd;
671 prtd = kzalloc(sizeof(struct davinci_runtime_data), GFP_KERNEL);
672 if (prtd == NULL)
675 spin_lock_init(&prtd->lock);
676 prtd->params = params;
677 prtd->asp_channel = -1;
678 prtd->asp_link[0] = prtd->asp_link[1] = -1;
679 prtd->ram_channel = -1;
680 prtd->ram_link = -1;
681 prtd->ram_link2 = -1;
683 runtime->private_data = prtd;
688 kfree(prtd);
697 struct davinci_runtime_data *prtd = runtime->private_data;
699 if (prtd->ram_channel >= 0)
700 edma_stop(prtd->ram_channel);
701 if (prtd->asp_channel >= 0)
702 edma_stop(prtd->asp_channel);
703 if (prtd->asp_link[0] >= 0)
704 edma_unlink(prtd->asp_link[0]);
705 if (prtd->asp_link[1] >= 0)
706 edma_unlink(prtd->asp_link[1]);
707 if (prtd->ram_link >= 0)
708 edma_unlink(prtd->ram_link);
710 if (prtd->asp_link[0] >= 0)
711 edma_free_slot(prtd->asp_link[0]);
712 if (prtd->asp_link[1] >= 0)
713 edma_free_slot(prtd->asp_link[1]);
714 if (prtd->asp_channel >= 0)
715 edma_free_channel(prtd->asp_channel);
716 if (prtd->ram_link >= 0)
717 edma_free_slot(prtd->ram_link);
718 if (prtd->ram_link2 >= 0)
719 edma_free_slot(prtd->ram_link2);
720 if (prtd->ram_channel >= 0)
721 edma_free_channel(prtd->ram_channel);
723 kfree(prtd);