RE: Specifying properly the PCI driver model on all linux archite

Bret Indrelee (bindrelee@sbs-cp.com)
Wed, 3 Nov 1999 14:56:21 -0600


Martin Mares [mailto:mj@ucw.cz] wrote:
> > 2) Using the contents of base_address[] as a target address
> for peer to
> > peer DMA on PCI?
>
> This is close to impossible. Consider the case of two
> devices on different
> PCI buses which are not visible from each other.

Correction: Linux can't do this.

Solaris is designed to be able to handle this, because it has an
intermediate nexus driver layer that can create the proper mapping.

You still have a few problems with things like making sure all posted writes
have completed. Since the transfers take a different path than CPU accesses,
I'm not sure of all the complications that can occur here. Seems that
reading from both devices should handle it assuming that the CPU is the root
of the device tree and you don't have a PPB built as a crossbar.

In any case, you are correct that peer-to-peer transfers between PCI devices
adds a LOT of complications.

-Bret

-------------------------------------------------------------
SBS Technologies, Connectivity Products
... solutions for real-time connectivity

Bret Indrelee, Engineer
SBS Technologies, Inc., Connectivity Products
1284 Corporate Center Drive, St. Paul MN 55121
Direct: (651) 905-4731
Main: (651) 905-4700 Fax: (651) 905-4701
E-mail: bindrelee@sbs-cp.com http://www.sbs.com
-------------------------------------------------------------

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/