S6
After the ownership of descriptor number 2 has
been changed by the controller, the next driver
poll of the second descriptor will show owner-
ship granted to the CPU. The driver now cop-
ies the data from buffer number 2 into the
middle section of the application buffer space.
This operation is interleaved with the C7 and
C8 operations.
S7
C9
S8
When the driver completes the copy of buffer
number 2 data to the application buffer space,
it begins polling descriptor number 3.
When the controller has finished all data DMA
operations, it writes status and changes own-
ership of descriptor number 3.
The driver sees that the ownership of descrip-
tor number 3 has changed, and it calls the ap-
plication to tell the application that a frame has
arrived.
C8
N2
The controller will perform data DMA to the last
buffer, whose pointer is pointing to application
space. Data entering the least buffer will not
need the infamous double copy that is required
by existing drivers, since it is being placed di-
rectly into the application buffer space.
S9
The application processes the received frame
and generates the next TX frame, placing it
into a TX buffer.
The message on the wire ends.
S10
The driver sets up the TX descriptor for the
controller.
Am79C978
B-3