summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNarayanan <narayanan.gopalakrishnan@stericsson.com>2011-09-13 17:00:22 +0530
committerRabin VINCENT <rabin.vincent@stericsson.com>2011-09-26 06:44:10 +0200
commit4d1a9b1dbefcbe021d06c0a9865b2bdebfee084a (patch)
treeef43fa79e0724fa92b0c702b83f33dedbb3c96f4
parent27c954661ba573053968c1c899a623ce786cf1c4 (diff)
dma40: Resetting priority bit for logical channels
This patch will set the SSCFG/SDCFG bit[7] PRI only for physical channel requests with high priority. For logical channels, this bit will be zero. ST-Ericsson ID: 361435 ST-Ericsson FOSS-OUT ID: Trivial ST-Ericsson Linux next: NA Change-Id: I1afb5c039387f9f9295c73e9dee92dc87bb15aeb Signed-off-by: Narayanan G <narayanan.gopalakrishnan@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/30839 Reviewed-by: Rabin VINCENT <rabin.vincent@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/31929
-rw-r--r--drivers/dma/ste_dma40_ll.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/dma/ste_dma40_ll.c b/drivers/dma/ste_dma40_ll.c
index f284f9e88c8..94177e2c4e8 100644
--- a/drivers/dma/ste_dma40_ll.c
+++ b/drivers/dma/ste_dma40_ll.c
@@ -108,16 +108,18 @@ void d40_phy_cfg(struct stedma40_chan_cfg *cfg,
src |= cfg->src_info.data_width << D40_SREG_CFG_ESIZE_POS;
dst |= cfg->dst_info.data_width << D40_SREG_CFG_ESIZE_POS;
+ /* Set the priority bit to high for the physical channel */
+ if (cfg->high_priority) {
+ src |= 1 << D40_SREG_CFG_PRI_POS;
+ dst |= 1 << D40_SREG_CFG_PRI_POS;
+ }
+
} else {
/* Logical channel */
dst |= 1 << D40_SREG_CFG_LOG_GIM_POS;
src |= 1 << D40_SREG_CFG_LOG_GIM_POS;
}
- if (cfg->high_priority) {
- src |= 1 << D40_SREG_CFG_PRI_POS;
- dst |= 1 << D40_SREG_CFG_PRI_POS;
- }
if (cfg->src_info.big_endian)
src |= 1 << D40_SREG_CFG_LBE_POS;