[alsa-devel] emu10k1 driver can't allocate memory
Takashi Iwai
tiwai at suse.de
Wed Jun 27 16:00:28 CEST 2012
At Wed, 27 Jun 2012 13:41:03 +0000 (UTC),
Thomas Richter wrote:
>
> T
> > > Hi, (please CC me on replies, not subscribed)
> > >
> > > I recently upgraded to 3.3.6 from 2.6.33.15 (yeah, I know). Since then
> > > I noticed sometimes sounds were sometimes missing, then I noticed
> > > thousands of these in dmesg,
> > > [37280.283484] max memory size is 0x7fffffff (addr = 0x1d5d70071038000)!!
> >
> > I guess you are enabling IOMMU? I guess it translates the address
> > somehow in a way emu10k1 doesn't like.
> > There are really little changes in emu10k1 driver itself, so if the
> > kernel upgrade changes the behavior, it must be in the core part such
> > like IOMMU handling.
> >
> > Try to boot without iommu and see whether it changes the behavior
> > again.
>
> This is *not* a IOMMU configuration issue. It is an issue of where the
> emu10k1 allows DMA, and what the kernel does about it. If you have more
> than 2GB of memory, and the system runs out of 16MB ISA space, you see
> exactly this happening.
>
> There is a kernel patch for this:
>
> https://bugs.launchpad.net/ubuntu/+source/awesfx/+bug/183456
Did you see the address value in the above original report? It's the
address returned from dma_alloc_coherent(). Certainly the same
problem won't happen on 2GB memory system without IOMMU. It's a
completely different thing.
Takashi
More information about the Alsa-devel
mailing list