aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorViresh Kumar <viresh.kumar@st.com>2011-08-05 06:02:34 -0400
committerVinod Koul <vinod.koul@intel.com>2011-08-25 10:03:38 -0400
commit48a59ef3579492855d41405f8bf0a2983e061976 (patch)
tree71f73aef26d74054dee11dcbeebdcd7a0ced57d7 /drivers
parentb7b6018bad6fd7ebe5a78bda5f2a71a6ecf5406a (diff)
dmaengine/amba-pl08x: Simplify pl08x_ensure_on()
Simply writing 1 on bit 0 is sufficient instead of reading and clearing bits. Also as per manual, for bit 3-31 of DMACConfiguration register: "read undefined, write as 0" So, we must not rely on values read from this registers bit 3-31. Signed-off-by: Viresh Kumar <viresh.kumar@st.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/dma/amba-pl08x.c8
1 files changed, 1 insertions, 7 deletions
diff --git a/drivers/dma/amba-pl08x.c b/drivers/dma/amba-pl08x.c
index 5dd97f450925..d79688d64886 100644
--- a/drivers/dma/amba-pl08x.c
+++ b/drivers/dma/amba-pl08x.c
@@ -1502,13 +1502,7 @@ bool pl08x_filter_id(struct dma_chan *chan, void *chan_id)
1502 */ 1502 */
1503static void pl08x_ensure_on(struct pl08x_driver_data *pl08x) 1503static void pl08x_ensure_on(struct pl08x_driver_data *pl08x)
1504{ 1504{
1505 u32 val; 1505 writel(PL080_CONFIG_ENABLE, pl08x->base + PL080_CONFIG);
1506
1507 val = readl(pl08x->base + PL080_CONFIG);
1508 val &= ~(PL080_CONFIG_M2_BE | PL080_CONFIG_M1_BE | PL080_CONFIG_ENABLE);
1509 /* We implicitly clear bit 1 and that means little-endian mode */
1510 val |= PL080_CONFIG_ENABLE;
1511 writel(val, pl08x->base + PL080_CONFIG);
1512} 1506}
1513 1507
1514static void pl08x_unmap_buffers(struct pl08x_txd *txd) 1508static void pl08x_unmap_buffers(struct pl08x_txd *txd)