System DMA

Hi,
I am developing a WDM driver for a PCI device. This device is a memory
mapped device(buffer in device is completely memory mapped i.e. not a FIFO) and it does not have his own DMA.
I guess, I have to use system DMA for data transfer. After data
transfer, I think ,I should expect an interrupt from the DMA controller.
My device has a lot of other interrupts that comes to my driver for
other reasons. How do I distinguish DMA interrupt from other
interrupts(i.e. shall I get the information that, DMA controller has
generated the interrupt looking at some system register?) ?
Finally, my device is a streaming device.Is DMA operation recommended for
this device?( I have to wait for an indefinite amount of time for
DPC to be processed).

Regards,
Champak

Get Your Private, Free E-mail from Indiatimes at http://email.indiatimes.com
Buy Music, Video, CD-ROM, Audio-Books and Music Accessories from http://www.planetm.co.in


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

No, you may not ever use the legacy ISA system dma controller for anything
other than legacy ISA system dma.

To transfer data to/from your PCI device you use
(READ|WRITE)REGISTER_BUFFER(ULONG|USHORT|UCHAR) functions provided by the
HAL.

-----Original Message-----
From: girish_gurunathan [mailto:xxxxx@indiatimes.com]
Sent: Friday, January 11, 2002 9:14 AM
To: NT Developers Interest List
Subject: [ntdev] System DMA

Hi,
I am developing a WDM driver for a PCI device. This device is a memory
mapped device(buffer in device is completely memory mapped i.e. not a FIFO)
and it does not have his own DMA.
I guess, I have to use system DMA for data transfer. After data
transfer, I think ,I should expect an interrupt from the DMA controller.
My device has a lot of other interrupts that comes to my driver for
other reasons. How do I distinguish DMA interrupt from other
interrupts(i.e. shall I get the information that, DMA controller has
generated the interrupt looking at some system register?) ?
Finally, my device is a streaming device.Is DMA operation recommended for
this device?( I have to wait for an indefinite amount of time for
DPC to be processed).
Regards,
Champak

Get Your Private, Free E-mail from Indiatimes at http://email.indiatimes.com
Buy Music, Video, CD-ROM, Audio-Books and Music Accessories from
http://www.planetm.co.in — You are currently subscribed to ntdev as:
xxxxx@stratus.com To unsubscribe send a blank email to
leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

>I am developing a WDM driver for a PCI device. This device is a memory

mapped device(buffer in device is completely memory mapped i.e. not a FIFO) and it does
not have his own DMA.

Then use PIO - WRITE_REGISTER_xxx to the device memory, executed by CPU.
If the memory is PCI prefetchable memory (like video framebuffer) - you can use it by pointer dereferencing.

I guess, I have to use system DMA for data transfer. After data

No. System DMA is ISA only. No ways of running it on PCI.

Max


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com