On Sun, Apr 26, 2009 at 10:04 PM, Grant Likely <grant.lik...@secretlab.ca> wrote: > On Sun, Apr 26, 2009 at 1:53 PM, Jon Smirl <jonsm...@gmail.com> wrote: >> Rename the functions in the mpc5200 DMA file from i2s to dma to reflect the >> file they are in. >> >> Signed-off-by: Jon Smirl <jonsm...@gmail.com> > > Acked-by: Grant Likely <grant.lik...@secretlab.ca>
Okay, I've taken a second look now (as per my comment on 3/3), and yes, I'm still okay with the name changes because the header file scope is restricted. If this header was in include/linux/, then I'd say the prefix should be more specific. g. > > >> --- >> sound/soc/fsl/mpc5200_dma.c | 194 >> ++++++++++++++++++++------------------- >> sound/soc/fsl/mpc5200_dma.h | 26 +++-- >> sound/soc/fsl/mpc5200_psc_i2s.c | 160 ++++++++++++++++---------------- >> 3 files changed, 190 insertions(+), 190 deletions(-) >> >> diff --git a/sound/soc/fsl/mpc5200_dma.c b/sound/soc/fsl/mpc5200_dma.c >> index cccaff4..c82ef75 100644 >> --- a/sound/soc/fsl/mpc5200_dma.c >> +++ b/sound/soc/fsl/mpc5200_dma.c >> @@ -34,21 +34,21 @@ MODULE_LICENSE("GPL"); >> /* >> * Interrupt handlers >> */ >> -static irqreturn_t psc_i2s_status_irq(int irq, void *_psc_i2s) >> +static irqreturn_t psc_dma_status_irq(int irq, void *_psc_dma) >> { >> - struct psc_i2s *psc_i2s = _psc_i2s; >> - struct mpc52xx_psc __iomem *regs = psc_i2s->psc_regs; >> + struct psc_dma *psc_dma = _psc_dma; >> + struct mpc52xx_psc __iomem *regs = psc_dma->psc_regs; >> u16 isr; >> >> isr = in_be16(®s->mpc52xx_psc_isr); >> >> /* Playback underrun error */ >> - if (psc_i2s->playback.active && (isr & MPC52xx_PSC_IMR_TXEMP)) >> - psc_i2s->stats.underrun_count++; >> + if (psc_dma->playback.active && (isr & MPC52xx_PSC_IMR_TXEMP)) >> + psc_dma->stats.underrun_count++; >> >> /* Capture overrun error */ >> - if (psc_i2s->capture.active && (isr & MPC52xx_PSC_IMR_ORERR)) >> - psc_i2s->stats.overrun_count++; >> + if (psc_dma->capture.active && (isr & MPC52xx_PSC_IMR_ORERR)) >> + psc_dma->stats.overrun_count++; >> >> out_8(®s->command, 4 << 4); /* reset the error status */ >> >> @@ -56,7 +56,7 @@ static irqreturn_t psc_i2s_status_irq(int irq, void >> *_psc_i2s) >> } >> >> /** >> - * psc_i2s_bcom_enqueue_next_buffer - Enqueue another audio buffer >> + * psc_dma_bcom_enqueue_next_buffer - Enqueue another audio buffer >> * @s: pointer to stream private data structure >> * >> * Enqueues another audio period buffer into the bestcomm queue. >> @@ -65,7 +65,7 @@ static irqreturn_t psc_i2s_status_irq(int irq, void >> *_psc_i2s) >> * the queue. Otherwise the enqueue will fail and the audio ring buffer >> * will get out of sync >> */ >> -static void psc_i2s_bcom_enqueue_next_buffer(struct psc_i2s_stream *s) >> +static void psc_dma_bcom_enqueue_next_buffer(struct psc_dma_stream *s) >> { >> struct bcom_bd *bd; >> >> @@ -82,9 +82,9 @@ static void psc_i2s_bcom_enqueue_next_buffer(struct >> psc_i2s_stream *s) >> } >> >> /* Bestcomm DMA irq handler */ >> -static irqreturn_t psc_i2s_bcom_irq(int irq, void *_psc_i2s_stream) >> +static irqreturn_t psc_dma_bcom_irq(int irq, void *_psc_dma_stream) >> { >> - struct psc_i2s_stream *s = _psc_i2s_stream; >> + struct psc_dma_stream *s = _psc_dma_stream; >> >> /* For each finished period, dequeue the completed period buffer >> * and enqueue a new one in it's place. */ >> @@ -93,7 +93,7 @@ static irqreturn_t psc_i2s_bcom_irq(int irq, void >> *_psc_i2s_stream) >> s->period_current_pt += s->period_bytes; >> if (s->period_current_pt >= s->period_end) >> s->period_current_pt = s->period_start; >> - psc_i2s_bcom_enqueue_next_buffer(s); >> + psc_dma_bcom_enqueue_next_buffer(s); >> bcom_enable(s->bcom_task); >> } >> >> @@ -106,39 +106,39 @@ static irqreturn_t psc_i2s_bcom_irq(int irq, void >> *_psc_i2s_stream) >> } >> >> /** >> - * psc_i2s_startup: create a new substream >> + * psc_dma_startup: create a new substream >> * >> * This is the first function called when a stream is opened. >> * >> * If this is the first stream open, then grab the IRQ and program most of >> * the PSC registers. >> */ >> -int psc_i2s_startup(struct snd_pcm_substream *substream, >> +int psc_dma_startup(struct snd_pcm_substream *substream, >> struct snd_soc_dai *dai) >> { >> struct snd_soc_pcm_runtime *rtd = substream->private_data; >> - struct psc_i2s *psc_i2s = rtd->dai->cpu_dai->private_data; >> + struct psc_dma *psc_dma = rtd->dai->cpu_dai->private_data; >> int rc; >> >> - dev_dbg(psc_i2s->dev, "psc_i2s_startup(substream=%p)\n", substream); >> + dev_dbg(psc_dma->dev, "psc_dma_startup(substream=%p)\n", substream); >> >> - if (!psc_i2s->playback.active && >> - !psc_i2s->capture.active) { >> + if (!psc_dma->playback.active && >> + !psc_dma->capture.active) { >> /* Setup the IRQs */ >> - rc = request_irq(psc_i2s->irq, &psc_i2s_status_irq, >> IRQF_SHARED, >> - "psc-i2s-status", psc_i2s); >> - rc |= request_irq(psc_i2s->capture.irq, >> - &psc_i2s_bcom_irq, IRQF_SHARED, >> - "psc-i2s-capture", &psc_i2s->capture); >> - rc |= request_irq(psc_i2s->playback.irq, >> - &psc_i2s_bcom_irq, IRQF_SHARED, >> - "psc-i2s-playback", &psc_i2s->playback); >> + rc = request_irq(psc_dma->irq, &psc_dma_status_irq, >> IRQF_SHARED, >> + "psc-dma-status", psc_dma); >> + rc |= request_irq(psc_dma->capture.irq, >> + &psc_dma_bcom_irq, IRQF_SHARED, >> + "psc-dma-capture", &psc_dma->capture); >> + rc |= request_irq(psc_dma->playback.irq, >> + &psc_dma_bcom_irq, IRQF_SHARED, >> + "psc-dma-playback", &psc_dma->playback); >> if (rc) { >> - free_irq(psc_i2s->irq, psc_i2s); >> - free_irq(psc_i2s->capture.irq, >> - &psc_i2s->capture); >> - free_irq(psc_i2s->playback.irq, >> - &psc_i2s->playback); >> + free_irq(psc_dma->irq, psc_dma); >> + free_irq(psc_dma->capture.irq, >> + &psc_dma->capture); >> + free_irq(psc_dma->playback.irq, >> + &psc_dma->playback); >> return -ENODEV; >> } >> } >> @@ -146,7 +146,7 @@ int psc_i2s_startup(struct snd_pcm_substream *substream, >> return 0; >> } >> >> -int psc_i2s_hw_free(struct snd_pcm_substream *substream, >> +int psc_dma_hw_free(struct snd_pcm_substream *substream, >> struct snd_soc_dai *dai) >> { >> snd_pcm_set_runtime_buffer(substream, NULL); >> @@ -154,29 +154,29 @@ int psc_i2s_hw_free(struct snd_pcm_substream >> *substream, >> } >> >> /** >> - * psc_i2s_trigger: start and stop the DMA transfer. >> + * psc_dma_trigger: start and stop the DMA transfer. >> * >> * This function is called by ALSA to start, stop, pause, and resume the DMA >> * transfer of data. >> */ >> -int psc_i2s_trigger(struct snd_pcm_substream *substream, int cmd, >> +int psc_dma_trigger(struct snd_pcm_substream *substream, int cmd, >> struct snd_soc_dai *dai) >> { >> struct snd_soc_pcm_runtime *rtd = substream->private_data; >> - struct psc_i2s *psc_i2s = rtd->dai->cpu_dai->private_data; >> + struct psc_dma *psc_dma = rtd->dai->cpu_dai->private_data; >> struct snd_pcm_runtime *runtime = substream->runtime; >> - struct psc_i2s_stream *s; >> - struct mpc52xx_psc __iomem *regs = psc_i2s->psc_regs; >> + struct psc_dma_stream *s; >> + struct mpc52xx_psc __iomem *regs = psc_dma->psc_regs; >> u16 imr; >> u8 psc_cmd; >> unsigned long flags; >> >> if (substream->pstr->stream == SNDRV_PCM_STREAM_CAPTURE) >> - s = &psc_i2s->capture; >> + s = &psc_dma->capture; >> else >> - s = &psc_i2s->playback; >> + s = &psc_dma->playback; >> >> - dev_dbg(psc_i2s->dev, "psc_i2s_trigger(substream=%p, cmd=%i)" >> + dev_dbg(psc_dma->dev, "psc_dma_trigger(substream=%p, cmd=%i)" >> " stream_id=%i\n", >> substream, cmd, substream->pstr->stream); >> >> @@ -207,14 +207,14 @@ int psc_i2s_trigger(struct snd_pcm_substream >> *substream, int cmd, >> else >> bcom_gen_bd_tx_reset(s->bcom_task); >> while (!bcom_queue_full(s->bcom_task)) >> - psc_i2s_bcom_enqueue_next_buffer(s); >> + psc_dma_bcom_enqueue_next_buffer(s); >> bcom_enable(s->bcom_task); >> >> - /* Due to errata in the i2s mode; need to line up enabling >> + /* Due to errata in the dma mode; need to line up enabling >> * the transmitter with a transition on the frame sync >> * line */ >> >> - spin_lock_irqsave(&psc_i2s->lock, flags); >> + spin_lock_irqsave(&psc_dma->lock, flags); >> /* first make sure it is low */ >> while ((in_8(®s->ipcr_acr.ipcr) & 0x80) != 0) >> ; >> @@ -228,7 +228,7 @@ int psc_i2s_trigger(struct snd_pcm_substream *substream, >> int cmd, >> if (substream->pstr->stream == SNDRV_PCM_STREAM_PLAYBACK) >> psc_cmd |= MPC52xx_PSC_TX_ENABLE; >> out_8(®s->command, psc_cmd); >> - spin_unlock_irqrestore(&psc_i2s->lock, flags); >> + spin_unlock_irqrestore(&psc_dma->lock, flags); >> >> break; >> >> @@ -236,7 +236,7 @@ int psc_i2s_trigger(struct snd_pcm_substream *substream, >> int cmd, >> /* Turn off the PSC */ >> s->active = 0; >> if (substream->pstr->stream == SNDRV_PCM_STREAM_CAPTURE) { >> - if (!psc_i2s->playback.active) { >> + if (!psc_dma->playback.active) { >> out_8(®s->command, 2 << 4); /* reset rx */ >> out_8(®s->command, 3 << 4); /* reset tx */ >> out_8(®s->command, 4 << 4); /* reset err >> */ >> @@ -244,7 +244,7 @@ int psc_i2s_trigger(struct snd_pcm_substream *substream, >> int cmd, >> } else { >> out_8(®s->command, 3 << 4); /* reset tx */ >> out_8(®s->command, 4 << 4); /* reset err */ >> - if (!psc_i2s->capture.active) >> + if (!psc_dma->capture.active) >> out_8(®s->command, 2 << 4); /* reset rx */ >> } >> >> @@ -255,15 +255,15 @@ int psc_i2s_trigger(struct snd_pcm_substream >> *substream, int cmd, >> break; >> >> default: >> - dev_dbg(psc_i2s->dev, "invalid command\n"); >> + dev_dbg(psc_dma->dev, "invalid command\n"); >> return -EINVAL; >> } >> >> /* Update interrupt enable settings */ >> imr = 0; >> - if (psc_i2s->playback.active) >> + if (psc_dma->playback.active) >> imr |= MPC52xx_PSC_IMR_TXEMP; >> - if (psc_i2s->capture.active) >> + if (psc_dma->capture.active) >> imr |= MPC52xx_PSC_IMR_ORERR; >> out_be16(®s->isr_imr.imr, imr); >> >> @@ -271,36 +271,36 @@ int psc_i2s_trigger(struct snd_pcm_substream >> *substream, int cmd, >> } >> >> /** >> - * psc_i2s_shutdown: shutdown the data transfer on a stream >> + * psc_dma_shutdown: shutdown the data transfer on a stream >> * >> * Shutdown the PSC if there are no other substreams open. >> */ >> -void psc_i2s_shutdown(struct snd_pcm_substream *substream, >> +void psc_dma_shutdown(struct snd_pcm_substream *substream, >> struct snd_soc_dai *dai) >> { >> struct snd_soc_pcm_runtime *rtd = substream->private_data; >> - struct psc_i2s *psc_i2s = rtd->dai->cpu_dai->private_data; >> + struct psc_dma *psc_dma = rtd->dai->cpu_dai->private_data; >> >> - dev_dbg(psc_i2s->dev, "psc_i2s_shutdown(substream=%p)\n", substream); >> + dev_dbg(psc_dma->dev, "psc_dma_shutdown(substream=%p)\n", substream); >> >> /* >> * If this is the last active substream, disable the PSC and release >> * the IRQ. >> */ >> - if (!psc_i2s->playback.active && >> - !psc_i2s->capture.active) { >> + if (!psc_dma->playback.active && >> + !psc_dma->capture.active) { >> >> /* Disable all interrupts and reset the PSC */ >> - out_be16(&psc_i2s->psc_regs->isr_imr.imr, 0); >> - out_8(&psc_i2s->psc_regs->command, 3 << 4); /* reset tx */ >> - out_8(&psc_i2s->psc_regs->command, 2 << 4); /* reset rx */ >> - out_8(&psc_i2s->psc_regs->command, 1 << 4); /* reset mode */ >> - out_8(&psc_i2s->psc_regs->command, 4 << 4); /* reset error */ >> + out_be16(&psc_dma->psc_regs->isr_imr.imr, 0); >> + out_8(&psc_dma->psc_regs->command, 3 << 4); /* reset tx */ >> + out_8(&psc_dma->psc_regs->command, 2 << 4); /* reset rx */ >> + out_8(&psc_dma->psc_regs->command, 1 << 4); /* reset mode */ >> + out_8(&psc_dma->psc_regs->command, 4 << 4); /* reset error */ >> >> /* Release irqs */ >> - free_irq(psc_i2s->irq, psc_i2s); >> - free_irq(psc_i2s->capture.irq, &psc_i2s->capture); >> - free_irq(psc_i2s->playback.irq, &psc_i2s->playback); >> + free_irq(psc_dma->irq, psc_dma); >> + free_irq(psc_dma->capture.irq, &psc_dma->capture); >> + free_irq(psc_dma->playback.irq, &psc_dma->playback); >> } >> } >> >> @@ -312,7 +312,7 @@ void psc_i2s_shutdown(struct snd_pcm_substream >> *substream, >> * interaction with the attached codec >> */ >> >> -static const struct snd_pcm_hardware psc_i2s_pcm_hardware = { >> +static const struct snd_pcm_hardware psc_dma_pcm_hardware = { >> .info = SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID | >> SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_BLOCK_TRANSFER, >> .formats = SNDRV_PCM_FMTBIT_S8 | SNDRV_PCM_FMTBIT_S16_BE | >> @@ -329,80 +329,80 @@ static const struct snd_pcm_hardware >> psc_i2s_pcm_hardware = { >> .fifo_size = 0, >> }; >> >> -static int psc_i2s_pcm_open(struct snd_pcm_substream *substream) >> +static int psc_dma_pcm_open(struct snd_pcm_substream *substream) >> { >> struct snd_soc_pcm_runtime *rtd = substream->private_data; >> - struct psc_i2s *psc_i2s = rtd->dai->cpu_dai->private_data; >> - struct psc_i2s_stream *s; >> + struct psc_dma *psc_dma = rtd->dai->cpu_dai->private_data; >> + struct psc_dma_stream *s; >> >> - dev_dbg(psc_i2s->dev, "psc_i2s_pcm_open(substream=%p)\n", substream); >> + dev_dbg(psc_dma->dev, "psc_dma_pcm_open(substream=%p)\n", substream); >> >> if (substream->pstr->stream == SNDRV_PCM_STREAM_CAPTURE) >> - s = &psc_i2s->capture; >> + s = &psc_dma->capture; >> else >> - s = &psc_i2s->playback; >> + s = &psc_dma->playback; >> >> - snd_soc_set_runtime_hwparams(substream, &psc_i2s_pcm_hardware); >> + snd_soc_set_runtime_hwparams(substream, &psc_dma_pcm_hardware); >> >> s->stream = substream; >> return 0; >> } >> >> -static int psc_i2s_pcm_close(struct snd_pcm_substream *substream) >> +static int psc_dma_pcm_close(struct snd_pcm_substream *substream) >> { >> struct snd_soc_pcm_runtime *rtd = substream->private_data; >> - struct psc_i2s *psc_i2s = rtd->dai->cpu_dai->private_data; >> - struct psc_i2s_stream *s; >> + struct psc_dma *psc_dma = rtd->dai->cpu_dai->private_data; >> + struct psc_dma_stream *s; >> >> - dev_dbg(psc_i2s->dev, "psc_i2s_pcm_close(substream=%p)\n", >> substream); >> + dev_dbg(psc_dma->dev, "psc_dma_pcm_close(substream=%p)\n", >> substream); >> >> if (substream->pstr->stream == SNDRV_PCM_STREAM_CAPTURE) >> - s = &psc_i2s->capture; >> + s = &psc_dma->capture; >> else >> - s = &psc_i2s->playback; >> + s = &psc_dma->playback; >> >> s->stream = NULL; >> return 0; >> } >> >> static snd_pcm_uframes_t >> -psc_i2s_pcm_pointer(struct snd_pcm_substream *substream) >> +psc_dma_pcm_pointer(struct snd_pcm_substream *substream) >> { >> struct snd_soc_pcm_runtime *rtd = substream->private_data; >> - struct psc_i2s *psc_i2s = rtd->dai->cpu_dai->private_data; >> - struct psc_i2s_stream *s; >> + struct psc_dma *psc_dma = rtd->dai->cpu_dai->private_data; >> + struct psc_dma_stream *s; >> dma_addr_t count; >> >> if (substream->pstr->stream == SNDRV_PCM_STREAM_CAPTURE) >> - s = &psc_i2s->capture; >> + s = &psc_dma->capture; >> else >> - s = &psc_i2s->playback; >> + s = &psc_dma->playback; >> >> count = s->period_current_pt - s->period_start; >> >> return bytes_to_frames(substream->runtime, count); >> } >> >> -static struct snd_pcm_ops psc_i2s_pcm_ops = { >> - .open = psc_i2s_pcm_open, >> - .close = psc_i2s_pcm_close, >> +static struct snd_pcm_ops psc_dma_pcm_ops = { >> + .open = psc_dma_pcm_open, >> + .close = psc_dma_pcm_close, >> .ioctl = snd_pcm_lib_ioctl, >> - .pointer = psc_i2s_pcm_pointer, >> + .pointer = psc_dma_pcm_pointer, >> }; >> >> -static u64 psc_i2s_pcm_dmamask = 0xffffffff; >> -static int psc_i2s_pcm_new(struct snd_card *card, struct snd_soc_dai *dai, >> +static u64 psc_dma_pcm_dmamask = 0xffffffff; >> +static int psc_dma_pcm_new(struct snd_card *card, struct snd_soc_dai *dai, >> struct snd_pcm *pcm) >> { >> struct snd_soc_pcm_runtime *rtd = pcm->private_data; >> - size_t size = psc_i2s_pcm_hardware.buffer_bytes_max; >> + size_t size = psc_dma_pcm_hardware.buffer_bytes_max; >> int rc = 0; >> >> - dev_dbg(rtd->socdev->dev, "psc_i2s_pcm_new(card=%p, dai=%p, >> pcm=%p)\n", >> + dev_dbg(rtd->socdev->dev, "psc_dma_pcm_new(card=%p, dai=%p, >> pcm=%p)\n", >> card, dai, pcm); >> >> if (!card->dev->dma_mask) >> - card->dev->dma_mask = &psc_i2s_pcm_dmamask; >> + card->dev->dma_mask = &psc_dma_pcm_dmamask; >> if (!card->dev->coherent_dma_mask) >> card->dev->coherent_dma_mask = 0xffffffff; >> >> @@ -430,13 +430,13 @@ static int psc_i2s_pcm_new(struct snd_card *card, >> struct snd_soc_dai *dai, >> return -ENOMEM; >> } >> >> -static void psc_i2s_pcm_free(struct snd_pcm *pcm) >> +static void psc_dma_pcm_free(struct snd_pcm *pcm) >> { >> struct snd_soc_pcm_runtime *rtd = pcm->private_data; >> struct snd_pcm_substream *substream; >> int stream; >> >> - dev_dbg(rtd->socdev->dev, "psc_i2s_pcm_free(pcm=%p)\n", pcm); >> + dev_dbg(rtd->socdev->dev, "psc_dma_pcm_free(pcm=%p)\n", pcm); >> >> for (stream = 0; stream < 2; stream++) { >> substream = pcm->streams[stream].substream; >> @@ -448,10 +448,10 @@ static void psc_i2s_pcm_free(struct snd_pcm *pcm) >> } >> } >> >> -struct snd_soc_platform psc_i2s_pcm_soc_platform = { >> +struct snd_soc_platform psc_dma_pcm_soc_platform = { >> .name = "mpc5200-psc-audio", >> - .pcm_ops = &psc_i2s_pcm_ops, >> - .pcm_new = &psc_i2s_pcm_new, >> - .pcm_free = &psc_i2s_pcm_free, >> + .pcm_ops = &psc_dma_pcm_ops, >> + .pcm_new = &psc_dma_pcm_new, >> + .pcm_free = &psc_dma_pcm_free, >> }; >> >> diff --git a/sound/soc/fsl/mpc5200_dma.h b/sound/soc/fsl/mpc5200_dma.h >> index 9a19e8a..a33232c 100644 >> --- a/sound/soc/fsl/mpc5200_dma.h >> +++ b/sound/soc/fsl/mpc5200_dma.h >> @@ -6,9 +6,9 @@ >> #define __SOUND_SOC_FSL_MPC5200_DMA_H__ >> >> /** >> - * psc_i2s_stream - Data specific to a single stream (playback or capture) >> + * psc_dma_stream - Data specific to a single stream (playback or capture) >> * @active: flag indicating if the stream is active >> - * @psc_i2s: pointer back to parent psc_i2s data structure >> + * @psc_dma: pointer back to parent psc_dma data structure >> * @bcom_task: bestcomm task structure >> * @irq: irq number for bestcomm task >> * @period_start: physical address of start of DMA region >> @@ -16,9 +16,9 @@ >> * @period_next_pt: physical address of next DMA buffer to enqueue >> * @period_bytes: size of DMA period in bytes >> */ >> -struct psc_i2s_stream { >> +struct psc_dma_stream { >> int active; >> - struct psc_i2s *psc_i2s; >> + struct psc_dma *psc_dma; >> struct bcom_task *bcom_task; >> int irq; >> struct snd_pcm_substream *stream; >> @@ -30,7 +30,7 @@ struct psc_i2s_stream { >> }; >> >> /** >> - * psc_i2s - Private driver data >> + * psc_dma - Private driver data >> * @name: short name for this device ("PSC0", "PSC1", etc) >> * @psc_regs: pointer to the PSC's registers >> * @fifo_regs: pointer to the PSC's FIFO registers >> @@ -42,7 +42,7 @@ struct psc_i2s_stream { >> * @playback: Playback stream context data >> * @capture: Capture stream context data >> */ >> -struct psc_i2s { >> +struct psc_dma { >> char name[32]; >> struct mpc52xx_psc __iomem *psc_regs; >> struct mpc52xx_psc_fifo __iomem *fifo_regs; >> @@ -53,8 +53,8 @@ struct psc_i2s { >> u32 sicr; >> >> /* per-stream data */ >> - struct psc_i2s_stream playback; >> - struct psc_i2s_stream capture; >> + struct psc_dma_stream playback; >> + struct psc_dma_stream capture; >> >> /* Statistics */ >> struct { >> @@ -64,18 +64,18 @@ struct psc_i2s { >> }; >> >> >> -int psc_i2s_startup(struct snd_pcm_substream *substream, >> +int psc_dma_startup(struct snd_pcm_substream *substream, >> struct snd_soc_dai *dai); >> >> -int psc_i2s_hw_free(struct snd_pcm_substream *substream, >> +int psc_dma_hw_free(struct snd_pcm_substream *substream, >> struct snd_soc_dai *dai); >> >> -void psc_i2s_shutdown(struct snd_pcm_substream *substream, >> +void psc_dma_shutdown(struct snd_pcm_substream *substream, >> struct snd_soc_dai *dai); >> >> -int psc_i2s_trigger(struct snd_pcm_substream *substream, int cmd, >> +int psc_dma_trigger(struct snd_pcm_substream *substream, int cmd, >> struct snd_soc_dai *dai); >> >> -extern struct snd_soc_platform psc_i2s_pcm_soc_platform; >> +extern struct snd_soc_platform psc_dma_pcm_soc_platform; >> >> #endif /* __SOUND_SOC_FSL_MPC5200_DMA_H__ */ >> diff --git a/sound/soc/fsl/mpc5200_psc_i2s.c >> b/sound/soc/fsl/mpc5200_psc_i2s.c >> index 8974b53..12a7917 100644 >> --- a/sound/soc/fsl/mpc5200_psc_i2s.c >> +++ b/sound/soc/fsl/mpc5200_psc_i2s.c >> @@ -54,10 +54,10 @@ static int psc_i2s_hw_params(struct snd_pcm_substream >> *substream, >> struct snd_soc_dai *dai) >> { >> struct snd_soc_pcm_runtime *rtd = substream->private_data; >> - struct psc_i2s *psc_i2s = rtd->dai->cpu_dai->private_data; >> + struct psc_dma *psc_dma = rtd->dai->cpu_dai->private_data; >> u32 mode; >> >> - dev_dbg(psc_i2s->dev, "%s(substream=%p) p_size=%i p_bytes=%i" >> + dev_dbg(psc_dma->dev, "%s(substream=%p) p_size=%i p_bytes=%i" >> " periods=%i buffer_size=%i buffer_bytes=%i\n", >> __func__, substream, params_period_size(params), >> params_period_bytes(params), params_periods(params), >> @@ -77,10 +77,10 @@ static int psc_i2s_hw_params(struct snd_pcm_substream >> *substream, >> mode = MPC52xx_PSC_SICR_SIM_CODEC_32; >> break; >> default: >> - dev_dbg(psc_i2s->dev, "invalid format\n"); >> + dev_dbg(psc_dma->dev, "invalid format\n"); >> return -EINVAL; >> } >> - out_be32(&psc_i2s->psc_regs->sicr, psc_i2s->sicr | mode); >> + out_be32(&psc_dma->psc_regs->sicr, psc_dma->sicr | mode); >> >> snd_pcm_set_runtime_buffer(substream, &substream->dma_buffer); >> >> @@ -104,8 +104,8 @@ static int psc_i2s_hw_params(struct snd_pcm_substream >> *substream, >> static int psc_i2s_set_sysclk(struct snd_soc_dai *cpu_dai, >> int clk_id, unsigned int freq, int dir) >> { >> - struct psc_i2s *psc_i2s = cpu_dai->private_data; >> - dev_dbg(psc_i2s->dev, "psc_i2s_set_sysclk(cpu_dai=%p, dir=%i)\n", >> + struct psc_dma *psc_dma = cpu_dai->private_data; >> + dev_dbg(psc_dma->dev, "psc_i2s_set_sysclk(cpu_dai=%p, dir=%i)\n", >> cpu_dai, dir); >> return (dir == SND_SOC_CLOCK_IN) ? 0 : -EINVAL; >> } >> @@ -123,8 +123,8 @@ static int psc_i2s_set_sysclk(struct snd_soc_dai >> *cpu_dai, >> */ >> static int psc_i2s_set_fmt(struct snd_soc_dai *cpu_dai, unsigned int format) >> { >> - struct psc_i2s *psc_i2s = cpu_dai->private_data; >> - dev_dbg(psc_i2s->dev, "psc_i2s_set_fmt(cpu_dai=%p, format=%i)\n", >> + struct psc_dma *psc_dma = cpu_dai->private_data; >> + dev_dbg(psc_dma->dev, "psc_i2s_set_fmt(cpu_dai=%p, format=%i)\n", >> cpu_dai, format); >> return (format == SND_SOC_DAIFMT_I2S) ? 0 : -EINVAL; >> } >> @@ -140,11 +140,11 @@ static int psc_i2s_set_fmt(struct snd_soc_dai >> *cpu_dai, unsigned int format) >> * psc_i2s_dai_template: template CPU Digital Audio Interface >> */ >> static struct snd_soc_dai_ops psc_i2s_dai_ops = { >> - .startup = psc_i2s_startup, >> + .startup = psc_dma_startup, >> .hw_params = psc_i2s_hw_params, >> - .hw_free = psc_i2s_hw_free, >> - .shutdown = psc_i2s_shutdown, >> - .trigger = psc_i2s_trigger, >> + .hw_free = psc_dma_hw_free, >> + .shutdown = psc_dma_shutdown, >> + .trigger = psc_dma_trigger, >> .set_sysclk = psc_i2s_set_sysclk, >> .set_fmt = psc_i2s_set_fmt, >> }; >> @@ -172,24 +172,24 @@ static struct snd_soc_dai psc_i2s_dai_template = { >> static ssize_t psc_i2s_status_show(struct device *dev, >> struct device_attribute *attr, char *buf) >> { >> - struct psc_i2s *psc_i2s = dev_get_drvdata(dev); >> + struct psc_dma *psc_dma = dev_get_drvdata(dev); >> >> return sprintf(buf, "status=%.4x sicr=%.8x rfnum=%i rfstat=0x%.4x " >> "tfnum=%i tfstat=0x%.4x\n", >> - in_be16(&psc_i2s->psc_regs->sr_csr.status), >> - in_be32(&psc_i2s->psc_regs->sicr), >> - in_be16(&psc_i2s->fifo_regs->rfnum) & 0x1ff, >> - in_be16(&psc_i2s->fifo_regs->rfstat), >> - in_be16(&psc_i2s->fifo_regs->tfnum) & 0x1ff, >> - in_be16(&psc_i2s->fifo_regs->tfstat)); >> + in_be16(&psc_dma->psc_regs->sr_csr.status), >> + in_be32(&psc_dma->psc_regs->sicr), >> + in_be16(&psc_dma->fifo_regs->rfnum) & 0x1ff, >> + in_be16(&psc_dma->fifo_regs->rfstat), >> + in_be16(&psc_dma->fifo_regs->tfnum) & 0x1ff, >> + in_be16(&psc_dma->fifo_regs->tfstat)); >> } >> >> -static int *psc_i2s_get_stat_attr(struct psc_i2s *psc_i2s, const char *name) >> +static int *psc_i2s_get_stat_attr(struct psc_dma *psc_dma, const char *name) >> { >> if (strcmp(name, "playback_underrun") == 0) >> - return &psc_i2s->stats.underrun_count; >> + return &psc_dma->stats.underrun_count; >> if (strcmp(name, "capture_overrun") == 0) >> - return &psc_i2s->stats.overrun_count; >> + return &psc_dma->stats.overrun_count; >> >> return NULL; >> } >> @@ -197,10 +197,10 @@ static int *psc_i2s_get_stat_attr(struct psc_i2s >> *psc_i2s, const char *name) >> static ssize_t psc_i2s_stat_show(struct device *dev, >> struct device_attribute *attr, char *buf) >> { >> - struct psc_i2s *psc_i2s = dev_get_drvdata(dev); >> + struct psc_dma *psc_dma = dev_get_drvdata(dev); >> int *attrib; >> >> - attrib = psc_i2s_get_stat_attr(psc_i2s, attr->attr.name); >> + attrib = psc_i2s_get_stat_attr(psc_dma, attr->attr.name); >> if (!attrib) >> return 0; >> >> @@ -212,10 +212,10 @@ static ssize_t psc_i2s_stat_store(struct device *dev, >> const char *buf, >> size_t count) >> { >> - struct psc_i2s *psc_i2s = dev_get_drvdata(dev); >> + struct psc_dma *psc_dma = dev_get_drvdata(dev); >> int *attrib; >> >> - attrib = psc_i2s_get_stat_attr(psc_i2s, attr->attr.name); >> + attrib = psc_i2s_get_stat_attr(psc_dma, attr->attr.name); >> if (!attrib) >> return 0; >> >> @@ -238,7 +238,7 @@ static int __devinit psc_i2s_of_probe(struct of_device >> *op, >> const struct of_device_id *match) >> { >> phys_addr_t fifo; >> - struct psc_i2s *psc_i2s; >> + struct psc_dma *psc_dma; >> struct resource res; >> int size, psc_id, irq, rc; >> const __be32 *prop; >> @@ -265,56 +265,56 @@ static int __devinit psc_i2s_of_probe(struct of_device >> *op, >> } >> >> /* Allocate and initialize the driver private data */ >> - psc_i2s = kzalloc(sizeof *psc_i2s, GFP_KERNEL); >> - if (!psc_i2s) { >> + psc_dma = kzalloc(sizeof *psc_dma, GFP_KERNEL); >> + if (!psc_dma) { >> iounmap(regs); >> return -ENOMEM; >> } >> - spin_lock_init(&psc_i2s->lock); >> - psc_i2s->irq = irq; >> - psc_i2s->psc_regs = regs; >> - psc_i2s->fifo_regs = regs + sizeof *psc_i2s->psc_regs; >> - psc_i2s->dev = &op->dev; >> - psc_i2s->playback.psc_i2s = psc_i2s; >> - psc_i2s->capture.psc_i2s = psc_i2s; >> - snprintf(psc_i2s->name, sizeof psc_i2s->name, "PSC%u", psc_id+1); >> + spin_lock_init(&psc_dma->lock); >> + psc_dma->irq = irq; >> + psc_dma->psc_regs = regs; >> + psc_dma->fifo_regs = regs + sizeof *psc_dma->psc_regs; >> + psc_dma->dev = &op->dev; >> + psc_dma->playback.psc_dma = psc_dma; >> + psc_dma->capture.psc_dma = psc_dma; >> + snprintf(psc_dma->name, sizeof psc_dma->name, "PSC%u", psc_id+1); >> >> /* Fill out the CPU DAI structure */ >> - memcpy(&psc_i2s->dai, &psc_i2s_dai_template, sizeof psc_i2s->dai); >> - psc_i2s->dai.private_data = psc_i2s; >> - psc_i2s->dai.name = psc_i2s->name; >> - psc_i2s->dai.id = psc_id; >> + memcpy(&psc_dma->dai, &psc_i2s_dai_template, sizeof psc_dma->dai); >> + psc_dma->dai.private_data = psc_dma; >> + psc_dma->dai.name = psc_dma->name; >> + psc_dma->dai.id = psc_id; >> >> /* Find the address of the fifo data registers and setup the >> * DMA tasks */ >> fifo = res.start + offsetof(struct mpc52xx_psc, buffer.buffer_32); >> - psc_i2s->capture.bcom_task = >> + psc_dma->capture.bcom_task = >> bcom_psc_gen_bd_rx_init(psc_id, 10, fifo, 512); >> - psc_i2s->playback.bcom_task = >> + psc_dma->playback.bcom_task = >> bcom_psc_gen_bd_tx_init(psc_id, 10, fifo); >> - if (!psc_i2s->capture.bcom_task || >> - !psc_i2s->playback.bcom_task) { >> + if (!psc_dma->capture.bcom_task || >> + !psc_dma->playback.bcom_task) { >> dev_err(&op->dev, "Could not allocate bestcomm tasks\n"); >> iounmap(regs); >> - kfree(psc_i2s); >> + kfree(psc_dma); >> return -ENODEV; >> } >> >> /* Disable all interrupts and reset the PSC */ >> - out_be16(&psc_i2s->psc_regs->isr_imr.imr, 0); >> - out_8(&psc_i2s->psc_regs->command, 3 << 4); /* reset transmitter */ >> - out_8(&psc_i2s->psc_regs->command, 2 << 4); /* reset receiver */ >> - out_8(&psc_i2s->psc_regs->command, 1 << 4); /* reset mode */ >> - out_8(&psc_i2s->psc_regs->command, 4 << 4); /* reset error */ >> + out_be16(&psc_dma->psc_regs->isr_imr.imr, 0); >> + out_8(&psc_dma->psc_regs->command, 3 << 4); /* reset transmitter */ >> + out_8(&psc_dma->psc_regs->command, 2 << 4); /* reset receiver */ >> + out_8(&psc_dma->psc_regs->command, 1 << 4); /* reset mode */ >> + out_8(&psc_dma->psc_regs->command, 4 << 4); /* reset error */ >> >> /* Configure the serial interface mode; defaulting to CODEC8 mode */ >> - psc_i2s->sicr = MPC52xx_PSC_SICR_DTS1 | MPC52xx_PSC_SICR_I2S | >> + psc_dma->sicr = MPC52xx_PSC_SICR_DTS1 | MPC52xx_PSC_SICR_I2S | >> MPC52xx_PSC_SICR_CLKPOL; >> if (of_get_property(op->node, "fsl,cellslave", NULL)) >> - psc_i2s->sicr |= MPC52xx_PSC_SICR_CELLSLAVE | >> + psc_dma->sicr |= MPC52xx_PSC_SICR_CELLSLAVE | >> MPC52xx_PSC_SICR_GENCLK; >> - out_be32(&psc_i2s->psc_regs->sicr, >> - psc_i2s->sicr | MPC52xx_PSC_SICR_SIM_CODEC_8); >> + out_be32(&psc_dma->psc_regs->sicr, >> + psc_dma->sicr | MPC52xx_PSC_SICR_SIM_CODEC_8); >> >> /* Check for the codec handle. If it is not present then we >> * are done */ >> @@ -325,54 +325,54 @@ static int __devinit psc_i2s_of_probe(struct of_device >> *op, >> * First write: RxRdy (FIFO Alarm) generates rx FIFO irq >> * Second write: register Normal mode for non loopback >> */ >> - out_8(&psc_i2s->psc_regs->mode, 0); >> - out_8(&psc_i2s->psc_regs->mode, 0); >> + out_8(&psc_dma->psc_regs->mode, 0); >> + out_8(&psc_dma->psc_regs->mode, 0); >> >> /* Set the TX and RX fifo alarm thresholds */ >> - out_be16(&psc_i2s->fifo_regs->rfalarm, 0x100); >> - out_8(&psc_i2s->fifo_regs->rfcntl, 0x4); >> - out_be16(&psc_i2s->fifo_regs->tfalarm, 0x100); >> - out_8(&psc_i2s->fifo_regs->tfcntl, 0x7); >> + out_be16(&psc_dma->fifo_regs->rfalarm, 0x100); >> + out_8(&psc_dma->fifo_regs->rfcntl, 0x4); >> + out_be16(&psc_dma->fifo_regs->tfalarm, 0x100); >> + out_8(&psc_dma->fifo_regs->tfcntl, 0x7); >> >> /* Lookup the IRQ numbers */ >> - psc_i2s->playback.irq = >> - bcom_get_task_irq(psc_i2s->playback.bcom_task); >> - psc_i2s->capture.irq = >> - bcom_get_task_irq(psc_i2s->capture.bcom_task); >> + psc_dma->playback.irq = >> + bcom_get_task_irq(psc_dma->playback.bcom_task); >> + psc_dma->capture.irq = >> + bcom_get_task_irq(psc_dma->capture.bcom_task); >> >> /* Save what we've done so it can be found again later */ >> - dev_set_drvdata(&op->dev, psc_i2s); >> + dev_set_drvdata(&op->dev, psc_dma); >> >> /* Register the SYSFS files */ >> - rc = device_create_file(psc_i2s->dev, &dev_attr_status); >> - rc |= device_create_file(psc_i2s->dev, &dev_attr_capture_overrun); >> - rc |= device_create_file(psc_i2s->dev, &dev_attr_playback_underrun); >> + rc = device_create_file(psc_dma->dev, &dev_attr_status); >> + rc |= device_create_file(psc_dma->dev, &dev_attr_capture_overrun); >> + rc |= device_create_file(psc_dma->dev, &dev_attr_playback_underrun); >> if (rc) >> - dev_info(psc_i2s->dev, "error creating sysfs files\n"); >> + dev_info(psc_dma->dev, "error creating sysfs files\n"); >> >> - snd_soc_register_platform(&psc_i2s_pcm_soc_platform); >> + snd_soc_register_platform(&psc_dma_pcm_soc_platform); >> >> /* Tell the ASoC OF helpers about it */ >> - of_snd_soc_register_platform(&psc_i2s_pcm_soc_platform, op->node, >> - &psc_i2s->dai); >> + of_snd_soc_register_platform(&psc_dma_pcm_soc_platform, op->node, >> + &psc_dma->dai); >> >> return 0; >> } >> >> static int __devexit psc_i2s_of_remove(struct of_device *op) >> { >> - struct psc_i2s *psc_i2s = dev_get_drvdata(&op->dev); >> + struct psc_dma *psc_dma = dev_get_drvdata(&op->dev); >> >> dev_dbg(&op->dev, "psc_i2s_remove()\n"); >> >> - snd_soc_unregister_platform(&psc_i2s_pcm_soc_platform); >> + snd_soc_unregister_platform(&psc_dma_pcm_soc_platform); >> >> - bcom_gen_bd_rx_release(psc_i2s->capture.bcom_task); >> - bcom_gen_bd_tx_release(psc_i2s->playback.bcom_task); >> + bcom_gen_bd_rx_release(psc_dma->capture.bcom_task); >> + bcom_gen_bd_tx_release(psc_dma->playback.bcom_task); >> >> - iounmap(psc_i2s->psc_regs); >> - iounmap(psc_i2s->fifo_regs); >> - kfree(psc_i2s); >> + iounmap(psc_dma->psc_regs); >> + iounmap(psc_dma->fifo_regs); >> + kfree(psc_dma); >> dev_set_drvdata(&op->dev, NULL); >> >> return 0; >> >> > > > > -- > Grant Likely, B.Sc., P.Eng. > Secret Lab Technologies Ltd. > -- Grant Likely, B.Sc., P.Eng. Secret Lab Technologies Ltd. _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev