Re: BUG in drivers/dma/ioat/dma_v2.c:314
From: Dan Williams
Date: Wed Jun 30 2010 - 15:40:33 EST
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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/