PCI card transfer with DMA/ busmastering



Hiya,

I have a custom PCI card that I intend on using as a coprocessor to
perform large scale matrix operations on.

As a result I wish to transfer large amounts of data to the PCI device.
Now this is where my basic questions start.

I've read a lot regarding DMA transfer, I assume this is the way to go.
When I create my driver for my PCI card does the DMA stuff need to go
here? or do I effectivly need another driver to handle DMA and
busmastering??

my basic goal is this -

1)load data via CPU and "preprocess"
2) I might have functions like this in my application
DoMatrixMultiplication(buffer A, buffer B, buffer C), where buffer C
returns the result and buffer A and B are the information required
input.

I assume that it would be best to have DoMatrixMultiplication in some
kind of DLL, would this DLL need handle all my DMA stuff or is there a
means of doing this without writing it myself??

I know this is a really general question, and the reason for that is
because I'm slightly unsure at the moment of the best way to go about
achieving this, I do have a driver of sorts for the custom PCI card and
this does work, its just how I go about transfering large buffers to
and from it and where this code needs to go.

Thanks in advance

David

.



Relevant Pages

  • Re: PCI DMA concepts ??
    ... > I don't think normal PCI cards do the DMA instead of burst transfer. ... >> Receive from the pci card. ... >> the DMA registers that are memory mapped into host side. ... >> this buffer. ...
    (microsoft.public.development.device.drivers)
  • PCI DMA concepts ??
    ... The pci card has built in PCI & DMA controller. ... SIZE).(These registers are memory mapped via BAR3 and can be ... the DMA registers that are memory mapped into host side. ...
    (microsoft.public.development.device.drivers)
  • Re: Floating Point Exception
    ... It communicates with the PCI card correctly and the PCI card displays / ... I was wandering if some sort of buffer exists for the PCI bus. ... maybe the buffer is receiving data faster than it's sending data. ...
    (comp.os.linux.development.system)
  • How to deal with this kind of dma problem.
    ... I have a PCI Card use PLX9656 as a bridge. ... The PCI Card has a DSP ... want to use DMA to finish the job.After I complete the codes, ... //open DMA Channel x Done Interrupt,DMA Channel 0 Clear Count Mode ...
    (comp.arch.embedded)
  • SiI3112 DMA? (2.6.0-test6)
    ... SATA PCI card in one of its PCI slots. ... Is DMA supported on the Si3112? ... SiI3112 Serial ATA: IDE controller at PCI slot 0000:00:0b.0 ...
    (Linux-Kernel)