Re: [PATCH/RFC 5/5] dmaengine: rcar-dmac: Widen DMA mask to 40 bits

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 <geert+renesas@xxxxxxxxx>
> >
> > 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



[Index of Archives]     [Linux Samsung SOC]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux