Re: [PATCH] ALSA update [6/10] - 2002/07/20

Alan Cox (alan@lxorguk.ukuu.org.uk)
30 Sep 2002 13:54:11 +0100


On Mon, 2002-09-30 at 01:53, David S. Miller wrote:
> From: Jaroslav Kysela <perex@suse.cz>
> Date: Sun, 29 Sep 2002 22:34:51 +0200 (CEST)
>
> - if (hwdev == NULL || ((u32)hwdev->dma_mask != 0xffffffff))
> + if (hwdev == NULL || (u32)hwdev->dma_mask <= 0x00ffffff)
> gfp |= GFP_DMA;
>
> So alan, why is this really broken?
>
> EISA/ISA DMA is defined as using a hwdev of NULL or requiring
> <16MB address, he is preserving GFP_DMA in those cases.

Firstly the DMA mask on x86 can't be below 24bits, we don't support
allocation from a smaller zone. Secondly what about PCI for 25-31bits -
there we do need to force gfp_dma to have any chance of getting the
right pages

Giving the page allocator a mask argument does sound a lot nicer

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/