Re: [PATCH] [1/4] x86_64: Fail dma_alloc_coherent on dma less devices
- From: Takashi Iwai <tiwai@xxxxxxx>
- Date: Mon, 20 Aug 2007 11:46:54 +0200
At Sat, 18 Aug 2007 21:03:25 +0200,
Andi Kleen wrote:
Considering that the oops comes from this:
/* Kludge to make it bug-to-bug compatible with i386. i386
uses the normal dma_mask for alloc_coherent. */
dma_mask &= *dev->dma_mask;
and that that code is *old*, and comes from when this file was called
arch/x86_64/kernel/pci-gart.c, and the comment doesn't seem to even be
It might be outdated or it might now. The kludge was needed for Alsa because old
i386 ignored the consistent mask and they didn't always set it correctly, but that
should be obsolete now? I'm not quite sure because sound devices
are not always well tested on large memory systems which are the only
ones who show this problem. Takashi, do you know if all alsa drivers
set consistent mask correctly now?
Yes, ALSA driver set both masks from the very beginning :)
There are some OSS drivers still calling only pci_set_dma_mask().
Through a quick look, maybe only trident.c needs a fix because it uses
a mask < 32bit for ALI devices. Others use 32bit DMA mask.
Takashi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
- References:
- [PATCH] [0/4] More late merge bug fixes for 2.6.23
- From: Andi Kleen
- [PATCH] [1/4] x86_64: Fail dma_alloc_coherent on dma less devices
- From: Andi Kleen
- Re: [PATCH] [1/4] x86_64: Fail dma_alloc_coherent on dma less devices
- From: Linus Torvalds
- Re: [PATCH] [1/4] x86_64: Fail dma_alloc_coherent on dma less devices
- From: Andi Kleen
- [PATCH] [0/4] More late merge bug fixes for 2.6.23
- Prev by Date: Re: [ofa-general] Re: [PATCH RFC] RDMA/CMA: Allocate PS_TCPportsfrom the host TCP port space.
- Next by Date: Re: legacy platform drivers and hotplugging
- Previous by thread: Re: [PATCH] [1/4] x86_64: Fail dma_alloc_coherent on dma less devices
- Next by thread: [PATCH] [2/4] x86_64: Fix to keep watchdog disabled by default for i386/x86_64
- Index(es):