Andi Kleen wrote:
With iommu=force or CONFIG_IOMMU_DEBUG all IO is foced
through the IOMMU.
okay, that's definitely bad...
Hmm - if you want to hack the kernel you could add udelay()s
to the no IOMMU paths in arch/x86_64/kernel/pci-gart.c
and see if that cures the problem too. If yes then the timing
theory would be proved.
Actually the IOMMU code does more than just delaying, it also
does config space accesses which might flush or synchronize
things in the PCI bridges. Perhaps adding some dummy access
for that would be good too.
okay, i'll start to take a look at this, but it'll probably be a little
while before i can really get to it. i'll let you know what i find out.
The dmesg looks similar to the previous one from the IOMMU
it actually looks like it's configure correctly now (at least from
agp-gart messages), before we were getting errors. i guess the bios guys
finally got it right ;-)