Re: [PATCH 2/3] powerpc/dma: Support 32-bit coherent mask with 64-bit dma_mask

2015-02-24 Thread Scott Wood
On Wed, 2015-02-25 at 07:40 +1100, Benjamin Herrenschmidt wrote: > On Tue, 2015-02-24 at 14:34 -0600, Scott Wood wrote: > > On Fri, 2015-02-20 at 19:35 +1100, Benjamin Herrenschmidt wrote: > > > static u64 dma_direct_get_required_mask(struct device *dev) > > > diff --git a/arch/powerpc/mm/mem.c b/

Re: [PATCH 2/3] powerpc/dma: Support 32-bit coherent mask with 64-bit dma_mask

2015-02-24 Thread Scott Wood
On Fri, 2015-02-20 at 19:35 +1100, Benjamin Herrenschmidt wrote: > @@ -149,14 +141,13 @@ static void dma_direct_unmap_sg(struct device *dev, > struct scatterlist *sg, > > static int dma_direct_dma_supported(struct device *dev, u64 mask) > { > -#ifdef CONFIG_PPC64 > - /* Could be improved s

Re: [PATCH 2/3] powerpc/dma: Support 32-bit coherent mask with 64-bit dma_mask

2015-02-24 Thread Benjamin Herrenschmidt
On Tue, 2015-02-24 at 14:34 -0600, Scott Wood wrote: > On Fri, 2015-02-20 at 19:35 +1100, Benjamin Herrenschmidt wrote: > > @@ -149,14 +141,13 @@ static void dma_direct_unmap_sg(struct device *dev, > > struct scatterlist *sg, > > > > static int dma_direct_dma_supported(struct device *dev, u64 m

[PATCH 2/3] powerpc/dma: Support 32-bit coherent mask with 64-bit dma_mask

2015-02-20 Thread Benjamin Herrenschmidt
Some drivers try to use a 64-bit dma_mask and a smaller (32-bit typically) coherent dma mask. We don't currently support that on platforms that do direct DMA because: - We use the generic dma_set_coherent_mask() - It will use dma_supported() with the provided mask - Our imlpementation of the