ARM: 2.6.3[45] PCI regression (IXP4xx and PXA?)

Krzysztof Halasa khc at pm.waw.pl
Mon Aug 16 19:29:49 EDT 2010


Hi,

FUJITA Tomonori <fujita.tomonori at lab.ntt.co.jp> writes:

> A long solution would be having two dma_mask for a device and a
> bus. We also need something to represent a DMA-capable range instead
> of the dma mask.
>
> --- a/arch/arm/mm/dma-mapping.c
> +++ b/arch/arm/mm/dma-mapping.c
> @@ -77,6 +77,11 @@ static struct page *__dma_alloc_buffer(struct device *dev, size_t size, gfp_t gf
>  	if (mask < 0xffffffffULL)
>  		gfp |= GFP_DMA;
>  
> +#ifdef CONFIG_DMABOUNCE
> +	if (dev->archdata.dmabounce)
> +		gfp |= GFP_DMA;
> +#endif
> +
>  	page = alloc_pages(gfp, order);
>  	if (!page)
>  		return NULL;

This patch fixes the problem on my IXP425.
-- 
Krzysztof Halasa



More information about the linux-arm-kernel mailing list