dmaengine: rcar-dmac: Disable channel 0 when using IOMMU
authorLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Tue, 27 Jan 2015 17:04:10 +0000 (19:04 +0200)
committerVinod Koul <vinod.koul@intel.com>
Mon, 16 Feb 2015 04:03:35 +0000 (09:33 +0530)
commitbe6893e1958035cbeff281b833777c5cd3fb36ad
tree093195bbad635531be5814a8d3403aef0d557865
parent3f46306127bb7d8a69078ff9ef8a5827677c2159
dmaengine: rcar-dmac: Disable channel 0 when using IOMMU

A still unconfirmed hardware bug prevents the IPMMU microTLB 0 to be
flushed correctly, resulting in memory corruption. DMAC 0 channel 0 is
connected to microTLB 0 on currently supported platforms, so we can't
use it with the IPMMU. As the IOMMU API operates at the device level we
can't disable it selectively, so ignore channel 0 for now if the device
is part of an IOMMU group.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
drivers/dma/sh/rcar-dmac.c