• 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 defs:pcm

1 /* sound/soc/s3c24xx/s3c-pcm.c
24 #include <sound/pcm.h>
33 #include "s3c-pcm.h"
72 static void s3c_pcm_snd_txctrl(struct s3c_pcm_info *pcm, int on)
74 void __iomem *regs = pcm->regs;
94 if (!pcm->idleclk)
103 static void s3c_pcm_snd_rxctrl(struct s3c_pcm_info *pcm, int on)
105 void __iomem *regs = pcm->regs;
122 if (!pcm->idleclk)
135 struct s3c_pcm_info *pcm = to_info(rtd->dai->cpu_dai);
138 dev_dbg(pcm->dev, "Entered %s\n", __func__);
144 spin_lock_irqsave(&pcm->lock, flags);
147 s3c_pcm_snd_rxctrl(pcm, 1);
149 s3c_pcm_snd_txctrl(pcm, 1);
151 spin_unlock_irqrestore(&pcm->lock, flags);
157 spin_lock_irqsave(&pcm->lock, flags);
160 s3c_pcm_snd_rxctrl(pcm, 0);
162 s3c_pcm_snd_txctrl(pcm, 0);
164 spin_unlock_irqrestore(&pcm->lock, flags);
180 struct s3c_pcm_info *pcm = to_info(dai->cpu_dai);
182 void __iomem *regs = pcm->regs;
188 dev_dbg(pcm->dev, "Entered %s\n", __func__);
191 dma_data = pcm->dma_playback;
193 dma_data = pcm->dma_capture;
205 spin_lock_irqsave(&pcm->lock, flags);
210 clk = pcm->pclk;
212 clk = pcm->cclk;
215 sclk_div = clk_get_rate(clk) / pcm->sclk_per_fs /
224 sync_div = pcm->sclk_per_fs - 1;
233 spin_unlock_irqrestore(&pcm->lock, flags);
235 dev_dbg(pcm->dev, "PCMSOURCE_CLK-%lu SCLK=%ufs SCLK_DIV=%d SYNC_DIV=%d\n",
236 clk_get_rate(clk), pcm->sclk_per_fs,
245 struct s3c_pcm_info *pcm = to_info(cpu_dai);
246 void __iomem *regs = pcm->regs;
251 dev_dbg(pcm->dev, "Entered %s\n", __func__);
253 spin_lock_irqsave(&pcm->lock, flags);
262 dev_err(pcm->dev, "Unsupported clock inversion!\n");
272 dev_err(pcm->dev, "Unsupported master/slave format!\n");
279 pcm->idleclk = 1;
282 pcm->idleclk = 0;
285 dev_err(pcm->dev, "Invalid Clock gating request!\n");
300 dev_err(pcm->dev, "Unsupported data format!\n");
308 spin_unlock_irqrestore(&pcm->lock, flags);
316 struct s3c_pcm_info *pcm = to_info(cpu_dai);
320 pcm->sclk_per_fs = div;
333 struct s3c_pcm_info *pcm = to_info(cpu_dai);
334 void __iomem *regs = pcm->regs;
345 if (clk_get_rate(pcm->cclk) != freq)
346 clk_set_rate(pcm->cclk, freq);
371 .name = "samsung-pcm", \
397 struct s3c_pcm_info *pcm;
435 pcm = &s3c_pcm[pdev->id];
436 pcm->dev = &pdev->dev;
438 spin_lock_init(&pcm->lock);
444 pcm->sclk_per_fs = 128;
446 pcm->cclk = clk_get(&pdev->dev, "audio-bus");
447 if (IS_ERR(pcm->cclk)) {
449 ret = PTR_ERR(pcm->cclk);
452 clk_enable(pcm->cclk);
454 /* record our pcm structure for later use in the callbacks */
455 dai->private_data = pcm;
458 resource_size(mem_res), "samsung-pcm")) {
464 pcm->regs = ioremap(mem_res->start, 0x100);
465 if (pcm->regs == NULL) {
471 pcm->pclk = clk_get(&pdev->dev, "pcm");
472 if (IS_ERR(pcm->pclk)) {
477 clk_enable(pcm->pclk);
493 pcm->dma_capture = &s3c_pcm_stereo_in[pdev->id];
494 pcm->dma_playback = &s3c_pcm_stereo_out[pdev->id];
499 clk_disable(pcm->pclk);
500 clk_put(pcm->pclk);
502 iounmap(pcm->regs);
506 clk_disable(pcm->cclk);
507 clk_put(pcm->cclk);
514 struct s3c_pcm_info *pcm = &s3c_pcm[pdev->id];
517 iounmap(pcm->regs);
522 clk_disable(pcm->cclk);
523 clk_disable(pcm->pclk);
524 clk_put(pcm->pclk);
525 clk_put(pcm->cclk);
534 .name = "samsung-pcm",