Device-to-Device transaction on PCI Bus.

Hi All!

I want to make transfer from one PCI device to another without
intervention of CPU or RAM. I read in a few article that this is possible,
bu I can’t find nowhere how implement this.

Can some help me.
Thank.


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

Hello,

It’s certainly possible in many cases. How difficult it is, and how wise it
is, however, depend on the details.

What are the details in this case, especially the following?

Is this part of a general-purpose solution, or a system-specific (perhaps
embedded) solution?
Are the devices the same are different?
Do you control the drivers for both devices?
Does one device have a DMA engine and the other a memory-mapped region?

-Tim

Timothy A. Johns — xxxxx@driverdev.com
Driver Development Corporation — 800.841.0092
Bring Up Your Hardware — Fast. www.driverdev.com

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of
xxxxx@atia.com
Sent: Thursday, August 16, 2001 11:01 AM
To: NT Developers Interest List
Subject: [ntdev] Device-to-Device transaction on PCI Bus.

Hi All!

I want to make transfer from one PCI device to another without
intervention of CPU or RAM. I read in a few article that this is possible,
bu I can’t find nowhere how implement this.

Can some help me.
Thank.


You are currently subscribed to ntdev as: xxxxx@driverdev.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

> I want to make transfer from one PCI device to another without

intervention of CPU or RAM. I read in a few article that this is possible,
bu I can’t find nowhere how implement this.

Try:

  • mapping the destination device memory via MmMapIoSpace.
  • building a MDL on these addresses.
  • pass this MDL to the HAL’s DMA functions
  • program the source (master) device’s registers from HAL’s callback
    (adapter control or get scatter gather list).

Maybe this will work.

Max


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com