Re: problems doing direct dma from a pci device to pci-e device

From: Richard B. Johnson
Date: Fri Sep 11 2009 - 12:00:02 EST


----- Original Message ----- From: "Mark Hounschell" <markh@xxxxxxxxxx>
To: "Alan Cox" <alan@xxxxxxxxxxxxxxxxxxx>
Cc: <linux-pci@xxxxxxxxxxxxxxx>; "Mark Hounschell" <dmarkh@xxxxxxxxxx>; <linux-kernel@xxxxxxxxxxxxxxx>
Sent: Friday, September 11, 2009 11:25 AM
Subject: Re: problems doing direct dma from a pci device to pci-e device


Alan Cox wrote:
I now have an AM3 based DFI DK 790FXB-M3H5 motherboard. This board has 3 regular
PCI slots and 3 PCI-E (16x) slots. I also have a PCI-E (x4) version of the VMIC-5565
reflective memory card in one of the PCI-E slots and our gpiohsd card in one of the regular
PCI slots. All on the motherboard. No expansion slots being used. However I cannot get
data from our gpiohsd into the PCI-E VMIC-5565 cards memory. I can certainly get the data there
from a userland buffer, no problem. Just not from one card to the other directly. Oh and when
I put the regular PCI version of the VMIC into one of the regular PCI slots everything works
as expected. They are then both on the same PCI bus and no bridges are involved though.

The read I mentioned was a read immediately following the DMA operation. Some PCI (PCI-X using
a HyperTransport serial bus) implimentations deliberately time-out to prevent a hung system. The result
that I've seen was no data anywhere. It just vanished!

Reading the destination a few milliseconds (or seconds) later won't prevent this timeout!

Cheers,
Richard B. Johnson
http://Route495Software.com/






--
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/