[PATCH 5/8] dmaengine: ste_dma40: Ensure src and dst registers are configured correctly
Lee Jones
lee.jones at linaro.org
Tue Apr 9 14:39:40 EDT 2013
Confusingly d40_log_cfg() is used to set up the logical channel
configuration registers, but d40_phy_cfg() is used to configure
physical _and_ logical registers, so it should be called in both
cases. It is the function call's final attribute which determines
whether it's a physical or logical channel, not whether the
function is called or not.
Signed-off-by: Lee Jones <lee.jones at linaro.org>
---
drivers/dma/ste_dma40.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/dma/ste_dma40.c b/drivers/dma/ste_dma40.c
index 9e423ad..49d8c9d 100644
--- a/drivers/dma/ste_dma40.c
+++ b/drivers/dma/ste_dma40.c
@@ -2810,9 +2810,9 @@ static int d40_set_runtime_config(struct dma_chan *chan,
/* Fill in register values */
if (chan_is_logical(d40c))
d40_log_cfg(cfg, &d40c->log_def.lcsp1, &d40c->log_def.lcsp3);
- else
- d40_phy_cfg(cfg, &d40c->src_def_cfg,
- &d40c->dst_def_cfg, false);
+
+ d40_phy_cfg(cfg, &d40c->src_def_cfg, &d40c->dst_def_cfg,
+ chan_is_logical(d40c));
/* These settings will take precedence later */
d40c->runtime_addr = config_addr;
--
1.7.10.4
More information about the linux-arm-kernel
mailing list