浏览代码

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>
Russell King - ARM Linux 14 年之前
父节点
当前提交
4c0df6a3ce
共有 1 个文件被更改,包括 1 次插入1 次删除
  1. 1 1
      drivers/dma/amba-pl08x.c

+ 1 - 1
drivers/dma/amba-pl08x.c

@@ -356,7 +356,7 @@ static u32 pl08x_getbytes_chan(struct pl08x_dma_chan *plchan)
 	if (ch && txd) {
 	if (ch && txd) {
 		struct pl08x_lli *llis_va = txd->llis_va;
 		struct pl08x_lli *llis_va = txd->llis_va;
 		struct pl08x_lli *llis_bus = (struct pl08x_lli *) txd->llis_bus;
 		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 */
 		/* First get the bytes in the current active LLI */
 		bytes = get_bytes_in_cctl(readl(ch->base + PL080_CH_CONTROL));
 		bytes = get_bytes_in_cctl(readl(ch->base + PL080_CH_CONTROL));