Re: sync/async NdisTransferData()
- From: "Peter" <Peter@xxxxxxxxxxxxxxxxxxxxxxxxx>
- Date: Sun, 18 Jun 2006 04:03:34 GMT
Let's assume that NdisTransferData() call has begun.
This NdisTransferData() returns NDIS_STATUS_PENDING
and NIC driver is doing some work and is going to call
ProtocolTransferDataComplete().
question:
In this moment,
is possible that next received packet is indicated to ProtocolReceive() by
NIC driver
before previous packet ProtocolTransferDataComplete() ?
(between returning NdisTRansferData() and calling
ProtocolNdisTransferDataComplete() )
Thanks !
Peter
"Stephan Wolf [MVP]" wrote:
On Thu, 7 Apr 2005 17:09:05 +0400, "Maxim S. Shatskih".
<maxim@xxxxxxxxxxxxxxxx> wrote:
DMA NIC drivers usually use the packet-based indication path, and thus no
TransferData at all.
"Usually", yes. But I have written NDIS miniport drivers for NICs that
do use DMA and still need to do their DMA transfers asynchronously.
True for all slave DMA devices by design (ISA/EISA), but also for some
DMA busmaster devices where each DMA transfer needs to be explicitly
initiated by software (at the time the data is already available in
some internal FIFO).
This is in contrast to most (if not all) modern NICs, which are DMA
busmasters (PCI). These devices use DMA descriptor lists and buffers
that the software passes to them in advance. So the NIC can decide
when to initiate a DMA transfer for a received packet.
Stephan
- Follow-Ups:
- Re: sync/async NdisTransferData()
- From: Stephan Wolf [MVP]
- Re: sync/async NdisTransferData()
- References:
- Re: sync/async NdisTransferData()
- From: Stephan Wolf [MVP]
- Re: sync/async NdisTransferData()
- From: Peter
- Re: sync/async NdisTransferData()
- From: Stephan Wolf [MVP]
- Re: sync/async NdisTransferData()
- From: Maxim S. Shatskih
- Re: sync/async NdisTransferData()
- From: Stephan Wolf [MVP]
- Re: sync/async NdisTransferData()
- Prev by Date: Re: 25 microseconds?
- Next by Date: RE: sync/async NdisTransferData()
- Previous by thread: Re: sync/async NdisTransferData()
- Next by thread: Re: sync/async NdisTransferData()
- Index(es):
Relevant Pages
|