Re: PCI DMA concepts ??

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


Date: 20 Oct 2004 03:38:58 -0700

Hi heeyong,
       could you please tell me , on the windowsNT for DMA buffer
allocation using HalAllocateCommonBuffer() to peroform Transmit and
Receive parallely, do I need to allocate seperate buffers one for
transmit and another for receive ? or with one dma buffer
HalAllocateCommonBuffer() will it be achieved i.e both Tx and Rx
parallely?

Thanks
chanemou

heeyong.park@samsung.com (Heeyong) wrote in message news:<2b4bc8ee.0410131658.5f6120e7@posting.google.com>...
> Hi there,
>
>
>
> I don't think normal PCI cards do the DMA instead of burst transfer.
>
> Please check out the PCI book for burst transfer.
> I recommend "PCI System Architecture" by mindShare, Inc.
>
>
> Good luck,
>
> Heeyong.
>
>
> saravanan_sprt@rediffmail.com (Chanemou) wrote in message news:<d09cbbf7.0410070554.2507f6d5@posting.google.com>...
> > 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

  • 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)
  • 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)
  • [PATCH] Remove trailing whitespace in wbsd
    ... static inline void wbsd_unlock_config(struct wbsd_host* host) ... static void wbsd_request_end(struct wbsd_host* host, ... The buffer for DMA is only 64 kB. ...
    (Linux-Kernel)
  • Re: [PATCH] Remove trailing whitespace in wbsd
    ... static inline void wbsd_unlock_config(struct wbsd_host* host) ... static void wbsd_request_end(struct wbsd_host* host, ... The buffer for DMA is only 64 kB. ...
    (Linux-Kernel)
  • Re: [PATCH] asm-generic: add dma-mapping-linear.h
    ... * performing DMA. ... * Free a DMA buffer previously allocated by ... +static inline dma_addr_t ...
    (Linux-Kernel)