Can packets passed to an NDIS scatter-gather driver's SendPackets( ) routine be DMAed by a bus master NIC, or do you *have* to copy to memory allocated by NdisMAllocateSharedMemory ()

On a receive, it looks like you can send a packet up to the protocol without copying. I am looking for how this can be done in the transmit direction

If you can do this, how do you get the physical buffer address for the adapter to use, and make the memory suitable for DMA?

Re: How do you do copyless NDIS driver SendPackets routine for bus-master DMA by Calvin

Calvin
Mon May 03 22:24:22 CDT 2004


"Michael Allen" <anonymous@discussions.microsoft.com> wrote in message
news:3C83EEF6-A7FF-4348-9F02-991F2F73BA5C@microsoft.com...
> Can packets passed to an NDIS scatter-gather driver's SendPackets( )
routine be DMAed by a bus master NIC,

Sure if your NIC supports bus-master DMA.

> If you can do this, how do you get the physical buffer address for the
adapter to use, and make the memory suitable for DMA?

In NDIS5.x, you call NDIS_PER_PACKET_INFO_FROM_PACKET, supplying InfoType
with. ScatterGatherListPacketInfo

Calvin
-
Calvin Guan Software Engineer
ATI Technologies Inc. www.ati.com