Hi Geert, Magnus

> >> By default, the DMA mask covers only the low 32-bit address space, which
> >> causes SWIOTLB on arm64 to fall back to a bounce buffer for DMA
> >> transfers involving memory outside the 32-bit address space.
> >>
> >> The R-Car DMA controller hardware supports a 40-bit address space, hence
> >> widen the DMA mask to 40 bits to actually make use of this feature.
> >>
> >> Signed-off-by: Geert Uytterhoeven <[email protected]>
> >
> > Any comments? Thanks!
> >
> >> ---
> >>  drivers/dma/sh/rcar-dmac.c | 1 +
> >>  1 file changed, 1 insertion(+)
> >>
> >> diff --git a/drivers/dma/sh/rcar-dmac.c b/drivers/dma/sh/rcar-dmac.c
> >> index 2e441d0ccd79a37a..93a69b992a51a7aa 100644
> >> --- a/drivers/dma/sh/rcar-dmac.c
> >> +++ b/drivers/dma/sh/rcar-dmac.c
> >> @@ -1716,6 +1716,7 @@ static int rcar_dmac_probe(struct platform_device 
> >> *pdev)
> >>
> >>         dmac->dev = &pdev->dev;
> >>         platform_set_drvdata(pdev, dmac);
> >> +       dma_set_mask_and_coherent(dmac->dev, DMA_BIT_MASK(40));
> 
> This makes sense to me since the hardware and the driver both can
> access more than 32-bits of physical address space.

Unfortunately, this patch breaks H3 IPMMU at least
on SCIF/MSOIF/Sound. It could start works if we reverted
this patch (= 3e58e24ad844a41389c849cfc581e3339299690e)
I'm using renesas-drivers-next-2016-12-13-v4.9

Best regards
---
Kuninori Morimoto

Reply via email to