lkml.org 
[lkml]   [2010]   [Jun]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: BUG in drivers/dma/ioat/dma_v2.c:314
On 6/30/2010 11:43 AM, Woodhouse, David wrote:
> On Wed, 2010-06-30 at 19:26 +0100, Chris Li wrote:
>>
>> The delta seems to be this line:
>> ioatdma 0000:00:0f.0: ioat2_set_chainaddr: chainaddr: ffffe000
>
> That's a reasonable address if the IOMMU is enabled. We start at 4GiB
> and work down, so that's the second page given out (or the first 8KiB
> chunk).
>
> It looks like the DMA is going AWOL causing the initialisation to
> fail... but it's interesting that there are no DMA faults reported by
> the IOMMU.
>

It seems the 5400 has a dedicated remapping engine just for the DMA
device [1], is Linux only setting up the iommus per root port (which the
DMA bypasses)??

From the dmesg:
> IOMMU 0: reg_base_addr fe710000 ver 1:0 cap 900000c2f0462 ecap e01
> DMAR: DRHD base: 0x000000fe714000 flags: 0x0
> IOMMU 1: reg_base_addr fe714000 ver 1:0 cap 900000c2f0462 ecap e01
> DMAR: DRHD base: 0x000000fe719000 flags: 0x0
> IOMMU 2: reg_base_addr fe719000 ver 1:0 cap 900000c2f0462 ecap e01
> DMAR: DRHD base: 0x000000fe718000 flags: 0x1
> IOMMU 3: reg_base_addr fe718000 ver 1:0 cap 900000c2f0462 ecap e01

Where we expect bit 54 to be set for the DMA iommu, and it does not
appear to show up.

--
Dan

[1]: http://www.intel.com/Assets/PDF/datasheet/318610.pdf (Section
3.11.2 page 256)


\
 
 \ /
  Last update: 2010-06-30 21:43    [W:0.272 / U:0.424 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site