Using DMA controllers

> My PC is equipped with 2 DMA controllers (DMAC1, DMAC2)

They are based on Intel’s 8237
Is it possible to use those controllers for writing to a PCI card ?

No, 8237 predates PCI for 15 years and is ISA/LPC only.

For now, 8237 logic is a part of PCI-LPC bridge.


Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com

no.

On Tue, Aug 12, 2008 at 9:02 AM, Vered Zvi wrote:

> Hello,
>
> The KMDF DMA sample code uses external DMA controllers (e.g on PLX9050
> evaluation board)
> My PC is equipped with 2 DMA controllers (DMAC1, DMAC2)
> They are based on Intel’s 8237
> Is it possible to use those controllers for writing to a PCI card ?
> Can you send a sample code or a link ?
>
> Thanks.
>
>
> The information contained in this communication is proprietary to Israel
> Aerospace Industries Ltd., ELTA Systems Ltd.
> and/or third parties, may contain classified or privileged information, and
> is intended only for
> the use of the intended addressee thereof. If you are not the intended
> addressee, please be aware
> that any use, disclosure, distribution and/or copying of this communication
> is strictly prohibited.
> If you receive this communication in error, please notify the sender
> immediately and delete it from
> your computer. Thank you.
>
> This message is processed by the PrivaWall Email Security Server.
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>


Mark Roddy

Vered Zvi wrote:

The KMDF DMA sample code uses external DMA controllers (e.g on PLX9050
evaluation board)
My PC is equipped with 2 DMA controllers (DMAC1, DMAC2)
They are based on Intel’s 8237
Is it possible to use those controllers for writing to a PCI card ?

No.

Can you send a sample code or a link ?

It’s impossible. When we say “DMA” with a PCI device, we mean bus
mastered DMA driven by the device. The motherboard DMA controllers are
a relic of a past age and will not work correctly over a PCI bus.

Now, we’ll probably get the usual suspects chiming in to tell us that
it’s not strictly impossible, but they’re not living in the real world.
There is no practical way to use the motherboard DMA controllers for a
generic PCI device, and you should forget that they exist.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

> Is it possible to use those controllers for writing to a PCI card ?
> Can you send a sample code or a link ?

Please note that “possible”!= “reasonable” - using on-board DMA controller for dealing with PCI card just defeats the purpose of PCI, as well as common sense. Therefore, you are very unlikely to find the code sample that does the above, unless it happens to be the code that is meant to show how things should NOT be done…

Anton Bassov

On most if not all pc platforms with ‘system dma controllers’ there is no
wiring that allows the system dma controller to transfer data from system
memory to pci device memory. I suppose that would make this sort of transfer
improbable. Not possible works for me.

On Mon, Aug 18, 2008 at 9:05 PM, wrote:

> > Is it possible to use those controllers for writing to a PCI card ?
> > Can you send a sample code or a link ?
>
> Please note that “possible”!= “reasonable” - using on-board DMA controller
> for dealing with PCI card just defeats the purpose of PCI, as well as common
> sense. Therefore, you are very unlikely to find the code sample that does
> the above, unless it happens to be the code that is meant to show how things
> should NOT be done…
>
> Anton Bassov
>
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>


Mark Roddy

> On most if not all pc platforms with ‘system dma controllers’ there is no wiring that allows

the system dma controller to transfer data from system memory to pci device memory.

Apparently, you are right - I just “left a bit of room for retreat” in case if someone presents an example of the platform where it is theoretically possible (very unlikely, but you never know). In any case, even if it is possible, it is “not-so-practical”, so to say…

Anton Bassov