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

From: Mark Hounschell
Date: Fri Sep 11 2009 - 15:42:21 EST


Richard B. Johnson wrote:
> ----- 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!
>

How about a couple hundred usecs? Along that line, I can make it do dma reads
from that VMIC card also. All I get is ones. It's strange that in this case, my gpiohsd
isn't reporting any kind of pci bus error in it's status register.

Thanks
Mark


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