summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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,