aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/dma
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/dma')
-rw-r--r--drivers/dma/ioatdma.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/dma/ioatdma.c b/drivers/dma/ioatdma.c
index 275707097bf1..b3fca1200a73 100644
--- a/drivers/dma/ioatdma.c
+++ b/drivers/dma/ioatdma.c
@@ -608,13 +608,11 @@ static void ioat_start_null_desc(struct ioat_dma_chan *ioat_chan)
608 list_add_tail(&desc->node, &ioat_chan->used_desc); 608 list_add_tail(&desc->node, &ioat_chan->used_desc);
609 spin_unlock_bh(&ioat_chan->desc_lock); 609 spin_unlock_bh(&ioat_chan->desc_lock);
610 610
611#if (BITS_PER_LONG == 64) 611 writel(((u64) desc->phys) & 0x00000000FFFFFFFF,
612 writeq(desc->phys, ioat_chan->reg_base + IOAT_CHAINADDR_OFFSET);
613#else
614 writel((u32) desc->phys,
615 ioat_chan->reg_base + IOAT_CHAINADDR_OFFSET_LOW); 612 ioat_chan->reg_base + IOAT_CHAINADDR_OFFSET_LOW);
616 writel(0, ioat_chan->reg_base + IOAT_CHAINADDR_OFFSET_HIGH); 613 writel(((u64) desc->phys) >> 32,
617#endif 614 ioat_chan->reg_base + IOAT_CHAINADDR_OFFSET_HIGH);
615
618 writeb(IOAT_CHANCMD_START, ioat_chan->reg_base + IOAT_CHANCMD_OFFSET); 616 writeb(IOAT_CHANCMD_START, ioat_chan->reg_base + IOAT_CHANCMD_OFFSET);
619} 617}
620 618