ARM: 2.6.3[45] PCI regression (IXP4xx and PXA?)
FUJITA Tomonori
fujita.tomonori at lab.ntt.co.jp
Thu Aug 19 04:51:51 EDT 2010
On Tue, 17 Aug 2010 01:29:49 +0200
Krzysztof Halasa <khc at pm.waw.pl> wrote:
> 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.
Thanks a lot!
I'll re-send the patch in the proper format. Can you send it to
mainline for 2.6.36?
I'll work on the proper solution for this issue for 2.6.37.
More information about the linux-arm-kernel
mailing list