PCI DMA concepts ??

From: Chanemou (saravanan_sprt_at_rediffmail.com)
Date: 10/07/04


Date: 7 Oct 2004 06:54:16 -0700

Hi everybody.

        I am having some doubts with a driver for a PCI card.I learned
how to read/write configuration and map memory to kernel space but
confused in using how to do dma read & write.

 1. The pci card has built in PCI & DMA controller.
    DMA controller registers (READ and WRITE registers) can be
programmed by specifying (PCI_ADDRESS, LOCAL_SDRAM_ADDRESS,
SIZE).(These registers are memory mapped via BAR3 and can be
programmed by host system or by the Local card.)

2. on the host side I have done DMA alloc (say for 5MB )using
HalAllocateCommonBuffer() and also created dummy ISR to perform
Receive from the pci card.

3. for Transmitting data to the pci card , I think that I can program
the DMA registers that are memory mapped into host side. so that the
DMA controller does the Transfer. and generate interrupt ot host upon
completion. Is this a correct way?

4. for Receiving from the Pci card, the card generate interrupt to the
host after DMA transfer from pci to host memory by programming the DMA
registers from the loca side.

        cld u explain for dma read and write sequence so that it wld
be helpful for me in step a head.

5. I created a large DMA bufffer for DMA Xfer. how Read and Write use
this buffer. or I have to allocate DMA buffer for Tx and Rx on the
host side.

6. ReadFile and WriteFile API are meant for DMA or what? if so how
this is performed? then whats the use of DMA controller registers on
the pci card.?

      these are my few questions which really confuses me.cld u pls
answer these questions so that it wld be helpful in proceeding
furthur.
    
thanks

chanemou



Relevant Pages

  • [Q] I have a DMA question.
    ... I want to DMA copy data from Host computer's memory to ... IXP1200 DMA unit can initiate DMA operation. ... So I want to use host computer's DMA mechanism ...
    (Linux-Kernel)
  • 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 card transfer with DMA/ busmastering
    ... I have a custom PCI card that I intend on using as a coprocessor to ... 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 ... DoMatrixMultiplication(buffer A, buffer B, buffer C), where buffer C ...
    (microsoft.public.development.device.drivers)
  • 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)