public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Mark Hounschell <markh@compro.net>
To: "Richard B. Johnson" <RJohnson@Route495Software.com>
Cc: linux-pci@vger.kernel.org, Mark Hounschell <dmarkh@cfl.rr.com>,
	linux-kernel@vger.kernel.org
Subject: Re: problems doing direct dma from a pci device to pci-e device
Date: Fri, 11 Sep 2009 10:50:12 -0400	[thread overview]
Message-ID: <4AAA63A4.6080900@compro.net> (raw)
In-Reply-To: <433DD7EA0883478C9A18E5443FD1B328@Route495PC>

Richard B. Johnson wrote:
> ----- Original Message ----- From: "Mark Hounschell" <markh@compro.net>
> To: <linux-pci@vger.kernel.org>
> Cc: "Mark Hounschell" <dmarkh@cfl.rr.com>; <linux-kernel@vger.kernel.org>
> Sent: Friday, September 11, 2009 10:13 AM
> Subject: problems doing direct dma from a pci device to pci-e device
> 
> 
>> I know this is really just a pci issue but have CC'd LKML just in
>> case. Sorry LKML for the noise.
>>
>> I have a situation where a card on a regular PCI bus (Compro gpiohsd)
>> does dma's
>> directly into another PCI cards memory (VMIC-5565 reflective memory)
>> living on
>> another PCI bus. These 2 cards are sometimes seperated by many bridges.
>> Expansion racks etc. We've been doing this forever. No problem (mostly).
>>
>> 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.
>>
> 
> [SNIPPED...]
> 
> Please check your software to make sure that after the DMA has presumed
> to complete, you READ something from the destination PCI bus address!
> With so many PCI writes queued, they may all be stuck in the many
> hardware FIFOs and the sure way to complete the writes is to perform a
> read.
> Cheers,
> Richard B. Johnson
> http://Route495Software.com/
> 
> 
> 
> 
> 

Thanks, that's actually how I know the data never gets to it's destination. I read it. 
The data gets lost somewhere.

Regards
Mark

  reply	other threads:[~2009-09-11 14:50 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-09-11 14:13 problems doing direct dma from a pci device to pci-e device Mark Hounschell
2009-09-11 14:41 ` Richard B. Johnson
2009-09-11 14:50   ` Mark Hounschell [this message]
2009-09-11 14:47 ` Alan Cox
2009-09-11 15:25   ` Mark Hounschell
2009-09-11 15:46     ` Richard B. Johnson
2009-09-11 19:42       ` Mark Hounschell
2009-09-11 20:04     ` Mark Hounschell
2009-09-14  5:36       ` Grant Grundler
2009-09-14  8:03         ` Mark Hounschell
2009-09-15 11:23   ` Mark Hounschell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4AAA63A4.6080900@compro.net \
    --to=markh@compro.net \
    --cc=RJohnson@Route495Software.com \
    --cc=dmarkh@cfl.rr.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox