Commit 8f54061d authored by Robert Jarzmik's avatar Robert Jarzmik Committed by Mark Brown

ASoC: pxa: remove the dmaengine compat need

As the pxa architecture switched towards the dmaengine slave map, the
old compatibility mechanism to acquire the dma requestor line number and
priority are not needed anymore.

This patch simplifies the dma resource acquisition, using the more
generic function dma_request_slave_channel().
Signed-off-by: default avatarRobert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: default avatarDaniel Mack <daniel@zonque.org>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 4f2bd18b
...@@ -63,28 +63,18 @@ static struct snd_ac97_bus_ops pxa2xx_ac97_ops = { ...@@ -63,28 +63,18 @@ static struct snd_ac97_bus_ops pxa2xx_ac97_ops = {
.reset = pxa2xx_ac97_legacy_reset, .reset = pxa2xx_ac97_legacy_reset,
}; };
static struct pxad_param pxa2xx_ac97_pcm_out_req = {
.prio = PXAD_PRIO_LOWEST,
.drcmr = 12,
};
static struct snd_dmaengine_dai_dma_data pxa2xx_ac97_pcm_out = { static struct snd_dmaengine_dai_dma_data pxa2xx_ac97_pcm_out = {
.addr = __PREG(PCDR), .addr = __PREG(PCDR),
.addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES, .addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES,
.chan_name = "pcm_pcm_stereo_out",
.maxburst = 32, .maxburst = 32,
.filter_data = &pxa2xx_ac97_pcm_out_req,
};
static struct pxad_param pxa2xx_ac97_pcm_in_req = {
.prio = PXAD_PRIO_LOWEST,
.drcmr = 11,
}; };
static struct snd_dmaengine_dai_dma_data pxa2xx_ac97_pcm_in = { static struct snd_dmaengine_dai_dma_data pxa2xx_ac97_pcm_in = {
.addr = __PREG(PCDR), .addr = __PREG(PCDR),
.addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES, .addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES,
.chan_name = "pcm_pcm_stereo_in",
.maxburst = 32, .maxburst = 32,
.filter_data = &pxa2xx_ac97_pcm_in_req,
}; };
static struct snd_pcm *pxa2xx_ac97_pcm; static struct snd_pcm *pxa2xx_ac97_pcm;
......
...@@ -125,9 +125,9 @@ int __pxa2xx_pcm_open(struct snd_pcm_substream *substream) ...@@ -125,9 +125,9 @@ int __pxa2xx_pcm_open(struct snd_pcm_substream *substream)
if (ret < 0) if (ret < 0)
return ret; return ret;
return snd_dmaengine_pcm_open_request_chan(substream, return snd_dmaengine_pcm_open(
pxad_filter_fn, substream, dma_request_slave_channel(rtd->cpu_dai->dev,
dma_params->filter_data); dma_params->chan_name));
} }
EXPORT_SYMBOL(__pxa2xx_pcm_open); EXPORT_SYMBOL(__pxa2xx_pcm_open);
......
...@@ -68,61 +68,39 @@ static struct snd_ac97_bus_ops pxa2xx_ac97_ops = { ...@@ -68,61 +68,39 @@ static struct snd_ac97_bus_ops pxa2xx_ac97_ops = {
.reset = pxa2xx_ac97_cold_reset, .reset = pxa2xx_ac97_cold_reset,
}; };
static struct pxad_param pxa2xx_ac97_pcm_stereo_in_req = {
.prio = PXAD_PRIO_LOWEST,
.drcmr = 11,
};
static struct snd_dmaengine_dai_dma_data pxa2xx_ac97_pcm_stereo_in = { static struct snd_dmaengine_dai_dma_data pxa2xx_ac97_pcm_stereo_in = {
.addr = __PREG(PCDR), .addr = __PREG(PCDR),
.addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES, .addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES,
.chan_name = "pcm_pcm_stereo_in",
.maxburst = 32, .maxburst = 32,
.filter_data = &pxa2xx_ac97_pcm_stereo_in_req,
};
static struct pxad_param pxa2xx_ac97_pcm_stereo_out_req = {
.prio = PXAD_PRIO_LOWEST,
.drcmr = 12,
}; };
static struct snd_dmaengine_dai_dma_data pxa2xx_ac97_pcm_stereo_out = { static struct snd_dmaengine_dai_dma_data pxa2xx_ac97_pcm_stereo_out = {
.addr = __PREG(PCDR), .addr = __PREG(PCDR),
.addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES, .addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES,
.chan_name = "pcm_pcm_stereo_out",
.maxburst = 32, .maxburst = 32,
.filter_data = &pxa2xx_ac97_pcm_stereo_out_req,
}; };
static struct pxad_param pxa2xx_ac97_pcm_aux_mono_out_req = {
.prio = PXAD_PRIO_LOWEST,
.drcmr = 10,
};
static struct snd_dmaengine_dai_dma_data pxa2xx_ac97_pcm_aux_mono_out = { static struct snd_dmaengine_dai_dma_data pxa2xx_ac97_pcm_aux_mono_out = {
.addr = __PREG(MODR), .addr = __PREG(MODR),
.addr_width = DMA_SLAVE_BUSWIDTH_2_BYTES, .addr_width = DMA_SLAVE_BUSWIDTH_2_BYTES,
.chan_name = "pcm_aux_mono_out",
.maxburst = 16, .maxburst = 16,
.filter_data = &pxa2xx_ac97_pcm_aux_mono_out_req,
}; };
static struct pxad_param pxa2xx_ac97_pcm_aux_mono_in_req = {
.prio = PXAD_PRIO_LOWEST,
.drcmr = 9,
};
static struct snd_dmaengine_dai_dma_data pxa2xx_ac97_pcm_aux_mono_in = { static struct snd_dmaengine_dai_dma_data pxa2xx_ac97_pcm_aux_mono_in = {
.addr = __PREG(MODR), .addr = __PREG(MODR),
.addr_width = DMA_SLAVE_BUSWIDTH_2_BYTES, .addr_width = DMA_SLAVE_BUSWIDTH_2_BYTES,
.chan_name = "pcm_aux_mono_in",
.maxburst = 16, .maxburst = 16,
.filter_data = &pxa2xx_ac97_pcm_aux_mono_in_req,
}; };
static struct pxad_param pxa2xx_ac97_pcm_aux_mic_mono_req = {
.prio = PXAD_PRIO_LOWEST,
.drcmr = 8,
};
static struct snd_dmaengine_dai_dma_data pxa2xx_ac97_pcm_mic_mono_in = { static struct snd_dmaengine_dai_dma_data pxa2xx_ac97_pcm_mic_mono_in = {
.addr = __PREG(MCDR), .addr = __PREG(MCDR),
.addr_width = DMA_SLAVE_BUSWIDTH_2_BYTES, .addr_width = DMA_SLAVE_BUSWIDTH_2_BYTES,
.chan_name = "pcm_aux_mic_mono",
.maxburst = 16, .maxburst = 16,
.filter_data = &pxa2xx_ac97_pcm_aux_mic_mono_req,
}; };
static int pxa2xx_ac97_hifi_startup(struct snd_pcm_substream *substream, static int pxa2xx_ac97_hifi_startup(struct snd_pcm_substream *substream,
......
...@@ -82,20 +82,18 @@ static struct pxa_i2s_port pxa_i2s; ...@@ -82,20 +82,18 @@ static struct pxa_i2s_port pxa_i2s;
static struct clk *clk_i2s; static struct clk *clk_i2s;
static int clk_ena = 0; static int clk_ena = 0;
static unsigned long pxa2xx_i2s_pcm_stereo_out_req = 3;
static struct snd_dmaengine_dai_dma_data pxa2xx_i2s_pcm_stereo_out = { static struct snd_dmaengine_dai_dma_data pxa2xx_i2s_pcm_stereo_out = {
.addr = __PREG(SADR), .addr = __PREG(SADR),
.addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES, .addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES,
.chan_name = "tx",
.maxburst = 32, .maxburst = 32,
.filter_data = &pxa2xx_i2s_pcm_stereo_out_req,
}; };
static unsigned long pxa2xx_i2s_pcm_stereo_in_req = 2;
static struct snd_dmaengine_dai_dma_data pxa2xx_i2s_pcm_stereo_in = { static struct snd_dmaengine_dai_dma_data pxa2xx_i2s_pcm_stereo_in = {
.addr = __PREG(SADR), .addr = __PREG(SADR),
.addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES, .addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES,
.chan_name = "rx",
.maxburst = 32, .maxburst = 32,
.filter_data = &pxa2xx_i2s_pcm_stereo_in_req,
}; };
static int pxa2xx_i2s_startup(struct snd_pcm_substream *substream, static int pxa2xx_i2s_startup(struct snd_pcm_substream *substream,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment