diff options
-rw-r--r-- | sound/arm/pxa2xx-ac97.c | 14 | ||||
-rw-r--r-- | sound/arm/pxa2xx-pcm-lib.c | 6 | ||||
-rw-r--r-- | sound/soc/pxa/pxa2xx-ac97.c | 32 | ||||
-rw-r--r-- | sound/soc/pxa/pxa2xx-i2s.c | 6 |
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 | ||
66 | static struct pxad_param pxa2xx_ac97_pcm_out_req = { | ||
67 | .prio = PXAD_PRIO_LOWEST, | ||
68 | .drcmr = 12, | ||
69 | }; | ||
70 | |||
71 | static struct snd_dmaengine_dai_dma_data pxa2xx_ac97_pcm_out = { | 66 | static 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 | |||
78 | static struct pxad_param pxa2xx_ac97_pcm_in_req = { | ||
79 | .prio = PXAD_PRIO_LOWEST, | ||
80 | .drcmr = 11, | ||
81 | }; | 71 | }; |
82 | 72 | ||
83 | static struct snd_dmaengine_dai_dma_data pxa2xx_ac97_pcm_in = { | 73 | static 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 | ||
90 | static struct snd_pcm *pxa2xx_ac97_pcm; | 80 | static 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 | } |
132 | EXPORT_SYMBOL(__pxa2xx_pcm_open); | 132 | EXPORT_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 | ||
71 | static struct pxad_param pxa2xx_ac97_pcm_stereo_in_req = { | ||
72 | .prio = PXAD_PRIO_LOWEST, | ||
73 | .drcmr = 11, | ||
74 | }; | ||
75 | |||
76 | static struct snd_dmaengine_dai_dma_data pxa2xx_ac97_pcm_stereo_in = { | 71 | static 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 | |||
83 | static struct pxad_param pxa2xx_ac97_pcm_stereo_out_req = { | ||
84 | .prio = PXAD_PRIO_LOWEST, | ||
85 | .drcmr = 12, | ||
86 | }; | 76 | }; |
87 | 77 | ||
88 | static struct snd_dmaengine_dai_dma_data pxa2xx_ac97_pcm_stereo_out = { | 78 | static 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 | ||
95 | static struct pxad_param pxa2xx_ac97_pcm_aux_mono_out_req = { | ||
96 | .prio = PXAD_PRIO_LOWEST, | ||
97 | .drcmr = 10, | ||
98 | }; | ||
99 | static struct snd_dmaengine_dai_dma_data pxa2xx_ac97_pcm_aux_mono_out = { | 85 | static 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 | ||
106 | static struct pxad_param pxa2xx_ac97_pcm_aux_mono_in_req = { | ||
107 | .prio = PXAD_PRIO_LOWEST, | ||
108 | .drcmr = 9, | ||
109 | }; | ||
110 | static struct snd_dmaengine_dai_dma_data pxa2xx_ac97_pcm_aux_mono_in = { | 92 | static 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 | ||
117 | static struct pxad_param pxa2xx_ac97_pcm_aux_mic_mono_req = { | ||
118 | .prio = PXAD_PRIO_LOWEST, | ||
119 | .drcmr = 8, | ||
120 | }; | ||
121 | static struct snd_dmaengine_dai_dma_data pxa2xx_ac97_pcm_mic_mono_in = { | 99 | static 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 | ||
128 | static int pxa2xx_ac97_hifi_startup(struct snd_pcm_substream *substream, | 106 | static 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; | |||
82 | static struct clk *clk_i2s; | 82 | static struct clk *clk_i2s; |
83 | static int clk_ena = 0; | 83 | static int clk_ena = 0; |
84 | 84 | ||
85 | static unsigned long pxa2xx_i2s_pcm_stereo_out_req = 3; | ||
86 | static struct snd_dmaengine_dai_dma_data pxa2xx_i2s_pcm_stereo_out = { | 85 | static 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 | ||
93 | static unsigned long pxa2xx_i2s_pcm_stereo_in_req = 2; | ||
94 | static struct snd_dmaengine_dai_dma_data pxa2xx_i2s_pcm_stereo_in = { | 92 | static 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 | ||
101 | static int pxa2xx_i2s_startup(struct snd_pcm_substream *substream, | 99 | static int pxa2xx_i2s_startup(struct snd_pcm_substream *substream, |