[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4C2B9DAC.1030806@intel.com>
Date: Wed, 30 Jun 2010 12:40:28 -0700
From: Dan Williams <dan.j.williams@...el.com>
To: "Woodhouse, David" <david.woodhouse@...el.com>
CC: Chris Li <lkml@...isli.org>,
linux-kernel <linux-kernel@...r.kernel.org>
Subject: Re: 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)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists