Hi Geert, Thank you for the patch. On Wednesday 09 July 2014 12:21:17 Geert Uytterhoeven wrote: > To function correctly in the presence of an IOMMU, the DMA buffers must be > mapped using the DMA channel's device instead of the MSIOF platform > device's device. Shouldn't you also update the dma_unmap_single() calls ? > Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> > > --- > drivers/spi/spi-sh-msiof.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/spi/spi-sh-msiof.c b/drivers/spi/spi-sh-msiof.c > index 9922ed3a4441..4f0f1cbc92ef 100644 > --- a/drivers/spi/spi-sh-msiof.c > +++ b/drivers/spi/spi-sh-msiof.c > @@ -1026,12 +1026,14 @@ static int sh_msiof_request_dma(struct > sh_msiof_spi_priv *p) if (!p->rx_dma_page) > goto free_tx_page; > > - p->tx_dma_addr = dma_map_single(dev, p->tx_dma_page, PAGE_SIZE, > + p->tx_dma_addr = dma_map_single(&master->dma_tx->dev->device, > + p->tx_dma_page, PAGE_SIZE, > DMA_TO_DEVICE); > if (dma_mapping_error(dev, p->tx_dma_addr)) > goto free_rx_page; > > - p->rx_dma_addr = dma_map_single(dev, p->rx_dma_page, PAGE_SIZE, > + p->rx_dma_addr = dma_map_single(&master->dma_rx->dev->device, > + p->rx_dma_page, PAGE_SIZE, > DMA_FROM_DEVICE); > if (dma_mapping_error(dev, p->rx_dma_addr)) > goto unmap_tx_page; -- Regards, Laurent Pinchart -- To unsubscribe from this list: send the line "unsubscribe linux-spi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html