diff options
-rw-r--r-- | sound/soc/sh/rcar/gen.c | 33 |
1 files changed, 21 insertions, 12 deletions
diff --git a/sound/soc/sh/rcar/gen.c b/sound/soc/sh/rcar/gen.c index 1dd2b7d38c2c..0280a11c0899 100644 --- a/sound/soc/sh/rcar/gen.c +++ b/sound/soc/sh/rcar/gen.c | |||
@@ -184,7 +184,7 @@ static int rsnd_gen_regmap_init(struct rsnd_priv *priv, | |||
184 | #define RDMA_CMD_O_N(addr, i) (addr ##_reg - 0x004f8000 + (0x400 * i)) | 184 | #define RDMA_CMD_O_N(addr, i) (addr ##_reg - 0x004f8000 + (0x400 * i)) |
185 | #define RDMA_CMD_O_P(addr, i) (addr ##_reg - 0x001f8000 + (0x400 * i)) | 185 | #define RDMA_CMD_O_P(addr, i) (addr ##_reg - 0x001f8000 + (0x400 * i)) |
186 | 186 | ||
187 | void rsnd_gen_dma_addr(struct rsnd_priv *priv, | 187 | static void rsnd_gen2_dma_addr(struct rsnd_priv *priv, |
188 | struct rsnd_dma *dma, | 188 | struct rsnd_dma *dma, |
189 | struct dma_slave_config *cfg, | 189 | struct dma_slave_config *cfg, |
190 | int is_play, int slave_id) | 190 | int is_play, int slave_id) |
@@ -226,17 +226,6 @@ void rsnd_gen_dma_addr(struct rsnd_priv *priv, | |||
226 | } | 226 | } |
227 | }; | 227 | }; |
228 | 228 | ||
229 | cfg->slave_id = slave_id; | ||
230 | cfg->src_addr = 0; | ||
231 | cfg->dst_addr = 0; | ||
232 | cfg->direction = is_play ? DMA_MEM_TO_DEV : DMA_DEV_TO_MEM; | ||
233 | |||
234 | /* | ||
235 | * gen1 uses default DMA addr | ||
236 | */ | ||
237 | if (rsnd_is_gen1(priv)) | ||
238 | return; | ||
239 | |||
240 | /* it shouldn't happen */ | 229 | /* it shouldn't happen */ |
241 | if (use_dvc & !use_src) { | 230 | if (use_dvc & !use_src) { |
242 | dev_err(dev, "DVC is selected without SRC\n"); | 231 | dev_err(dev, "DVC is selected without SRC\n"); |
@@ -250,6 +239,26 @@ void rsnd_gen_dma_addr(struct rsnd_priv *priv, | |||
250 | id, cfg->src_addr, cfg->dst_addr); | 239 | id, cfg->src_addr, cfg->dst_addr); |
251 | } | 240 | } |
252 | 241 | ||
242 | void rsnd_gen_dma_addr(struct rsnd_priv *priv, | ||
243 | struct rsnd_dma *dma, | ||
244 | struct dma_slave_config *cfg, | ||
245 | int is_play, int slave_id) | ||
246 | { | ||
247 | cfg->slave_id = slave_id; | ||
248 | cfg->src_addr = 0; | ||
249 | cfg->dst_addr = 0; | ||
250 | cfg->direction = is_play ? DMA_MEM_TO_DEV : DMA_DEV_TO_MEM; | ||
251 | |||
252 | /* | ||
253 | * gen1 uses default DMA addr | ||
254 | */ | ||
255 | if (rsnd_is_gen1(priv)) | ||
256 | return; | ||
257 | |||
258 | rsnd_gen2_dma_addr(priv, dma, cfg, is_play, slave_id); | ||
259 | } | ||
260 | |||
261 | |||
253 | /* | 262 | /* |
254 | * Gen2 | 263 | * Gen2 |
255 | */ | 264 | */ |