diff options
Diffstat (limited to 'sound/soc/samsung/dma.c')
-rw-r--r-- | sound/soc/samsung/dma.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/sound/soc/samsung/dma.c b/sound/soc/samsung/dma.c index ddc6cde14e2a..f3ebc38c10fe 100644 --- a/sound/soc/samsung/dma.c +++ b/sound/soc/samsung/dma.c | |||
@@ -74,7 +74,7 @@ static void dma_enqueue(struct snd_pcm_substream *substream) | |||
74 | struct runtime_data *prtd = substream->runtime->private_data; | 74 | struct runtime_data *prtd = substream->runtime->private_data; |
75 | dma_addr_t pos = prtd->dma_pos; | 75 | dma_addr_t pos = prtd->dma_pos; |
76 | unsigned int limit; | 76 | unsigned int limit; |
77 | struct samsung_dma_prep_info dma_info; | 77 | struct samsung_dma_prep dma_info; |
78 | 78 | ||
79 | pr_debug("Entered %s\n", __func__); | 79 | pr_debug("Entered %s\n", __func__); |
80 | 80 | ||
@@ -146,7 +146,8 @@ static int dma_hw_params(struct snd_pcm_substream *substream, | |||
146 | unsigned long totbytes = params_buffer_bytes(params); | 146 | unsigned long totbytes = params_buffer_bytes(params); |
147 | struct s3c_dma_params *dma = | 147 | struct s3c_dma_params *dma = |
148 | snd_soc_dai_get_dma_data(rtd->cpu_dai, substream); | 148 | snd_soc_dai_get_dma_data(rtd->cpu_dai, substream); |
149 | struct samsung_dma_info dma_info; | 149 | struct samsung_dma_req req; |
150 | struct samsung_dma_config config; | ||
150 | 151 | ||
151 | pr_debug("Entered %s\n", __func__); | 152 | pr_debug("Entered %s\n", __func__); |
152 | 153 | ||
@@ -166,16 +167,17 @@ static int dma_hw_params(struct snd_pcm_substream *substream, | |||
166 | 167 | ||
167 | prtd->params->ops = samsung_dma_get_ops(); | 168 | prtd->params->ops = samsung_dma_get_ops(); |
168 | 169 | ||
169 | dma_info.cap = (samsung_dma_has_circular() ? | 170 | req.cap = (samsung_dma_has_circular() ? |
170 | DMA_CYCLIC : DMA_SLAVE); | 171 | DMA_CYCLIC : DMA_SLAVE); |
171 | dma_info.client = prtd->params->client; | 172 | req.client = prtd->params->client; |
172 | dma_info.direction = | 173 | config.direction = |
173 | (substream->stream == SNDRV_PCM_STREAM_PLAYBACK | 174 | (substream->stream == SNDRV_PCM_STREAM_PLAYBACK |
174 | ? DMA_MEM_TO_DEV : DMA_DEV_TO_MEM); | 175 | ? DMA_MEM_TO_DEV : DMA_DEV_TO_MEM); |
175 | dma_info.width = prtd->params->dma_size; | 176 | config.width = prtd->params->dma_size; |
176 | dma_info.fifo = prtd->params->dma_addr; | 177 | config.fifo = prtd->params->dma_addr; |
177 | prtd->params->ch = prtd->params->ops->request( | 178 | prtd->params->ch = prtd->params->ops->request( |
178 | prtd->params->channel, &dma_info); | 179 | prtd->params->channel, &req); |
180 | prtd->params->ops->config(prtd->params->ch, &config); | ||
179 | } | 181 | } |
180 | 182 | ||
181 | snd_pcm_set_runtime_buffer(substream, &substream->dma_buffer); | 183 | snd_pcm_set_runtime_buffer(substream, &substream->dma_buffer); |