summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRussell King - ARM Linux2011-01-03 23:36:50 +0100
committerDan Williams2011-01-05 04:16:11 +0100
commit4c0df6a3ce8eb947647c7ed2640d0172936d8ef3 (patch)
tree4763f62c3f64754864cc8afd70a8792b9ef24008
parentARM: PL08x: ensure loops use cpu_relax() (diff)
downloadkernel-qcow2-linux-4c0df6a3ce8eb947647c7ed2640d0172936d8ef3.tar.gz
kernel-qcow2-linux-4c0df6a3ce8eb947647c7ed2640d0172936d8ef3.tar.xz
kernel-qcow2-linux-4c0df6a3ce8eb947647c7ed2640d0172936d8ef3.zip
ARM: PL08x: don't assume that the LLI pointer has the bus bit clear
We only want use the address of the LLI pointer when locating the corresponding structure in memory, so clear the master bus selection bit. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Acked-by: Linus Walleij <linus.walleij@stericsson.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
-rw-r--r--drivers/dma/amba-pl08x.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/dma/amba-pl08x.c b/drivers/dma/amba-pl08x.c
index 78c84b3f903d..1081165d01a3 100644
--- a/drivers/dma/amba-pl08x.c
+++ b/drivers/dma/amba-pl08x.c
@@ -356,7 +356,7 @@ static u32 pl08x_getbytes_chan(struct pl08x_dma_chan *plchan)
if (ch && txd) {
struct pl08x_lli *llis_va = txd->llis_va;
struct pl08x_lli *llis_bus = (struct pl08x_lli *) txd->llis_bus;
- u32 clli = readl(ch->base + PL080_CH_LLI);
+ u32 clli = readl(ch->base + PL080_CH_LLI) & ~PL080_LLI_LM_AHB2;
/* First get the bytes in the current active LLI */
bytes = get_bytes_in_cctl(readl(ch->base + PL080_CH_CONTROL));