RE: DMA + network adapter Problem

From: Leech, Christopher
Date: Thu Mar 25 2004 - 22:23:48 EST


> I'm doing a strange thing and attempting to insert a new buffer
> into the receive ring of a network adapter. I believe that my problem
> comes in the form of incorrectly setting up DMA. I have looked at the
> documentation on DMA transfers and have found nothing wrong with what
> I'm doing.
>
> What happens? Once the network adapter gets around to
> dropping a packet
> into my buffer, the DMA transfer acts like it works, except
> that buffer
> has not been altered in any way. I actually check the buffer in the
> device driver interrupt code (as soon as the transfer is
> supposed to be
> complete).

My guess is that your modifications to the descriptor are never seen
by the PRO/1000 device. Descriptors are fetched in blocks when
possible and cached, and there is no way to invalidate a descriptor
that has been handed over to hardware "ownership" by the write to RDT.

I don't think there is a safe way to mess with descriptors or buffers
after the write to RDT short of a global reset of the device.

-- Chris
-
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html