lkml.org 
[lkml]   [2010]   [Apr]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: USB transfer_buffer allocations on 64bit systems
[Removed alsa-devel from the CC: list because this doesn't involve ALSA 
any more]

On Wed, 14 Apr 2010, Daniel Mack wrote:

> No worries - I agree. But unfortunately, I'm out of ideas now, and my
> initial thoughts about what might cause the trouble were abviously not
> able to explain the issue. Does anyone see further steps of tracking
> this issue down?

Since using mem=4096M or GFP_DMA stopped the symptoms, it seems very
likely that a buffer is getting allocated above the 4 GB line and not
bounced or IOMMU-mapped correctly.

David, do you have anything to suggest? Any ways to check for IOMMU or
related errors?

The problem, in short, is that USB audio doesn't work properly when
Pedro boots a 64-bit kernel on his 4-GB machine. With a 32-bit kernel
it works okay, and it also works if we use dma_alloc_coherent(). The
host controller is limited to 32-bit DMA, and the DMA addresses
generated by dma_map_single() appear to be normal.

At the moment we don't even know if this is caused by a bug in the
kernel or a bug in Pedro's hardware. But he has observed the same
problem on two different machines, both using the ICH9 chipset.

Alan Stern



\
 
 \ /
  Last update: 2010-04-14 20:19    [from the cache]
©2003-2011 Jasper Spaans