summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobert Jarzmik <robert.jarzmik@free.fr>2018-06-28 16:08:37 -0400
committerMark Brown <broonie@kernel.org>2018-06-29 07:04:28 -0400
commit8f54061d001ad2da24dba89fc48adbbf4c85222b (patch)
treee25b8fabb86df714f9b13ecd9b6948af877589b3
parent4f2bd18b191a10660782f2f1ccc989b000b2be63 (diff)
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: Robert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: Daniel Mack <daniel@zonque.org> Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r--sound/arm/pxa2xx-ac97.c14
-rw-r--r--sound/arm/pxa2xx-pcm-lib.c6
-rw-r--r--sound/soc/pxa/pxa2xx-ac97.c32
-rw-r--r--sound/soc/pxa/pxa2xx-i2s.c6
4 files changed, 12 insertions, 46 deletions
diff --git a/sound/arm/pxa2xx-ac97.c b/sound/arm/pxa2xx-ac97.c
index 4bc244c40f80..236a63cdaf9f 100644
--- a/sound/arm/pxa2xx-ac97.c
+++ b/sound/arm/pxa2xx-ac97.c
@@ -63,28 +63,18 @@ static struct snd_ac97_bus_ops pxa2xx_ac97_ops = {
63 .reset = pxa2xx_ac97_legacy_reset, 63 .reset = pxa2xx_ac97_legacy_reset,
64}; 64};
65 65
66static struct pxad_param pxa2xx_ac97_pcm_out_req = {
67 .prio = PXAD_PRIO_LOWEST,
68 .drcmr = 12,
69};
70
71static struct snd_dmaengine_dai_dma_data pxa2xx_ac97_pcm_out = { 66static struct snd_dmaengine_dai_dma_data pxa2xx_ac97_pcm_out = {
72 .addr = __PREG(PCDR), 67 .addr = __PREG(PCDR),
73 .addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES, 68 .addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES,
69 .chan_name = "pcm_pcm_stereo_out",
74 .maxburst = 32, 70 .maxburst = 32,
75 .filter_data = &pxa2xx_ac97_pcm_out_req,
76};
77
78static struct pxad_param pxa2xx_ac97_pcm_in_req = {
79 .prio = PXAD_PRIO_LOWEST,
80 .drcmr = 11,
81}; 71};
82 72
83static struct snd_dmaengine_dai_dma_data pxa2xx_ac97_pcm_in = { 73static struct snd_dmaengine_dai_dma_data pxa2xx_ac97_pcm_in = {
84 .addr = __PREG(PCDR), 74 .addr = __PREG(PCDR),
85 .addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES, 75 .addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES,
76 .chan_name = "pcm_pcm_stereo_in",
86 .maxburst = 32, 77 .maxburst = 32,
87 .filter_data = &pxa2xx_ac97_pcm_in_req,
88}; 78};
89 79
90static struct snd_pcm *pxa2xx_ac97_pcm; 80static struct snd_pcm *pxa2xx_ac97_pcm;
diff --git a/sound/arm/pxa2xx-pcm-lib.c b/sound/arm/pxa2xx-pcm-lib.c
index e8da3b8ee721..dcbe7ecc1835 100644
--- a/sound/arm/pxa2xx-pcm-lib.c
+++ b/sound/arm/pxa2xx-pcm-lib.c
@@ -125,9 +125,9 @@ int __pxa2xx_pcm_open(struct snd_pcm_substream *substream)
125 if (ret < 0) 125 if (ret < 0)
126 return ret; 126 return ret;
127 127
128 return snd_dmaengine_pcm_open_request_chan(substream, 128 return snd_dmaengine_pcm_open(
129 pxad_filter_fn, 129 substream, dma_request_slave_channel(rtd->cpu_dai->dev,
130 dma_params->filter_data); 130 dma_params->chan_name));
131} 131}
132EXPORT_SYMBOL(__pxa2xx_pcm_open); 132EXPORT_SYMBOL(__pxa2xx_pcm_open);
133 133
diff --git a/sound/soc/pxa/pxa2xx-ac97.c b/sound/soc/pxa/pxa2xx-ac97.c
index 5738a0abcd6a..c52b33802bf2 100644
--- a/sound/soc/pxa/pxa2xx-ac97.c
+++ b/sound/soc/pxa/pxa2xx-ac97.c
@@ -68,61 +68,39 @@ static struct snd_ac97_bus_ops pxa2xx_ac97_ops = {
68 .reset = pxa2xx_ac97_cold_reset, 68 .reset = pxa2xx_ac97_cold_reset,
69}; 69};
70 70
71static struct pxad_param pxa2xx_ac97_pcm_stereo_in_req = {
72 .prio = PXAD_PRIO_LOWEST,
73 .drcmr = 11,
74};
75
76static struct snd_dmaengine_dai_dma_data pxa2xx_ac97_pcm_stereo_in = { 71static struct snd_dmaengine_dai_dma_data pxa2xx_ac97_pcm_stereo_in = {
77 .addr = __PREG(PCDR), 72 .addr = __PREG(PCDR),
78 .addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES, 73 .addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES,
74 .chan_name = "pcm_pcm_stereo_in",
79 .maxburst = 32, 75 .maxburst = 32,
80 .filter_data = &pxa2xx_ac97_pcm_stereo_in_req,
81};
82
83static struct pxad_param pxa2xx_ac97_pcm_stereo_out_req = {
84 .prio = PXAD_PRIO_LOWEST,
85 .drcmr = 12,
86}; 76};
87 77
88static struct snd_dmaengine_dai_dma_data pxa2xx_ac97_pcm_stereo_out = { 78static struct snd_dmaengine_dai_dma_data pxa2xx_ac97_pcm_stereo_out = {
89 .addr = __PREG(PCDR), 79 .addr = __PREG(PCDR),
90 .addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES, 80 .addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES,
81 .chan_name = "pcm_pcm_stereo_out",
91 .maxburst = 32, 82 .maxburst = 32,
92 .filter_data = &pxa2xx_ac97_pcm_stereo_out_req,
93}; 83};
94 84
95static struct pxad_param pxa2xx_ac97_pcm_aux_mono_out_req = {
96 .prio = PXAD_PRIO_LOWEST,
97 .drcmr = 10,
98};
99static struct snd_dmaengine_dai_dma_data pxa2xx_ac97_pcm_aux_mono_out = { 85static struct snd_dmaengine_dai_dma_data pxa2xx_ac97_pcm_aux_mono_out = {
100 .addr = __PREG(MODR), 86 .addr = __PREG(MODR),
101 .addr_width = DMA_SLAVE_BUSWIDTH_2_BYTES, 87 .addr_width = DMA_SLAVE_BUSWIDTH_2_BYTES,
88 .chan_name = "pcm_aux_mono_out",
102 .maxburst = 16, 89 .maxburst = 16,
103 .filter_data = &pxa2xx_ac97_pcm_aux_mono_out_req,
104}; 90};
105 91
106static struct pxad_param pxa2xx_ac97_pcm_aux_mono_in_req = {
107 .prio = PXAD_PRIO_LOWEST,
108 .drcmr = 9,
109};
110static struct snd_dmaengine_dai_dma_data pxa2xx_ac97_pcm_aux_mono_in = { 92static struct snd_dmaengine_dai_dma_data pxa2xx_ac97_pcm_aux_mono_in = {
111 .addr = __PREG(MODR), 93 .addr = __PREG(MODR),
112 .addr_width = DMA_SLAVE_BUSWIDTH_2_BYTES, 94 .addr_width = DMA_SLAVE_BUSWIDTH_2_BYTES,
95 .chan_name = "pcm_aux_mono_in",
113 .maxburst = 16, 96 .maxburst = 16,
114 .filter_data = &pxa2xx_ac97_pcm_aux_mono_in_req,
115}; 97};
116 98
117static struct pxad_param pxa2xx_ac97_pcm_aux_mic_mono_req = {
118 .prio = PXAD_PRIO_LOWEST,
119 .drcmr = 8,
120};
121static struct snd_dmaengine_dai_dma_data pxa2xx_ac97_pcm_mic_mono_in = { 99static struct snd_dmaengine_dai_dma_data pxa2xx_ac97_pcm_mic_mono_in = {
122 .addr = __PREG(MCDR), 100 .addr = __PREG(MCDR),
123 .addr_width = DMA_SLAVE_BUSWIDTH_2_BYTES, 101 .addr_width = DMA_SLAVE_BUSWIDTH_2_BYTES,
102 .chan_name = "pcm_aux_mic_mono",
124 .maxburst = 16, 103 .maxburst = 16,
125 .filter_data = &pxa2xx_ac97_pcm_aux_mic_mono_req,
126}; 104};
127 105
128static int pxa2xx_ac97_hifi_startup(struct snd_pcm_substream *substream, 106static int pxa2xx_ac97_hifi_startup(struct snd_pcm_substream *substream,
diff --git a/sound/soc/pxa/pxa2xx-i2s.c b/sound/soc/pxa/pxa2xx-i2s.c
index 3fb60baf6eab..e7184de0de04 100644
--- a/sound/soc/pxa/pxa2xx-i2s.c
+++ b/sound/soc/pxa/pxa2xx-i2s.c
@@ -82,20 +82,18 @@ static struct pxa_i2s_port pxa_i2s;
82static struct clk *clk_i2s; 82static struct clk *clk_i2s;
83static int clk_ena = 0; 83static int clk_ena = 0;
84 84
85static unsigned long pxa2xx_i2s_pcm_stereo_out_req = 3;
86static struct snd_dmaengine_dai_dma_data pxa2xx_i2s_pcm_stereo_out = { 85static struct snd_dmaengine_dai_dma_data pxa2xx_i2s_pcm_stereo_out = {
87 .addr = __PREG(SADR), 86 .addr = __PREG(SADR),
88 .addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES, 87 .addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES,
88 .chan_name = "tx",
89 .maxburst = 32, 89 .maxburst = 32,
90 .filter_data = &pxa2xx_i2s_pcm_stereo_out_req,
91}; 90};
92 91
93static unsigned long pxa2xx_i2s_pcm_stereo_in_req = 2;
94static struct snd_dmaengine_dai_dma_data pxa2xx_i2s_pcm_stereo_in = { 92static struct snd_dmaengine_dai_dma_data pxa2xx_i2s_pcm_stereo_in = {
95 .addr = __PREG(SADR), 93 .addr = __PREG(SADR),
96 .addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES, 94 .addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES,
95 .chan_name = "rx",
97 .maxburst = 32, 96 .maxburst = 32,
98 .filter_data = &pxa2xx_i2s_pcm_stereo_in_req,
99}; 97};
100 98
101static int pxa2xx_i2s_startup(struct snd_pcm_substream *substream, 99static int pxa2xx_i2s_startup(struct snd_pcm_substream *substream,